DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

ClearDB


ClearDB is a distributed, cloud-hosted, database-as-a-service version of MySQL. Its primary purpose is to eliminate the management cost of MySQL databases and provide automatic database replication and failover. By adding software stacks on top of MySQL and leveraging geo-separated data clusters, ClearDB is able to guarantee 100% uptime. ClearDB supports major commercial cloud which includes Amazon EC2 and Windows Azure and also support customized data centers or a hybrid of the two.[03][04]

Developer
Country of Origin
US
Start Year
2010 [19]
Acquired By
Project Type
Commercial
Written in
C++
Derived From
MySQL
Embeds / Uses
MySQL
Operating Systems
Linux, Windows
License
Proprietary

Database Entry

ClearDB


ClearDB is a distributed, cloud-hosted, database-as-a-service version of MySQL. Its primary purpose is to eliminate the management cost of MySQL databases and provide automatic database replication and failover. By adding software stacks on top of MySQL and leveraging geo-separated data clusters, ClearDB is able to guarantee 100% uptime. ClearDB supports major commercial cloud which includes Amazon EC2 and Windows Azure and also support customized data centers or a hybrid of the two.[03][04]

Checkpoints[05]


It uses both Fuzzy and Sharp checkpoint. It takes a sharp checkpoint when the database is performing shut down and uses fuzzy checkpoint during normal database operations.

Compression[06][07]


InnoDB supports multiple compression algorithms which include Zlib and LZ4. When writing a page to disk, data were first compressed and then written to disk. Then empty blocks will be released by hole punching mechanism.

Concurrency Control[08][09]


MySQL uses a combination of Multiversion Concurrency Control (MVCC) and row-level locking to achieve better concurrency. Old versions of rows are stored in a rollback segment which could later be used to rollback changes. Rollback segments are partitioned into the insert and update undo logs for different types of rollbacks.

Data Model


Foreign Keys[10]


The build-in MySQL natively supports foreign key constraints.

Indexes[11]


MySQL support multiple types of indexes. Most MySQL tables stored on disks use B-trees. Spatial data uses R-tree for indexes. MySQL also uses hash indexes for memory tables.

Joins[12][13][14]


MySQL employs both nested loop join as well as hash join algorithms. Nested loop joins are used by default and hash join was used when the join has an equi-join condition and no indexes were used. Block nested loop, as well as Batched Key Access Joins, are used to improve join performance.

Logging[03][15]


To ensure data durability, ClearDB leverages durable storage as well as MySQL transaction log.

Query Execution[16]


MySQL follows an iterative processing mode and subqueries are optimized with materialization by storing subquery result in a temporary table

Query Interface[17]


ClearDB MySQL natively supports SQL and stored procedures for query executions.

Storage Architecture[18][03]


On a higher level, ClearDB uses cloud-based durable storage. On a lower level, ClearDB MySQL uses InnoDB as the default storage engine and supports multiple other storage engines: MyISAM, Memory (Heap Engine), Merge, Archive, Federated, and NDB.

System Architecture


Citations

20 sources
  1. http://www.cleardb.com cleardb.com Dead — Check Archive
  2. http://w2.cleardb.net/developers cleardb.net Dead — Check Archive
  3. https://w2.cleardb.net/faqs/ cleardb.net Dead — Check Archive
  4. https://www.cleardb.com/developers/platform/overview cleardb.com Dead — Check Archive
  5. https://www.xaprb.com/blog/2011/01/29/how-innodb-performs-a-checkpoint xaprb.com Dead — Check Archive
  6. https://dev.mysql.com/doc/refman/8.0/en/innodb-table-compression.html mysql.com
  7. https://dev.mysql.com/doc/refman/8.0/en/innodb-page-compression.html mysql.com
  8. https://dev.mysql.com/doc/refman/8.0/en/innodb-multi-versioning.html mysql.com
  9. 1. MySQL Architecture - High Performance MySQL, 2nd Edition [Book] oreilly.com
  10. https://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html mysql.com
  11. https://dev.mysql.com/doc/refman/8.0/en/mysql-indexes.html mysql.com
  12. https://dev.mysql.com/doc/refman/8.0/en/hash-joins.html mysql.com
  13. https://dev.mysql.com/doc/refman/5.7/en/nested-loop-joins.html mysql.com
  14. https://dev.mysql.com/doc/refman/8.0/en/bnl-bka-optimization.html mysql.com
  15. https://dev.mysql.com/doc/refman/5.7/en/server-logs.html mysql.com
  16. https://dev.mysql.com/doc/refman/8.0/en/subquery-materialization.html mysql.com
  17. https://dev.mysql.com/doc/refman/8.0/en/sql-statements.html mysql.com
  18. https://dev.mysql.com/doc/refman/5.5/en/storage-engines.html mysql.com
  19. http://w2.cleardb.net/about-page/ cleardb.net Dead — Check Archive
  20. RDX Continues Strategic Expansion with ClearDB Acquisition prnewswire.com
Revision #12