Bigtable provides the basic key / value store described in the document here . Values ββare stored in rows and columns. The row and column keys are arbitrary byte strings. See the document for more details. The main operations of Bigtable are to search for individual row and column keys and row ranges.
At the top of the Bigtable there is an abstraction layer called Megastore . Megastore uses bigtable primitives to create a more versatile database platform. It adds indexing β using individual bigtables as indexes β and queries that use these indexes. It also adds replication support. This is Megastore, which provides most of what we see as the App Engine datastore, such as composite indexes and the many queries provided by the datastore.
Finally, the App Engine implements several of its functions on top of Megastore, such as the App Engine entity key format, providing each application with its own data store and implementing certain operations, such as "IN" and "! =", At the level of abstraction in each SDK language.
source share