Some words on scaling databases

Nowadays, there are two different kinds of databases:

  • relational databases (aka, Oracle, Microsoft MS, IBM DB 2)
  • document oriented databases (some lectures call them NO-SQL databases) (aka, Mongo DB, FileNet)

Let’s go to the subject,

Scaling a relational database

There are three operations involved in scaling a relational database:

  1. sharding. Represents the process of splitting a table into two ore more tables; Simply putting, sharding is the answer to scalability
  2. replication. Replication can take place at the database, or at the table level. When apply to the database, replication represents the process of synchronizing data across multiple servers. While at the table level, replication represents the process of copy the entire table and store it in different databases;
  3. partitioning. Represents the process of dividing the database into two ore more databases.

Replication

Replication provides redundancy and increases data availability with multiple copies of data on different database servers. It also provides the capability to recover from hardware failure and service interruptions.

Data partitioning

The main purposes of why data partitioning is done are for enhanced performance and convenient management of backup and recovery processes. The partitioning is done through several techniques:

  • data partitioning based on common affinity involved
  • data partitioning based on the size of tables.

Scaling a document oriented database

Scaling a document oriented database is more simple. It implies only the process of sharding (aka, splitting a collection of documents into multiple servers).

Spread the love

Leave a Reply