Skip to main contentOpen Source Cloud Guide

Databases

What are databases?

A database is an organized collection of data. As databases become more complex they are often developed using formal design and modeling techniques. Databases may be classified into two different types: Relational, where the data is modeled as rows and columns in a series of tables and use SQL for writing and querying data; and non-relational, or NoSQL databases, which contains subgroups such as Document databases and key-value databases. 1

Why is this important for hybrid cloud developers?

Where traditional relational databases worked well for general purpose use cases, NoSQL databases took advantage of the elasticity and scalability offered by cloud computing.

Solution Sketch

  • Document databases: general purpose
  • Key-value: large amounts of data with simple lookup queries
  • Graph: analyzing and traversing relationships between connected data

Limitations

Databases constitute the most important part of any application’ or service’ architecture. Often you can use “off the cloud” solutions to solve your data needs, however, the decision on which database to use is typically the most important architectural decision you make. And it’s important to realize that the decision can be difficult to change once the application or service is released in production and you have lots of collected data.

Cloud databases make it easy to try and tests readily available open solutions. Therefore, a good recommendation and realization of the limitation of your choice in database is to experiment and learn from the many available metarials (blogs, videos, talks) on different databases in order to make the best choice for your particular problem.

Since the choices of OSS databases are varied, chances are, whatever your ultimate decision there will be an appropriate OSS database readily availble on any cloud for you to try and use.

Finally, because the database will contain the part of your application that is difficult to “re-create”, e.g., customer data, feedback, orders, and so on, it is crucial that you plan to backup the data in your database (sooner than later) and have a strategy for recovery. Many cloud providers and cloud databases have built in backup / restore processes. But you typically have to opt in to these.

Key open source projects

SQL

Document

Key-value

Cloud comparision

Additional resources

Blogs