Hyper-scalable Cluster
Regatta is a hyper-scalable database. Its elastic scale-out architecture allows deployments of anything from a single node to clusters of tens of thousands of nodes that may store hundreds of petabytes of data. Unlike the traditional scale-out-by-sharding databases whose functionalities across the boundaries of a single shard are very limited, all Regatta’s functionality, whether transactional or analytical, is always fully supported across the entire cluster, regardless of how the data is distributed across the nodes.
Moreover, Regatta’s distributed and parallel algorithms can optimally exploit the cluster-wide resources, resulting in linearly- scalable performance for both transactional and analytical operations. Regatta leverages resources on a cluster-level rather than on individual, siloed, node levels, which means that the available resources can be utilized more efficiently. Free node resources that in a traditional database would remain underutilized are pooled by Regatta to improve overall performance and capacity utilization. The cluster nodes are aware of each other and cooperate on various compute and transactional operations. For instance, compute operations may run on nodes that hold the relevant data, can expand onto other nodes that may hold other data, and onto nodes that do not hold any data at all – in cases that such aggregated CPU, RAM, network and disk resources could lead to a faster, yet efficient, processing of the task.
To eliminate single node bottlenecks, Regatta utilizes many-to-many data propagation, which is also a powerful strategy for cutting processing-time of large tasks. Many-to-many propagation can also significantly improve throughput between the clients and Regatta, both in terms of sending from the client to the Regatta database, and vice-versa. The client can submit commands as well as transfer data in parallel from many client-nodes to many Regatta nodes. Of course, large amounts of data results can be transferred from many Regatta nodes to many client nodes in a similar manner. In addition, Regatta can store results in a distributed and parallel manner, allowing clients to access results at a later stage. This approach may sometimes dramatically reduce the overall time taken for an operation to execute.
Regatta automatically distributes data according to simple user-defined constraints and policies. If required, for example due to changes in data capacity on certain nodes or disks, Regatta automatically rebalances the data by non-disruptively moving data among the cluster’s nodes. While simple to use, the user still has the option to exert as much detailed control as wanted regarding those policies, partitioning and placement rules. For example, placing certain tables in specific cluster node pools, defining tiering rules that divide data between fast and slower disks and nodes, and so forth. Regatta’s elasticity essentially means that any of these rules can be changed on the fly, instructing Regatta to non-disruptively perform the necessary rebalancing and data movements. Regatta’s general elasticity goes much further, for example allowing non-disruptive dynamic changes in the cluster configuration (e.g., adding/removing nodes/disks). Read more about Regatta’s partitioning and data-distribution here. Read more about Regatta’s elasticity here.
Unlike other scale-out solutions, Regatta does not require all nodes in the cluster to have the same configuration. It is unrealistic to expect nodes in large clusters to be identical, especially when adding servers over time. Regatta supports asymmetric cluster configurations with a combination of different types of servers, different CPU, RAM, and disk configurations, in the same cluster.
Regatta’s clustering was designed for simple, hyper-scalable deployments in the cloud or on-premise. The comprehensive clustering functionality was designed and implemented from the ground up, enabling Regatta to guarantee absolute reliability and extreme performance. Furthermore, regatta’s embedded clustering eliminates the need for third-party clustering solutions, which significantly simplifies operations.
Regatta can scale geographically, spanning multiple sites, thus supporting various disaster-recovery scenarios as well as providing more performant services for some across-the-globe workloads. Read more here.