Bigtable is a fully managed
wide-column and
key-value NoSQL
NoSQL (originally meaning "Not only SQL" or "non-relational") refers to a type of database design that stores and retrieves data differently from the traditional table-based structure of relational databases. Unlike relational databases, which ...
database service for large analytical and operational workloads as part of the
Google Cloud portfolio.
History
Bigtable development began in 2004.
[.] It is now used by a number of Google applications, such as
Google Analytics
Google Analytics is a web analytics service offered by Google that tracks and reports website traffic and also mobile app traffic and events, currently as a platform inside the Google Marketing Platform brand. Google launched the service in N ...
,
web indexing,
MapReduce, which is often used for generating and modifying data stored in Bigtable,
Google Maps
Google Maps is a web mapping platform and consumer application offered by Google. It offers satellite imagery, aerial photography, street maps, 360° interactive panorama, interactive panoramic views of streets (Google Street View, Street View ...
,
[.] Google Books
Google Books (previously known as Google Book Search, Google Print, and by its code-name Project Ocean) is a service from Google that searches the full text of books and magazines that Google has scanned, converted to text using optical charac ...
search, "My Search History",
Google Earth
Google Earth is a web mapping, web and computer program created by Google that renders a 3D computer graphics, 3D representation of Earth based primarily on satellite imagery. The program maps the Earth by superimposition, superimposing satelli ...
,
Blogger.com,
Google Code hosting,
YouTube
YouTube is an American social media and online video sharing platform owned by Google. YouTube was founded on February 14, 2005, by Steve Chen, Chad Hurley, and Jawed Karim who were three former employees of PayPal. Headquartered in ...
, and
Gmail
Gmail is the email service provided by Google. it had 1.5 billion active user (computing), users worldwide, making it the largest email service in the world. It also provides a webmail interface, accessible through a web browser, and is also ...
. Google's reasons for developing its own database include scalability and better control of performance characteristics.
Apache HBase and
Cassandra
Cassandra or Kassandra (; , , sometimes referred to as Alexandra; ) in Greek mythology was a Trojan priestess dedicated to the god Apollo and fated by him to utter true prophecy, prophecies but never to be believed. In modern usage her name is e ...
are some of the best known open source projects that were modeled after Bigtable. Bigtable offer
HBasean
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, includin
SQL supportmaterialized views(which addresses secondary index use cases) and automated scalability.
Design
Bigtable is one of the prototypical examples of a
wide-column store. It maps two arbitrary string values (row key and column key) and timestamp (hence three-dimensional mapping) into an associated arbitrary byte array. It is not a relational database and can be better defined as a sparse, distributed multi-dimensional sorted map. It is built on Colossus (
Google File System),
Chubby Lock Service, SSTable (log-structured storage like
LevelDB) and a few other
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
technologies. Bigtable is designed to scale into the
petabyte range across "hundreds or thousands of machines, and to make it easy to add more machines
othe system and automatically start taking advantage of those resources without any reconfiguration".
[.] For example, Google's copy of the web can be stored in a bigtable where the row key is a
domain-reversed URL, and columns describe various properties of a web page, with one particular column holding the page itself. The page column can have several timestamped versions describing different copies of the web page timestamped by when they were fetched. Each cell of a bigtable can have zero or more timestamped versions of the data. Another function of the timestamp is to allow for both
versioning and
garbage collection of expired data.
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
LZ77 and LZ78 are the two lossless data compression algorithms published in papers by Abraham Lempel and Jacob Ziv in 1977 and 1978.
They are also known as Lempel-Ziv 1 (LZ1) and Lempel-Ziv 2 (LZ2) respectively. These two algorithms form the basis ...
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.
References
Bibliography
*
External links
* . .
** .
** .
* .
* .
{{Google LLC
Database management systems
Distributed data stores
Google
Cloud_databases