Under The Hood
NuoDB is the world’s first and only patented, elastically-scalable, SQL database built for decentralized computing resources. We started with a blank slate to design a brand new kind of database that has all of the features you want (like elastic scalability on the cloud with 100% ACID guarantees and SQL compliance) – and none of the things you don’t (like complex database administration tasks involving sharding, caching clustering and performance tuning).
The result is a brand new kind of database that’s optimized to run and scale on the cloud. Built for you, modernized in the new age.
NuoDB has the same syntax and the same interfaces you already know how to program and works out of the box with all of your applications. And of course, you can rely on NuoDB to provide 100% Atomic, Consistent, Isolated, and Durable (ACID) transactions.
When you look "Under The Hood” of NuoDB, you’ll find a totally different approach to the SQL database, but to your developers and your applications, NuoDB looks and acts just like any other SQL database.
At last, you can run your web applications on the cloud without worrying about how the database is going to grow when your business expands or when traffic spikes for your application. You can focus on making your application rock and making your business grow, without having to learn the tribal secrets of database tuning.
To understand how NuoDB works, and why it’s so different from every single SQL database that has come before it, it helps to leave behind all your preconceptions about how traditional SQL databases work …
Leave it all behind! We built NuoDB based on a radically new approach: emergence.
An emergent architecture is characterized by simple, autonomous actions by individual components producing complex, coordinated behaviors in the overall system.
Emergence is how NuoDB is able to do things that no other SQL database can do.
It’s simple, elegant, yet incredibly powerful.
Everything in NuoDB is an Atom
Under the hood, NuoDB is an asynchronous, decentralized, peer-to-peer database. The NuoDB system is also object-oriented. Objects in NuoDB know how to perform various actions that create specific behaviors in the overall database. And at the heart of every object in NuoDB is the Atom. An Atom in NuoDB is like a single bird in a flock.
Atoms are self-describing objects (data and metadata) that together comprise the database. Everything in the NuoDB database is an Atom, including the schema, the indexes, and even the underlying data. For example, each table is an Atom that describes the metadata for the table and can reference other Atoms; such as Atoms that describe ranges of records in the table and their versions.
Consistency via Asynchronous Decentralized Messaging
Atoms communicate with each other in an asynchronous, peer-to-peer manner that is ideal for the shared-nothing, decentralized nature of an elastic cloud infrastructure.
One of the key reasons a traditional SQL database is so hard to scale in the cloud is that it was built to operate synchronously, relying on a single master node to lock the database and orchestrate transactions. Traditional relational databases just weren’t designed for the decentralized, asynchronous nature of the cloud.
So we changed the whole idea. Through the use of object-oriented Atoms that know how to perform certain actions, and a system in which Atoms communicate with each other in a peer-to-peer manner, a NuoDB database is able to perform all the coordinated actions of a traditional SQL database (like creating, deleting, or updating a record) without relying on master-slave configurations or locking.
When an Atom changes in NuoDB, it sends messages to all other instances of itself in all other locations, transactionally replicating the changes using highly reliable, asynchronous message queues.
Atoms are Powerful
Atoms are intelligent, powerful, self-describing objects that together form the NuoDB database. Atoms know how to perform many actions, like these:
- Atoms know how to make copies of themselves.
- Atoms keep all copies of themselves up to date.
- Atoms can broadcast messages. Atoms listen for events and changes from other Atoms.
- Atoms can request data from other Atoms.
- Atoms can serialize themselves to persistent storage.
- Atoms can retrieve data from storage.
The Atoms are the Database
Everything in the database is an Atom, and the Atoms are the database. The Atoms work in concert to form both the Transaction (or Compute) Tier, and the Storage Tier.
A NuoDB Transaction Engine is a process that executes the SQL layer and is comprised completely of Atoms. The Transaction Engine operates on Atoms, listens for changes, and communicates changes with other Transaction Engines in the database.
A NuoDB Storage Manager is simply a special kind of Transaction Engine that allows Atoms to serialize themselves to permanent storage (such as a local disk or Amazon S3, for example).
A NuoDB database can be as simple as a single Transaction Engine and a single Storage Manager, or can be as complex as tens of Transaction Engines and Storage Managers distributed across dozens of computer hosts.
- At NuoDB we think SQL and ACID are critical requirements for a 21st century transactional database.
- ACID (Atomic, Consistent, Isolated, and Durable) guarantees that the database tier handles the transaction processing in a consistent and reliable manner, freeing the application from managing these tasks (and freeing you from having to code them into the application), while guaranteeing the integrity of the data in the database.
- SQL is the de facto standard database language. It has been around since the 1970s. Your developers all know how to program to it, and your applications all work with it.
- NuoDB is the first and only database to provide 100% SQL compliance, 100% ACID guarantees and built to run on distributed, decentralized cloud-based resources. These are just a few of the benefits of NuoDB.