Bigtable предоставляет базовое хранилище ключей / значений, описанное в статье здесь . Значения хранятся в строках и столбцах. Ключи строки и столбца являются произвольными байтовыми строками. Для более подробной информации см. Статью. Основные операции, которые обеспечивает Bigtable, - это поиск отдельных ключей строк и столбцов и диапазонов строк.
Поверх Bigtable есть слой абстракции под названием Megastore . Megastore использует примитивы bigtable для создания более универсальной платформы баз данных. Он добавляет индексирование - используя отдельные большие таблицы в качестве индексов - и запросы с использованием этих индексов. Также добавлена поддержка replication . Именно Megastore предоставляет большую часть того, что мы называем хранилищем данных App Engine, таких как составные индексы и множество запросов, которые предоставляет хранилище данных.
Наконец, App Engine реализует несколько собственных вещей поверх Megastore, таких как формат ключей сущностей App Engine, предоставляя каждому приложению свое собственное хранилище данных и реализуя определенные операции, такие как 'IN' и '! =', В слой абстракции в SDK каждого языка.