Большой стол
Разработчик(и) | |
---|---|
Первоначальный выпуск | февраль 2005 г |
Написано в | |
Платформа | Облачная платформа Google |
Тип | Облачное хранилище |
Лицензия | Собственный |
Веб-сайт | облако |
Bigtable — это полностью управляемая с широкими столбцами и ключами служба баз данных NoSQL для больших аналитических и операционных нагрузок, входящая в портфолио Google Cloud .
История [ править ]
Разработка Bigtable началась в 2004 году. [1] Сейчас он используется рядом приложений Google, таких как Google Analytics . [2] веб-индексация, [3] MapReduce , который часто используется для создания и изменения данных, хранящихся в Bigtable. [4] Карты Гугл , [5] Поиск в Google Книгах , «Моя история поиска», Google Earth , Blogger.com , кода Google хостинг , YouTube , [6] и Gmail . [7] Причины, по которым Google разработала собственную базу данных, включают масштабируемость и лучший контроль характеристик производительности. [8]
Google F1 был создан с использованием Spanner для замены реализации на базе MySQL . [9]
Apache HBase и Cassandra — одни из самых известных проектов с открытым исходным кодом, созданных по образцу Bigtable.
6 мая 2015 года общедоступная версия Bigtable стала доступна как часть Google Cloud под названием Cloud Bigtable. [2]
По состоянию на январь 2022 года Bigtable управляет более чем 10 эксабайтами данных и обслуживает более 5 миллиардов запросов в секунду. [10] 27 января 2022 года Google анонсировала ряд обновлений Bigtable, включая автоматическое масштабирование. [11]
Дизайн [ править ]
Bigtable — один из прототипов магазинов с широкими столбцами . Он отображает два произвольных строковых значения (ключ строки и ключ столбца) и метку времени (следовательно, трехмерное отображение) в связанный произвольный массив байтов. Это не реляционная база данных, и ее лучше определить как разреженную распределенную многомерную отсортированную карту. [3] : 1 Он построен на Colossus ( Файловая система Google ), Chubby Lock Service , SSTable (хранилище с журнальной структурой, такое как LevelDB ) и нескольких других Google технологиях . Bigtable предназначен для масштабирования до петабайтного диапазона на «сотнях или тысячах компьютеров, а также для упрощения добавления новых компьютеров [в] систему и автоматического начала использования этих ресурсов без какой-либо реконфигурации». [12] Например, копия Интернета Google может храниться в большой таблице, где ключом строки является URL-адрес с обратным доменом , а столбцы описывают различные свойства веб-страницы, причем один конкретный столбец содержит саму страницу. Столбец страницы может иметь несколько версий с отметкой времени, описывающих различные копии веб-страницы с отметкой времени их получения. Каждая ячейка большой таблицы может содержать ноль или более версий данных с отметкой времени. Другая функция временной метки — обеспечить управление версиями и сборку мусора просроченных данных.
Таблицы разбиваются на несколько планшетов — сегменты таблицы разбиваются по определенным ключам строк, так что размер каждого планшета составляет несколько сотен мегабайт или несколько гигабайт. Bigtable чем-то похож на рабочий пул Mapreduce в том смысле, что от сотен до тысяч серверов BigTable могут обслуживаться от тысяч до сотен тысяч фрагментов планшета. Когда размер таблицы угрожает превысить заданный предел, таблетки можно сжать с помощью алгоритма BMDiff. [13] [14] и алгоритм сжатия Zippy [15] общеизвестный и с открытым исходным кодом как Snappy , [16] Это менее оптимальная по размеру вариация LZ77 , но более эффективная с точки зрения времени вычислений. Местоположение планшетов в GFS записывается как записи базы данных в нескольких специальных планшетах, которые называются планшетами «META1». Таблетки META1 находятся путем запроса одного планшета «META0», который обычно находится на собственном сервере, поскольку клиенты часто запрашивают его о местонахождении планшета «META1», который сам по себе имеет ответ на вопрос, где находится планшет META1. находятся фактические данные. Как и главный сервер GFS, сервер META0 обычно не является узким местом , поскольку процессорное время и пропускная способность, необходимые для обнаружения и передачи местоположений META1, минимальны, а клиенты активно кэшируют местоположения, чтобы минимизировать количество запросов.
Ссылки [ править ]
- ^ Хичкок, Эндрю, Bigtable Google , получено 29 июля 2007 г. ,
сначала обзор. Bigtable находится в разработке с начала 2004 года и активно используется около восьми месяцев (около февраля 2005 года).
. - ^ Jump up to: Перейти обратно: а б «Анонсируем Google Cloud Bigtable: та же база данных, которая поддерживает поиск Google, Gmail и аналитику, теперь доступна на Google Cloud Platform» . Гугл-блог . 6 мая 2015 года . Проверено 21 сентября 2016 г.
- ^ Jump up to: Перейти обратно: а б Чанг и др. 2006 год .
- ^ Чанг и др. 2006 , с. 3: «Bigtable можно использовать с MapReduce — платформой для выполнения крупномасштабных параллельных вычислений, разработанной в Google. Мы написали набор оболочек, которые позволяют использовать Bigtable как в качестве источника ввода, так и в качестве цели вывода для заданий MapReduce.
- ^ Хичкок, Эндрю, Bigtable Google , получено 29 июля 2007 г. В
настоящее время существует около 100 ячеек для таких сервисов, как печать, история поиска, карты и Orkut
. - ^ Кордес, Кайл (12 июля 2007 г.), Масштабируемость YouTube (обсуждение) .
Их новое решение для миниатюр — использование Google Bigtable, которое обеспечивает высокую производительность для большого количества строк, отказоустойчивость, кэширование и т. д. Это хороший (и редкий?) пример реальной синергии при приобретении.
. - ^ «Как хранятся сущности и индексы», Google App Engine , Google Code, заархивировано из оригинала 7 января 2012 г. , получено 17 апреля 2014 г.
- ^ Чанг и др. 2006 г. , Заключение: «Мы описали Bigtable, распределенную систему хранения структурированных данных в Google... Нашим пользователям нравится производительность и высокая доступность, обеспечиваемые реализацией Bigtable, и то, что они могут масштабировать емкость своих кластеров, просто добавляя дополнительные машины к системе, поскольку их потребности в ресурсах со временем меняются... Наконец, мы обнаружили, что создание собственного решения для хранения данных в Google дает значительные преимущества. Мы получили значительную гибкость благодаря разработке собственной модели данных для Bigtable».
- ^ Шут, Джеффри «Джефф»; Оанча, Мирча; Эллнер, Стефан; Хэнди, Бенджамин «Бен»; Роллинз, Эрик; Сэмвел, Барт; Вингалек, Радек; Уипки, Чад; Чен, Синь; Егерленер, Бит; Литтлфилд, Кайл; Тонг, Феникс (2012), «Краткое содержание; F1 — отказоустойчивая распределенная СУБД, поддерживающая рекламный бизнес Google», Исследования (презентация) , Sigmod , стр. 19.
Мы перенесли большой и критически важный пакет приложений с MySQL на F1.
{{citation}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ) . - ^ «Облаком Bigtable теперь еще проще управлять благодаря автомасштабированию» .
- ^ Кернер, Шон Майкл (27 января 2022 г.). «Google расширяет базу данных NoSQL Cloud Bigtable» . ТехТаржет . Проверено 10 октября 2022 г.
- ^ «Файловая система Google и Bigtable», Radar ( World Wide Web журнал ) , «Истории войны с базами данных», О'Рейли, май 2006 г.
- ^ «Google Bigtable, сжатие, Zippy и BMDiff» . 12 октября 2008 г. Архивировано из оригинала 1 мая 2013 г. . Проверено 14 апреля 2015 г. .
- ^ Бентли, Джон; Макилрой, Дуглас (1999). Сжатие данных с использованием длинных общих строк . DCC '99: Материалы конференции по сжатию данных. Компьютерное общество IEEE. CiteSeerX 10.1.1.11.8470 . дои : 10.1109/DCC.1999.755678 .
- ^ "Google's Bigtable", Внешний суд (блог) , 23 октября 2005 г.
- ^ Snappy (проект) .
Библиография [ править ]
- Чанг, Фэй; Дин, Джеффри; Гемават, Санджай; Се, Уилсон К.; Уоллах, Дебора А.; Берроуз, Майк; Чандра, Тушар; Файкс, Эндрю; Грубер, Роберт Э. (2006), «Bigtable: распределенная система хранения структурированных данных» ( загрузить электронную книгу) (PDF) .
Внешние ссылки [ править ]
- Bigtable: Распределенная структурированная система хранения данных , Вашингтон . Видео , заархивировано из оригинала 18 апреля 2011 года , получено 11 июля 2006 года .
- UWTV , заархивировано из оригинала (видео) 15 июня 2006 года .
- Хичкок, Эндрю, Google's Bigtable (примечания к официальной презентации) , получено 29 июля 2007 г.
- Карр, Дэвид Ф. (6 июля 2006 г.), «Как работает Google» , Baseline .
- «Обречена ли реляционная база данных?», Интернет-чтение и запись , 12 февраля 2009 г.