Architecture
ScaleDB provides an open source API which can be found here. License type: GPL V2.
ScaleDB provides a clustered, shared-disk storage engine. The shared-disk architecture enables multiple nodes to share the same physical data, eliminating the need to partition your data.
The diagram below shows a multi-node cluster. Each node runs the ScaleDB storage engine in conjunction with a DBMS like MySQL. The ScaleDB Cluster Manager then orchestrates the interaction of these nodes.
The Cache Accelerator Server (CAS) provides both storage and shared cache. One role of the CAS is to provide a high-speed cache for sharing data between database nodes. Another other role is to provide a highly-available low-cost set of storage devices. The final role of the CAS is to provide tight integration between storage and computing. If a database node requires some filtered or processed data, instead of moving the entire data set over the network to the node, the CAS can process it locally and only send the much more compact result set to the node. This sort of local processing at the storage tier is similar to what Oracle Exadata does.
All data sent to the CAS is mirrored into two or more CAS servers. This provides the redundancy of high-end storage, while running on commodity servers or cloud instances.ScaleDB CAS are designed to share the data, in conjunction with the Cluster Manager, amongst all of the database nodes. This eliminates the cost, complexity and overhead of a cluster file system.
Finally, as your data grows, or if the storage layer becomes a performance bottleneck, you can add additional pairs of CAS servers. ScaleDB dynamically redistributes the data across the new set of CAS servers, providing improved storage throughput. Basically, if your database application is CPU bound, add more database nodes, if it is I/O bound, add more CAS nodes.




