Большой стол - Bigtable
Разработчики) | |
---|---|
изначальный выпуск | Февраль 2005 г. |
Написано в | |
Платформа | Облачная платформа Google |
Тип | Облачное хранилище |
Лицензия | Проприетарный |
Интернет сайт | облако |
Большой стол это сжатый, высокая производительность, проприетарный система хранения данных построена на Файловая система Google, Chubby Lock Сервис, SSTable (хранилище с лог-структурой, например LevelDB ) и несколько других Google технологии. 6 мая 2015 года публичная версия Bigtable стала доступна в качестве услуги. Bigtable также лежит в основе Google Cloud Datastore, который доступен как часть Облачная платформа Google.[1][2]
История
Разработка Bigtable началась в 2004 году.[3] и сейчас используется в ряде приложений Google, таких как веб-индексирование,[4] Уменьшение карты, который часто используется для создания и изменения данных, хранящихся в Bigtable,[5] Карты Гугл,[6] Поиск книг Google, "Моя история поиска", Гугл Земля, Blogger.com, Код Google хостинг YouTube,[7] и Gmail.[8] Причины, по которым Google разрабатывает собственную базу данных, включают масштабируемость и лучший контроль характеристик производительности.[9]
Google Гаечный ключ РСУБД построена на реализации Bigtable с Паксос группа для двухфазные коммиты к каждой таблице. Google F1 был построен с использованием Spanner для замены реализации, основанной на MySQL.[10]
дизайн
Bigtable - один из типичных примеров широкий колонный магазин. Он отображает два произвольных строковых значения (ключ строки и ключ столбца) и метку времени (отсюда трехмерное отображение) в связанный произвольный массив байтов. Это не реляционная база данных, и ее лучше определить как разреженную, распределенную многомерную отсортированную карту.[4]:1 Bigtable рассчитан на масштабирование петабайт охватывают «сотни или тысячи машин, чтобы упростить добавление дополнительных машин [в] систему и автоматическое использование этих ресурсов без какой-либо реконфигурации».[11] Например, копия сети Google может быть сохранена в большой таблице, где ключ строки - URL-адрес с обратным доменом, а столбцы описывают различные свойства веб-страницы, причем один конкретный столбец содержит саму страницу. Столбец страницы может иметь несколько версий с метками времени, описывающих разные копии веб-страницы с меткой времени, когда они были получены. Каждая ячейка большой таблицы может иметь ноль или несколько версий данных с отметками времени. Другая функция метки времени - разрешить как управление версиями и вывоз мусора просроченных данных.
Таблицы разбиты на несколько таблетки - сегменты таблицы разделены на определенные ключи строк, так что размер каждого планшета составляет несколько сотен мегабайт или несколько гигабайт. Bigtable чем-то напоминает рабочий пул mapreduce в том смысле, что от тысяч до сотен тысяч шардов планшетов могут обслуживаться от сотен до тысяч серверов BigTable. Когда размер таблицы угрожает превысить указанный предел, таблетки могут быть сжаты с использованием алгоритма BMDiff.[12][13] и алгоритм сжатия Zippy[14] общеизвестный и открытый как Мгновенный,[15] что является менее оптимальным по пространству вариантом LZ77 но более эффективен с точки зрения вычислительного времени. Расположение планшетов в GFS записывается как записи в базе данных на нескольких специальных планшетах, которые называются планшетами «META1». Таблетки META1 обнаруживаются путем запроса отдельного планшета "META0", который обычно находится на собственном сервере, поскольку клиенты часто запрашивают у него местонахождение планшета "META1", который сам отвечает на вопрос о том, где находится фактические данные находятся. Как и главный сервер GFS, сервер META0 обычно не является горлышко бутылки поскольку время процессора и полоса пропускания, необходимые для обнаружения и передачи местоположений META1, минимальны, а клиенты активно кэшируют местоположения, чтобы минимизировать количество запросов.
Смотрите также
- Большое количество данных
- Распределенное хранилище данных
- Динамо (система хранения)
- Магазин с широкой колонной
использованная литература
- ^ «Представляем Google Cloud Bigtable: та же база данных, которая поддерживает Google Search, Gmail и Analytics, теперь доступна на Google Cloud Platform». Блог Google. 6 мая 2015. Получено 21 сентября 2016.
- ^ «Начните работу с Google Cloud Datastore - быстрой, мощной базой данных NoSQL».
- ^ Хичкок, Эндрю, Bigtable от Google, получено 29 июля 2007,
Сначала обзор. Bigtable находится в разработке с начала 2004 г. и активно используется около восьми месяцев (примерно в феврале 2005 г.).
. - ^ а б Chang et al. 2006 г..
- ^ Chang et al. 2006 г., п. 3: «Bigtable можно использовать с MapReduce, фреймворком для крупномасштабных параллельных вычислений, разработанным в Google. Мы написали набор оболочек, которые позволяют использовать Bigtable как в качестве источника ввода, так и в качестве цели вывода для заданий MapReduce.
- ^ Хичкок, Эндрю, Bigtable от Google, получено 29 июля 2007,
В настоящее время существует около 100 ячеек для таких сервисов, как печать, история поиска, карты и Orkut.
. - ^ Кордес, Кайл (12 июля 2007 г.), Масштабируемость YouTube (говорить),
Их новое решение для миниатюр - использование Bigtable от Google, которое обеспечивает высокую производительность для большого количества строк, отказоустойчивость, кэширование и т. Д. Это хороший (и редкий?) Пример реального взаимодействия при приобретении.
. - ^ "Как хранятся объекты и индексы", Google App Engine, Google Code.
- ^ Chang et al. 2006 г., Заключение: «Мы описали Bigtable, распределенную систему для хранения структурированных данных в Google ... Нашим пользователям нравится производительность и высокая доступность, обеспечиваемая реализацией Bigtable, и то, что они могут масштабировать емкость своих кластеров, просто добавляя больше машин. к системе, поскольку их потребности в ресурсах меняются со временем ... Наконец, мы обнаружили, что создание собственного решения для хранения данных в Google дает значительные преимущества. Мы получили значительную гибкость, разработав собственную модель данных для Bigtable ».
- ^ Шут, Джеффри «Джефф»; Оанча, Мирча; Элльнер, Стефан; Хэнди, Бенджамин Бен; Роллинз, Эрик; Самвел, Барт; Вингралек, Радек; Уипки, Чад; Чен, Синь; Егерленер, Бит; Литтлфилд, Кайл; Тонг, Феникс (2012), «Резюме; F1 - отказоустойчивая распределенная СУБД, поддерживающая рекламный бизнес Google», Исследование (презентация), Sigmod, п. 19,
Мы переместили большой и важный набор приложений из MySQL в F1.
. - ^ "Файловая система Google и Bigtable", Радар (Всемирная сеть журнал), Database War Stories, О’Рейли, май 2006 г..
- ^ "Google Bigtable, Compression, Zippy и BMDiff". 12 октября 2008 г. Архивировано с оригинал 1 мая 2013 г.. Получено 14 апреля 2015..
- ^ Макилрой, Бентли. Сжатие данных с использованием длинных общих строк. DCC '99. IEEE. Дои:10.1109 / DCC.1999.755678..
- ^ "Большая таблица Google", Внешний суд (Журнал), 23 октября 2005 г..
- ^ "Быстрый", Код (проект).
Список используемой литературы
- Чанг, Фэй; Дин, Джеффри; Гемават, Санджай; Hsieh, Wilson C .; Wallach, Deborah A .; Берроуз, Майк; Чандра, Тушар; Фике, Андрей; Грубер, Роберт Э. (2006), «Bigtable: распределенная система хранения структурированных данных», (скачать электронную книгу) (PDF)CS1 maint: ref = harv (ссылка на сайт).
внешние ссылки
- Bigtable: распределенная структурированная система хранения, Вашингтон. видео.
- UWTV, заархивировано из оригинал (видео) 15 июня 2006 г..
- Хичкок, Эндрю, Bigtable от Google (примечания к официальной презентации), получено 29 июля 2007.
- Карр, Дэвид Ф (6 июля 2006 г.), "Как работает Google", Исходный уровень.
- "Обречена ли реляционная база данных?", Читать-писать в Интернете.