Разница между Google Appengine и фактическим большим столом - PullRequest
4 голосов
/ 30 марта 2011

Я знаю, что механизм приложений реализован на больших таблицах, может кто-нибудь описать разницу между реальной реализацией больших таблиц и реализацией больших таблиц в Google .ie (механизм приложений)

1 Ответ

5 голосов
/ 31 марта 2011

Bigtable предоставляет базовое хранилище ключей / значений, описанное в статье здесь . Значения хранятся в строках и столбцах. Ключи строки и столбца являются произвольными байтовыми строками. Для более подробной информации см. Статью. Основные операции, которые обеспечивает Bigtable, - это поиск отдельных ключей строк и столбцов и диапазонов строк.

Поверх Bigtable есть слой абстракции под названием Megastore . Megastore использует примитивы bigtable для создания более универсальной платформы баз данных. Он добавляет индексирование - используя отдельные большие таблицы в качестве индексов - и запросы с использованием этих индексов. Также добавлена ​​поддержка replication . Именно Megastore предоставляет большую часть того, что мы называем хранилищем данных App Engine, таких как составные индексы и множество запросов, которые предоставляет хранилище данных.

Наконец, App Engine реализует несколько собственных вещей поверх Megastore, таких как формат ключей сущностей App Engine, предоставляя каждому приложению свое собственное хранилище данных и реализуя определенные операции, такие как 'IN' и '! =', В слой абстракции в SDK каждого языка.

...