You are here

The NuoDB Distributed DBMS Architecture

Learn about the core components of the NuoDB architecture, about scaling transactional throughput and about how NuoDB handles failure and disaster recovery scenarios.

Video transcript: 

(Seth Proctor): Hi!  I’m Seth Proctor, and I’m going to talk to you today just a little bit about NuoDB, what it is, why we think it’s pretty exciting, and what you might want to do with it.  NuoDB is a relational database that is designed to be cloud-scale.  And I think most people know what the relational part of that sentence means.  It’s SQL, It’s ACID, it’s transactional consistency and durability...  But the cloud-scale could be many different things.  And so, what we’re going to do today is just spend a couple minutes and talk at a really high level about what some of those components are, and kind of give you a teaser for videos that are going to come over the next few weeks. 

So, just to start, let’s say you want to run NuoDB to behave like a traditional relational database does.  You’d get a single host running, and then you’d run two processes on it.  You’d run what we call a transaction engine, and storage manager.  The transaction engine is there to actually accept connections from SQL clients and to do all of the transactional work.  It’s an in-memory cache.  It doesn’t know anything about how to make durable, but it knows how to maintain the rules of ACID.  The storage manager is there to actually make your data durable.  And it’s there to make sure that you always have access to your data, even if your cache doesn’t have enough room for it.  Together, they provide you the functionality of a traditional relational database. 

Great.  So, what can I do that’s more interesting than that?  Well, for one thing, they’re all running on the same host, which means if that host fails, you lose your entire database.  So, one thing you can do is you can bring a second host online.  You can start running a transaction engine on it, and when it’s running, you can shut down the transaction engine you had on the first host.  What have you just done?  Without any loss of availability of your database, you’ve migrated where your clients are connected.  You’ve migrated from one host to a second host for your transaction processing.  You’ve kept your database available and online, and now you have independent points of failure.  Pretty cool. 

Let’s say you want to take that a step further, and you not only want independent points of failure, but you want to increase your transactional throughput.  So now that you can do that by bringing a third host online, and starting another transaction engine on it.  And in our software, that’s really as easy as just a couple clicks in the web console, or a single line or scripting interface.  It takes about a second, there’s no special provisioning, there’s no special configuration.  You’ve brought up the second transaction engine, and you’ve doubled your transactional throughput. 

You might go a step further, as your database starts to become popular, as your data set starts to expand, and you’re really worried about protecting your data.  You could bring a fourth host online, and you can start another storage manager on it.  What that will do is it will start up, it will talk to the running processes and synchronize with your existing database, and create a fully independent second copy of your data.  As soon as it’s synchronized, it will start participating as another active durability point.  And so, very quickly, I’ve gone from a single host to four hosts that can fail independently.  Any one of these four hosts can go down and my database is still available, my data is still always available and always consistent.  And even though I now have -- I’ve gone from one host to four hosts, with four separate processes, I still have what is logically addressable as a single database from the point of view of clients that are accessing it. 

That’s a really high-level view, but we hope you find that interesting.  We hope you find that compelling.  We hope you’ll come to the website and check out more, and look for more videos over the next few weeks as we start to really dive into how this works and what you can do with it.  So, thank you very much!