Modern databases consist of multiple servers that host the data in a distributed fashion. Using multiple servers allows a database to be resilient to the failure of any one database node, because copies of the data are shared to other servers. A multi-node setup also lets the database grow beyond the size of data that could be hosted on a single node.
Although a distributed database gains in scalability and resiliency, a database that runs across multiple nodes has a variety of problems that are not faced by a database running on a single node. Every operation with a distributed database becomes more complex than the single-node database.
For example, if you make a query to your distributed database, you might not be able to rely on the answer that you get from a single database node, because the other database nodes might have been involved in transactions that have not propagated to all of the nodes.
Aly Cabral is a lead product manager at MongoDB and co-author of a paper on causal consistency in MongoDB. Aly joins the show to discuss the engineering of distributed databases and her experience architecting MongoDB. Full disclosure: MongoDB is a sponsor of Software Engineering Daily.
Sponsorship inquiries: sponsor@softwareengineeringdaily.com
Check out our active companies and projects:The post Distributed Databases with Aly Cabral appeared first on Software Engineering Daily.