Google BigTable is a distributed, column-oriented data store created by Google Inc. to handle very large amounts of structured data associated with the company's Internet search and Web services operations.
BigTable was designed to support applications requiring massive scalability; from its first iteration, the technology was intended to be used with petabytes of data. The database was designed to be deployed on clustered systems and uses a simple data model that Google has described as "a sparse, distributed, persistent multidimensional sorted map." Data is assembled in order by row key, and indexing of the map is arranged according to row, column keys and timestamps. Compression algorithms help achieve high capacity.
Google BigTable serves as the database for applications such as the Google App Engine Datastore, Google Personalized Search, Google Earth and Google Analytics. Google has maintained the software as a proprietary, in-house technology. Nevertheless, BigTable has had a large impact on NoSQL database design. Google software developers publicly disclosed BigTable details in a technical paper presented at the USENIX Symposium on Operating Systems and Design Implementation in 2006.
Google's thorough description of BigTable's inner workings has allowed other organizations and open source development teams to create BigTable derivatives, including the Apache HBase database, which is built to run on top of the Hadoop Distributed File System (HDFS). Other examples include Cassandra, which originated at Facebook Inc., and Hypertable, an open source technology that is marketed in a commercial version as an alternative to HBase.
See also: columnar database