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]
- Website
- http://www.cleardb.com[01]
- Tech Docs
- http://w2.cleardb.net/developers[02]
- Developer
- Country of Origin
- US
- Start Year
- 2010 [15]
- Project Type
- Commercial
- Written in
- C++
- Derived From
- MySQL
- Embeds / Uses
- MySQL
- License
- Proprietary
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.
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.
Citations
16 sources- http://www.cleardb.com cleardb.com
- http://w2.cleardb.net/developers cleardb.net
- https://w2.cleardb.net/faqs/ cleardb.net
- https://www.cleardb.com/developers/platform/overview cleardb.com
- https://www.xaprb.com/blog/2011/01/29/how-innodb-performs-a-checkpoint xaprb.com
- https://dev.mysql.com/doc/refman/8.0/en/innodb-table-compression.html mysql.com
- https://dev.mysql.com/doc/refman/8.0/en/innodb-page-compression.html mysql.com
- https://dev.mysql.com/doc/refman/8.0/en/innodb-multi-versioning.html mysql.com
- 1. MySQL Architecture - High Performance MySQL, 2nd Edition [Book] oreilly.com
- https://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html mysql.com
- https://dev.mysql.com/doc/refman/8.0/en/mysql-indexes.html mysql.com
- https://dev.mysql.com/doc/refman/8.0/en/hash-joins.html mysql.com
- https://dev.mysql.com/doc/refman/5.7/en/nested-loop-joins.html mysql.com
- https://dev.mysql.com/doc/refman/8.0/en/bnl-bka-optimization.html mysql.com
- http://w2.cleardb.net/about-page/ cleardb.net
- RDX Continues Strategic Expansion with ClearDB Acquisition prnewswire.com