Netezza introduced the first data warehouse appliance in 2003. However, Netezza didn’t keep up with innovations in hardware and software and didn’t make the leap to the cloud. By migrating to Yellowbrick, Netezza customers can achieve 100X performance and 10X scale at a fraction of the cost. This document provides an overview of migration tasks and serves as a guide for further streamlining the process.
Yellowbrick Data Warehouse is an advanced, massively parallel (MPP), SQL database designed for the most demanding batch, real-time, ad hoc, and mixed workloads. It can run complex queries at up to petabyte scale across numerous nodes, with guaranteed sub-second response times. Yellowbrick was conceived with the goal of optimizing price/performance. It's not uncommon for customers to see their workloads run tens or hundreds of times faster at a fraction of the cost compared to cloud-only or legacy data warehouses.
Yellowbrick is designed to make migrating from Netezza fast and simple. The Yellowbrick Data Warehouse:
A Yellowbrick solutions architect will help you scope and plan your migration as part of a proof of concept (POC). Once your POC is complete, the solutions architect will help you migrate your schema, data, application logic, ecosystem tools, and users to the Yellowbrick platform.
You’ll have a production-ready instance installed and running in under a day and will complete your migration within days or weeks. Your post-migration activities are similarly easy: your team will have very little tuning and configuration, will not have to pay for training and certification, and can get back to day-today business quickly
The Yellowbrick Data Warehouse supports organizing your data into databases and schemas, just like Netezza and every other PostgreSQL-inspired database. This means you do not have to worry about the migration breaking your applications. You can continue to maintain your database organization as you always have, with one database per tenant. If you want to expand to multiple schemas in a single database, you can do so easily.
The Yellowbrick Data Warehouse includes a query history database that is installed and fully documented. Your queries will be logged and optimized on day one, and you no longer have to endure dumps of inmemory query history or manually configure the NZ_QUERY_HISTORY table as you might have been doing with your Netezza system. Yellowbrick provides a richer, more granular level of detail about all activity within the database and is easy to configure. You can set the retention period for your history with just one click.
The nz_ddl_database command provides all the information about the DDL in your Netezza system, including table, view, synonym, and sequence definitions; user and group role creations; stored procedures; user-defined functions; and much more.
To extract the DDL for each database, execute the following command:
$ nz_ddl_database < database > > < database >.ddl
One of our solutions architects will perform an inventory of your DDLs and map them appropriately to Yellowbrick, according to best practices and using automated conversion tools.
Migrating your table definitions is a seamless process. Many Yellowbrick customers move the Netezza DDL (CREATE TABLE) with absolutely no change to their data types. In addition, you will have the opportunity to improve your table distribution with the following options:
Yellowbrick also includes the following table features that enable you to further optimize your database:
Because Yellowbrick is based on PostgreSQL, all your valid SQL operations and database views will run as is.
Yellowbrick supports PL/pgSQL stored procedures. A Yellowbrick solutions architect will perform an impact analysis of your query history to determine which, if any, stored procedures you should migrate (that is, which stored procedures your queries are using).
You export Latin as well as Unicode data from your Netezza system with one of these options:
Data will export in ASCII-delimited format that can be compressed.
If you exported the data to a CSV file (as opposed to direct streaming), you will import it using the ybload tool. ybload is intuitive like Netezza nzload, but with dramatic improvements. It is designed for parallelization, so you will not need to chunk files manually, and it maximizes the 10Gb network connection shipped with Yellowbrick. ybload also compresses data before sending it to Yellowbrick and can load multiple files at once. For example, users can run one ybload with a thousand files as input instead of invoking nzload a thousand separate times. These optimizations make loading simple and possible to dramatically accelerate load speeds compared to Netezza. Yellowbrick can also load data directly from cloud-based object storage that’s S3-compatible. The platform supports compressed or un-compressed files. If you are an HDFS user storing data in Hadoop, Yellowbrick uses a Spark-based importer that can consume most common Hadoop file formats, such as Apache Parquet or Avro.
Netezza systems often have an Oracle compatibility toolkit installed that provides a set of UDFs. Typically, customers use only a small number of UDFs, and the Yellowbrick Data Warehouse includes many of these functions out of the box. A Yellowbrick solutions architect will perform an impact analysis to see if there are any functions that the Yellowbrick Data Warehouse does not provide that are being used by queries.
Like Netezza, Yellowbrick supports local or LDAP authentication methods. Creating database users (or roles) is the primary mechanism for managing local database security. After creating users, you can set up access control by granting or revoking privileges on databases, schemas, tables, columns, and stored procedures.
Like Netezza, Yellowbrick supports local or LDAP authentication methods.
Creating database users (or roles) is the primary mechanism for managing local database security. After creating users, you can set up access control by granting or revoking privileges on databases, schemas, tables, columns, and stored procedures.
Use the following SQL commands: CREATE ROLE, GRANT, and REVOKE
Yellowbrick LDAP configurations support directory service providers such as Active Directory (AD) for OpenLDAP. LDAP, LDAPS (LDAP over SSL), and LDAP+TLS configurations. This is an improvement over Netezza LDAP integration, which is limited to just authentication and requires Netezza customers to manually create USERS or GROUPS and can result in mismatches to the LDAP service.
Yellowbrick provides an alternative to creating non-superusers manually in the database by synchronizing the users and groups stored in an LDAP directory and creates users and roles with the same credentials. You can synchronize specific users and groups by defining search criteria and filters.
You can connect ODBC, JDBC, and ADO.NET applications to a Yellowbrick database using standard PostgreSQL drivers you download and install. This means you do not have to purchase new licenses to redirect your existing applications. More importantly, third-party tools (such as BI, ETL, and analytical tools) that are certified for PostgreSQL drivers will automatically be certified for the Yellowbrick Data Warehouse.
Yellowbrick ships the open-standard PostgreSQL versions of these Windows or Linux drivers with every instance. ETL tools leverage ybload and ybunload for high-speed data movement in and out of Yellowbrick as described in the “Importing the data” section.
Yellowbrick is designed to deliver high performance to mixed workloads that modern enterprises require. It can support thousands of users running mixtures of real-time transactional atomic inserts; bulk loads of data; ELT workloads; interactive queries; ad hoc queries; and long-running, batch-oriented reports. While today’s mixed workloads require a high-performance solution, as the number and diversity of workloads increases, it is even more critical that you have the ability to specify, control, and automate the work that matters most. Yellowbrick gives you this control with:
Automating workload management in Yellowbrick is simple and can be done via the Yellowbrick web interface or SQL ALTER commands.
Yellowbrick includes 24x7 predictive remote monitoring technology that enables support engineers to handle day-to-day monitoring activities. Yellowbrick support engineers review real-time diagnostic data, provide recommendations, proactively address potential issues, and deliver prompt incident resolution.
You can monitor the platform yourself, instead of or in addition to using the Yellowbrick service. You can do this through automated alerts that easily integrate to the endpoint tool of your choice. This is a simplified experience instead of manually configuring each nzevent you want to monitor.
Platform views give you comprehensive, real-time visibility into Yellowbrick. Monitoring is performed continuously without affecting platform performance and is thoroughly documented so you can find what you need, when you need it.