eXtremeDB Cluster Distributed Database System
Reduced complexity, better performance.
eXtremeDB Cluster: McObject’s distributed database system for real-time applications
eXtremeDB Cluster is McObject’s real-time distributed database system. eXtremeDB Cluster manages databases across multiple hardware nodes, enabling two or more servers to share the workload. It is unique as the first clustering database system to offer an embedded architecture: the database system runs within the application process at every node, eliminating the need for separate client and server modules.
This design eliminates inter-process communication (IPC) overhead within nodes of the distributed database, accelerating performance. It also reduces complexity, contributing to higher reliability and simplified deployment and maintenance.
In clustered deployments, every eXtremeDB database instance serves as a master. Changes to one node are efficiently replicated to others.
Figure 1. eXtremeDB Cluster delivers a simplified distributed database system. This low complexity enables McObject’s clustering software to deploy quickly and reduces cost-of-ownership.
Benefits include dramatically increased available net processing power, lower system expansion costs (through use of low-cost “commodity” hardware), and maximum scalability and reliability.
A local tables option speeds processing by enabling nodes to define data sets to be managed without cluster-wide replication. For example, all nodes in a cluster might share a market data feed and historical database, but an application at node A might calculate, and store in a local table, volume-weighted average price (VWAP) while its counterpart at node B calculates and stores results of a mean reversion algorithm. In keeping with eXtremeDB’s embedded nature, the local tables option provides APIs that allow a node to “gather” a table from another node, and to “scatter” its local table(s) to another node(s).
Lower Complexity = Lower Costs
Clustering database solutions based on relational database management systems (RDBMSs) can entail separate sets of nodes for clients, database servers and SQL processing, as well as dedicated server and client software for management tasks.
Figure 2. Distributed database solutions based on cluster RDBMSs are highly complex, which makes them slow to roll out and expensive to implement and maintain.
With this level of complexity, it’s no surprise that extensive consulting engagements are typically part-and-parcel of RDBMS cluster deployments.
eXtremeDB’s streamlined architecture integrates the functions described above on the individual cluster nodes, greatly simplifying system deployment and updates. By eliminating complexity, McObject’s distributed database reduces cost-of-ownership.
Accelerated Performance, Powerful Features
In McObject’s benchmarks, eXtremeDB Cluster delivered breakthrough performance, including an astonishing 161% throughput improvement when scaling to four cluster nodes from one node.
Distributing the system across multiple hosts ensures continuous availability in the event of a failure on one node. The “shared nothing” clustering architecture in eXtremeDB eliminates reliance on a shared SAN or other storage resource. Multiple platforms (e.g. Linux and Windows) are supported within a single cluster.
eXtremeDB’s clustering supports ACID transactions, making it the best option for applications that demand integrity of distributed data.
Proven eXtremeDB Cluster Building Blocks
- In-Memory Database System – eXtremeDB’s core in-memory architecture overcomes the I/O and caching bottlenecks inherent in disk-based DBMSs. eXtremeDB Cluster is the only clustering database designed from scratch as an IMDS.
- Multi-Version Concurrency Control (MVCC) – “optimistic” concurrency eliminates database locking and can dramatically improve scalability and performance
- 64-bit support adds vertical scalability – McObject has benchmarked its 64-bit eXtremeDB-64 edition managing a 1.17 TB, 15.54 billion row database in memory, with performance exceeding 87 million query transactions per second
- eXtremeDB enables persistent (disk- or flash-based) storage for selected record types. Database sizes are limited only by available file system space