Here are the highlights of Netezza’s architecture.
- Netezza has an AMPP architecture where it has an SMP (symmetric multiprocessor) and a shared MPP (massively parallel processing) backend for query processing.
- Netezza architecture resembles Hadoop cluster design in many ways. e.g. Distribution, active-passive node, data storing methods, replications, etc
- Netezza is based on PostgreSQL and supports standard SQL, ODBC, JDBC and OLE DB interfaces
- Netezza has a two-tiered system. It has a simple Linux based frontend which is called as the SMP. This mainly receives the queries from the client application (often a which can be a BI/Analytics application). It then processes them and divides them into subqueries or subtasks which are in turn sent to the second tier of multiple backend units of MPP for parallel processing.
Key terms and terminologies used in the context of Netezza appliance.
Host: A Linux server which is used by the client to interact with the appliance either natively or through remote clients through OBDC, JDBC, OLE-DB etc. Hosts also store the catalog of all the databases stored in the appliance along with the meta-data of all the objects in the databases. It also passes and verifies the queries from the clients, generates executable snippets, communicates the snippets to the S- Blades, coordinates and consolidates the snippet execution results and communicates back to the client.
Snippet Processing Array: SPA is an array of S-Blades with 8 processor cores and 16 GB of memory running Linux operating system. Each S-Blade is paired with Database Accelerator Card which has 8 FPGA cores and connected to disk storage.
Snippet Processor: The CPU and FPGA pair in a Snippet Processing Array called a snippet processor which can run a snippet which is the smallest code component generated by the host for query execution.