What Makes YottaDB a Different Kind of Database?
YottaDB's diverse feature set as a NoSQL multi-level, key-value data store provides users and businesses with a strong foundation for their critical applications.
It's Not Just a Slogan, It's Reality
YottaDB’s business continuity and real-time replication features keep even Internet-scale applications continuously available not just in the face of unplanned events, but also planned events, such as application upgrades and even schema changes.
The YottaDB architecture places a premium on speed and responsiveness with a daemon-less, in-memory database engine, streamlining workloads by minimizing latency and parsimoniously using system resources.
With a philosophy that complexity is the enemy of security, the simply-explained YottaDB security model is based on the mature and easily understood user-group-world permissions for processes to access database files. Security can be further enhanced with layered controls like SELinux.
Multi-Language Database Access
While the historic roots of YottaDB are in the M/MUMPS language, YottaDB extends the tight integration of the language with the database to other languages. As C is the lingua franca of programming languages (in that all programming languages have the ability to call a C API), YottaDB’s C language API extends the database engine to all programming languages. In the future, YottaDB LLC intends to create standard bindings from other languages through the C API.
Daemon-less Database Engine
YottaDB operates using a daemon-less engine. Why?
- With a daemon, failure of a daemon process stalls the operation of multiple processes and perhaps even multiple applications.
- With a daemon, a daemon process typically has to operate with elevated privileges compared to an application process, and furthermore the link between application and daemon must be secured.
- Communication between application logic and a database daemon adds latency and increases response times.
- A daemon is an additional process that consumes system resources, even if only an incremental amount.
Optimistic Concurrency Control
Unlike most high-end transactional database engines, YottaDB uses Optimistic Concurrency Control (OCC) to implement ACID transactions. Since transactions do not typically collide, optimistic techniques scale up better than pessimistic techniques such as locking.
OCC and its daemon-less architecture reinforce each other to provide the extreme level of scalability that YottaDB users have come to expect.