Since Delphix virtualized Oracle back in 2008 and SAP put its flagship into active memory as HANA in 2010, there hasn't been a whole lot of innovation in the database world. That is, until March 23, when Couchbase introduced a way to separate database functions in different physical nodes for performance purposes.
NoSQL-based Couchbase claims its Multi-Dimensional Scaling, introduced in Couchbase Server 4.0—scheduled for release next summer—increases application performance by isolating database query, index and data services. This is so hardware resources can be independently assigned and optimized on a per-node basis as application requirements change.
Sounds complicated, but CEO Bob Wiederhold told eWEEK that really isn't the case.
"Everything's virtualized, so it's immaterial as to where the functions are actually located," he said. "But the system knows there are great advantages to this type of separation."
Unlike other databases such as MongoDB, Oracle and Cassandra that have a limiting "one-size-fits-all" approach to scaling out, Couchbase is enabling organizations to precisely provision hardware to meet application performance requirements, Wiederhold said.
"With Multi-Dimensional Scaling, enterprises can independently assign and scale the index, query and data services to specific servers. This improves performance, reduces hardware costs and enables enterprises to support a much broader set of applications with a single database: Couchbase Server," he said.
Until now, the query, indexing and data services of a database generally share the same hardware and compete for resources. This can result in overprovisioning of resources in addition to degrading of application performance due to resource contention, Wiederhold said.
Couchbase Server 4.0 with Multi-Dimensional Scaling enables enterprises to run services on separate hardware and assign correct-sized servers for each service. Organizations have full flexibility to use Multi-Dimensional Scaling or to deploy standard distributed scaling with all services running on the same hardware; admins can change orientation on the fly, as necessary.
Breaking down each function:
--Query: Query is a CPU-heavy operation. In a distributed environment, a query is spread across many boxes, resulting in resource contention that can degrade other database services. In particular, long-running or complex queries can severely impact performance. Using Multi-Dimensional Scaling, enterprises can isolate the query service and assign to it a small set of low-cost commodity boxes or a large box with more computing power. This results in faster queries and avoids impacting other services, Wiederhold said.
--Index: This is disk-intensive. Running an index across many servers in a large distributed environment results in slower indexing performance as well as resource contention. Multi-Dimensional Scaling allows enterprises to isolate the index service so that index operations are performed only on the assigned hardware. This vastly improves index performance and enables enterprises to maintain any number of indexes without degrading read/write or query performance.
--Data: Data service is relatively simple; fast reads and writes are the primary requirement. Keeping data in memory speeds data access. The optimal hardware to support fast reads and writes is a combination of memory and commodity servers. With Multi-Dimensional Scaling, enterprises can isolate the data service on low-cost boxes to maintain sub-millisecond read/write operations with no degradation from query or index services.
Multi-Dimensional Scaling will be available in Couchbase Server 4.0, scheduled for release in summer 2015, Wiederhold said.