Big Data: three questions to NuoDB
Q1. What is your current product offering?
NuoDB 2.0 is a webscale distributed database providing standard SQL capabilities for applications that need to operate in a cloud model. Full SQL ’92 support (joins, indexes, DDL, etc.) mean ACID transactions while our novel distributed architecture is designed for:
- Scale-out performance by adding or removing nodes on-demand
- Continuous availability for high uptime and live upgrades
- Geo-distribution through active-active expansion across data centers
- Multi-tenancy that provides isolation, security & resource boundaries
- No-knobs admin for easy provisioning and management
NuoDB is architected around a new model that we refer to as a durable distributed cache. Clients connect via JDBC, ODBC, etc. to an in-memory tier that uses on-demand caches to run at in-memory speeds. This layer is presented as a single logical database so developers and operators do not design around sharding, active-passive or multi-master models. Data is automatically persisted to one or more locations based on operational needs. The use of MVCC supports concurrent operational and analytic workloads efficiently. Because it’s a standard SQL database popular tools, frameworks and libraries work seamlessly with NuoDB.
The product is offered as software that can run on Linux, Windows or Mac and supports heterogeneous deployments. There are no assumptions about the environment, so it works just as well on a laptop, a public cloud, bare-metal in your data center or virtualized on commodity infrastructure. The more systems you have to run it on, the better the throughput and availability. In public cloud demonstrations we’ve shown scale to millions of transactions per second running at sub-millisecond latency.
Q2. Who are your current customers and how do they typically use your products?
Customers use NuoDB today to support operational use-cases that need transactions, availability guarantees, active-active deployment and analytic capabilities. Often these are users with existing applications needing to migrate to the cloud or users who are building new applications designed from the start with a requirement for elasticity. In all cases these are operators who have to have a simpler provisioning and management model that works with existing scripting and monitoring tools.
Common operational use-cases are around account or session handling, event logging and audit, content management and transaction processing. NuoDB has customers from many industries including software, finance, health care, energy and communications. Their applications range from web-style queries to requiring large, multi-way joins in heavy-lifting transactions. Applications are often focused on SaaS models reducing costs via public cloud or commodity hardware deployment.
A recent investor, Dassault Systèmes, builds very sophisticated product lifecycle management, simulation and CAD software. Platform28 is focused on call-center operations and analysis. DropShip Commerce connects vendors and customers on-demand. They all need transactional consistency, scale-out performance and a simpler operations model.
Q3. What are the main new technical features you are currently working on and why?
With NuoDB 2.0 we’ve focused on stability and performance in the context of supporting our customer’s scale-out, continuously available applications. The latest product updates represent a lot of work in that vein. We’ll continue to focus on making customers successful with low-latency, high throughput workloads that need SQL, transactions, security and other core enterprise capabilities.
Starting with this core set of scale-out features, one major area of development for NuoDB is enhanced operational efficiency and performance capabilities for geo-distributed deployments. An example of this is policy-driven storage management, supporting both higher throughput and compliance scenarios. For instance, European customers often ask about running databases where a given customer’s data stays on-disk in their country of residency. Another feature is providing continued availability and a clear consistency model when networks between data centers fail.
Because these kinds of deployments are complicated to manage another key area of development is around automation. A system of “templates” uses a declarative language to define SLAs for databases, helping an operator define what problem they’re trying to solve (e.g., test on a single system, run a simple redundant system or scale across four data centers). These templates can be used to start a database in a known, good state and then become a monitoring point and a definition for how the system can automatically manage resources. As NuoDB matures in the market this feature will continue to simplify the operational experience of running at scale.