Bigtable is a fully managed wide-column and key-value NoSQL database service for large analytical and operational workloads as part of the Google Cloud portfolio.
Apache HBase and Apache Cassandra are some of the best known open source projects that were modeled after Bigtable. Bigtable offers HBase and Cassandra compatible APIs.
On May 6, 2015, a public version of Bigtable was made available as a part of Google Cloud under the name Cloud Bigtable.
As of April 2024, Bigtable manages over 10 Exabytes of data and serves more than 7 billion requests per second. Since its launch, Google announced a number of updates to Bigtable, including SQL support, materialized views (which addresses secondary index use cases) and automated scalability.
Tables are split into multiple tablets – segments of the table are split at certain row keys so that each tablet is a few hundred megabytes or a few gigabytes in size. A bigtable is somewhat like a mapreduce worker pool in that thousands to hundreds of thousands of tablet shards may be served by hundreds to thousands of BigTable servers. When Table size threaten to grow beyond a specified limit, the tablets may be compressed using the algorithm BMDiff. and the Zippy compression algorithm. publicly known and open-sourced as Snappy,. which is a less space-optimal variation of LZ77 but more efficient in terms of computing time. The locations in the GFS of tablets are recorded as database entries in multiple special tablets, which are called "META1" tablets. META1 tablets are found by querying the single "META0" tablet, which typically resides on a server of its own since it is often queried by clients as to the location of the "META1" tablet which itself has the answer to the question of where the actual data is located. Like GFS's master server, the META0 server is not generally a bottleneck since the processor time and bandwidth necessary to discover and transmit META1 locations is minimal and clients aggressively cache locations to minimize queries.
|
|