InfiniDB - Distributed MPP Scales into the Future
InfiniDB Enterprise is a software-only, modular column database solution that leverages scalable MPP architecture. Starting with User Module and Performance Module building blocks, you can configure your system in any combination to meet your user, data, and performance requirements. The more User Modules you add, the more concurrent connections are supported. The more Performance Modules you add, the more you are able to scale performance and database size.
- User Module: The User Module is made up of a small MySQL instance and a number of InfiniDB processes that handle concurrency scaling. The User Module is also responsible for breaking down SQL requests and distributing the various parts to one or more Performance Modules that actually retrieve requested data from either memory caches or disk. Finally, the User Module assembles all the query results from the various participating Performance Modules to form the complete query result set that is returned to the user. Note there can more than one User Module in an InfiniDB Enterprise configuration, which provides a high availability configuration and a method for query workload balancing.
- Performance Module: The Performance Module is responsible for storing, retrieving, and managing data, processing block requests for query operations, and passing it back to the User Module(s) to finalize query requests. The Performance Module selects data from disk and caches it in a shared nothing data cache that is part of the server on which the Performance Module resides. InfiniDB Enterprise accomplishes its MPP columnar database benefits by allowing the user to configure as many Performance Modules as they would like; each additional Performance Module adds more cache to the overall database as well as more processing power.
- Storage: InfiniDB Enterprise uses shared storage (e.g. SAN) to store data when deployed with multiple nodes. If InfiniDB Enterprise is installed on only one node, options exist to store data locally, on a direct attached device or on shared storage.