What is Netezza? Netezza is somewhat of a niche database which many people may have not encountered before. It doesn’t have the market presence of something like Oracle or Microsoft SQL Server – but that’s because Netezza was never intended to be a does all database like these traditional databases. Netezza is designed for specific types of database work, and to do those specific types very well. Rather than be a jack of all trades and master of none, it is a master in its domain which truly outcompetes the others for handling the same kind of workload.
Netezza was designed from day one to be a database appliance – a simple database to use. It was also designed to be an incredibly fast. It’s intended workload is for reporting and analytics; typical business intelligence type work in a data warehouse environment. It’s architecture is unique among database technologies, as it incorporates the usage of FPGA circuits.
While a CPU executes a static amount of instructions, an FPGA is able to dynamically arrange its logic gates at run time to create new instructions and dedicate itself to tasks. There are other advantages inherent to the asynchronous massively parallel Netezza architecture, but the ability of these chips to do this is the largest one. The chips dedicate themselves on a per query basis to decoding raw data, projecting only columns necessary, and restricting only the rows necessary, to satisfy a query. No prior query knowledge must be needed, nor indexes, nor partitions – these chips do the job of paring down data to the CPU. They are able to do so in nearly real time.
All data is stored encrypted on Netezza. For date and integer datatypes, zone maps are also written with slices of data to disk – saying what values live in a written page. Data is only ready off disk when it might live within a page. The FPGA then performs the decompression, as well as keeps only the columns and rows necessary to satisfy the query. These operations are quickly done in the FPGA, with data only reaching the CPU for transform operations, joins, and aggregates. The FPGA is reconfigured to satisfy each SQL query.
This operation is done hundreds of times in parallel throughout the architecture. A single full rack of a Mako generation (N3001-010) contains 240 active hard drives, 112 FPGA cores, and 140 CPU cores. Following Netezza best practices in how to model data, load data, distribute data, and query data all leads to optimal system performance and maximizing the value and investment in one of these appliances.