YottaDB is an application development platform for NoSQL database applications that are required to scale up to the throughput and robustness expected of enterprise-scale applications. At the same time, its footprint allows it to scale down to the confines of embeded devices.
YottaDB is a multi-level key-value NoSQL database with strong ACID (Atomic, Consistent, Isolated, Durable) transactions (i.e., hierarchical associative memory with persistence and ACID transactions) designed with functionality suitable for deploying applications that require “five nines” availability in the face of not only unplanned events (such as loss of a data center or a geographic region) as well as planned events (such as application upgrades, and even application upgrades that change the schema).
Although the YottaDB product is new, YottaDB’s software code base is mature, and proven in daily production use since 1986. The FIS GT.M™ product on whose code base YottaDB is built is used at several of the largest real-time core-banking deployments we know of that are live anywhere in the world, as well as one of the largest international electronic health record deployments.
Any schema of data in the database is entirely determined by application logic – YottaDB’s schemaless associative memory model imposes no restrictions. YottaDB’s hierarchical associative memory model supports all the common NoSQL use cases, as well as any relational schema. YottaDB has two data types, numeric and string (a string is just a series of bytes up to 1MiB long), with automatic conversion (an operation or function determines the type of value expected, and converts its inputs as needed). To ensure appropriate computational results on financial data, arithmetic is decimal, not binary. A key or value can be any data type, and a node can have values of different types at different times.
Transactions are implemented using optimstic concurrency control. Unlike traditional locking techniques, optimistic concurrency control allows the throughput of non-interacting concurrent transactions to scale up with the number of concurrent processors on a system.
YottaDB is built on the AGPL v3 licensed GT.M, and is released under the same license.