1. Science / Technology

geographically distributed cloud databases

Disclaimer: This is a user generated content submitted by a member of the WriteUpCafe Community. The views and writings here reflect that of the author and not of WriteUpCafe. If you have any complaints regarding this post kindly report it to us.

Databases have come a long way since the early 1980s, when databases ran only on mainframes and you could choose between CODASYL databases and relational databases. CODASYL databases tended to be twice as fast as relational databases, but eventually improvements in computer hardware and the ease of SQL queries (as opposed to writing code to navigate databases) led to relational databases dominating the market.

 

Lenovo Lnit EP4 Data Fullfilm Fc Mp4 1280x720p
25 minutes 0 seconds, 1 second volume 0%

Databases can now run anywhere from smartphones to servers in data centers to geographically distributed cloud databases. In addition to relational tabular databases, there are databases for time-series, graph, spatial, text, online analytical processing (OLAP), XML, and JSON data. Some cloud database specialize in a single type of data; some databases specialize in a single type of data. Some provide a choice of multiple data types, but only one at a time; some allow multiple data types to coexist in the same database instance. Some databases specialize in online transaction processing (OLTP), some specialize in analytics (OLAP), and some do a good job of combining transactional and analytical workloads.

In this article, we will focus on transactional workloads running in the cloud and leave cloud data warehouses for another article. Some of the databases we'll discuss can also run on-premises; some have dedicated cloud support but are compatible with on-premises databases; and some are “cloud-native,” meaning they're only available from cloud providers.

Determine database requirements

A database is almost never a thing by itself. Instead, a database is often the backend or storage layer of an application.

If the application is a global multiplayer video game, both read and write latencies are important, and the database may need to be distributed, though not necessarily relational or strongly consistent; a key-value database might be ideal. If the application records and monitors the valve's sensor output, the database should be able to quickly write large amounts of time-series data.