Классика баз данных - статьи

       

Совместное использование машин пользователями. Хотя


• Совместное использование машин пользователями. Хотя в интерфейсе Bigtable имеются средства поддержки нескольких пользователей, в реализации пока еще не обеспечивается достаточная изоляция пользователей. Продолжается работа по развитию возможностей Bigtable управления ресурсами и изоляции пользователей.

• Репликация между центрами данных. В настоящее время пользователи Bigtable могут установить режим отложенной (lazy) репликации своих таблиц (которые могут размещаться в разных центрах данных). Эта система репликации гарантирует уровень согласованности, достаточный для многих пользователей. Однако для некоторых клиентов (в частности, тех, которые создают продукты для конечных пользователей) требуются более строгие гарантии согласованности и доступности данных. Для предоставления таких гарантий разрабатываются дополнительные средства как поверх Bigtable, так и внутри системы.

• Присоединение вычислений к данным. Для поддержки длительных вычислений, в которых требуется доступ к данным в Bigtable, разрабатывается API, позволяющий пользователям выполнять код на тех же машинах, в которых хранятся данные. Хотя в инфраструктуре Map-Reduce [] обеспечивается некоторая поддержка выполнения вычислений поблизости от данных, в ней не предоставляются какие-либо строгие гарантии.

• Более выразительные запросы. В Bigtable не поддерживается SQL. В настоящее время для формулировки запросов используется разработанный в Google язык Sawzall [], позволяющий задавать условия фильтрации данных на стороне сервера. По разным причинам это средство использовать неудобно, и для описания даже простых фильтров требуется изрядный объем работы. В настоящее время реализуется небольшой язык, в котором будет поддерживаться большинство разновидностей фильтров, требуемых пользователям.

• Прямая поддержка индексирования. Многие пользователи хотят хранить в Bigtable индексированные данные. В настоящее время им приходится самим управлять индексами.Ведется работа по встраиванию поддержки индексов непосредственно в Bigtable.

Большинство этих возможностей добавляется прямо в систему Bigtable, но некоторые из них создаются на уровне клиентов поверх Bigtable. Например, в проекте Megastore создаются более общие средства поддержки транзакций, согласованной репликации и DAO (Data Access Objects). Хотя Bigtable не является базой данных, большая часть добавляемых возможностей хорошо знакома сообществу баз данных, что не удивительно, если учитывать полезность этих возможностей. Интересно то, что проектирование и реализация Bigtable заняли всего 1-2 года, и это привело к созданию высокопроизводительной, сильно распределенной системы хранения данных.


Содержание  Назад  Вперед