Information Technology Reference
In-Depth Information
to cloud levels. As an example, conventional databases enforce a schema
on the data being stored, and changing the schema is not easy. However,
changing the schema may be a necessity in a rapidly changing environment
like the cloud. NoSQL storage systems provide more flexibility and simplic-
ity compared to relational databases. The disadvantage, however, is greater
application complexity. NoSQL systems, for example, do not enforce a rigid
schema. The trade-off is that applications have to be written to deal with
data records of varying formats (schema). BASE is the NoSQL operating
premise, in the same way that traditional transactionally focused databases
use ACID: one moves from a world of certainty in terms of data consistency
to a world where all we are promised is that all copies of the data will, at
some point, be the same.
Partitioning and replication techniques used for scaling are as follows:
1. The first possible method is to store different tables in different
databases (as in multidatabase systems).
2. The second approach is to partition the data within a single table
onto different databases. There are two natural ways to partition the
data from within a table: to store different rows in different data-
bases and to store different columns in different databases (more
common for NoSQL databases)
21.3.2.3 Functional Decomposition
As stated previously, one technique for partitioning the data to be stored is to
store different tables in different databases, leading to the storage of the data
in a multi-database system (MDBS).
21.3.2.4 Master-Slave Replication
To increase the throughput of transactions from the database, it is possible
to have multiple copies of the database. A common replication method is
master-slave replication. The master and slave databases are replicas of each
other. All writes go to the master and the master keeps the slaves in sync.
However, reads can be distributed to any database. Since this configuration
distributes the reads among multiple databases, it is a good technology for
read-intensive workloads. For write-intensive workloads, it is possible to have
multiple masters, but then ensuring consistency if multiple processes update
different replicas simultaneously is a complex problem. Additionally, time to
write increases, due to the necessity of writing to all masters and the synchro-
nization overhead between the masters rapidly becomes a limiting overhead.
21.3.3 Row Partitioning or Sharding
In cloud technology, sharding is used to refer to the technique of parti-
tioning a table among multiple independent databases by row. However,
Search WWH ::




Custom Search