Большой стол

терабайт или петабайт масштаба

каждая строка индексируется с помощью `ключ строки`

масштабируется прямо пропорционально количеству машин в вашем кластере

Обновление и перезапуск кластера без простоев и потери данных

Если новый узел добавлен в кластер, данные автоматически реплицируются.

очень высокая пропускная способность и масштабируемость для неструктурированных данных типа "ключ-значение", где размер каждого значения обычно не превышает 10 МБ.

Вы можете использовать Cloud Bigtable для хранения и запроса всех следующих типов данных:

  • Данные временного ряда, такие как использование ЦП и памяти с течением времени для нескольких серверов.
  • Маркетинговые данные, такие как история покупок и предпочтения клиентов.
  • Финансовые данные, такие как история транзакций, курсы акций и обменные курсы валют.
  • Данные Интернета вещей, например отчеты об использовании счетчиков энергии и бытовой техники.
  • Графические данные, например информация о том, как пользователи связаны друг с другом.

Восстановление после сбоя узла Cloud Bigtable происходит очень быстро, поскольку на новый узел необходимо перенести только метаданные.

При сбое узла Cloud Bigtable данные не теряются.

Вы можете управлять безопасностью на уровне проекта и на уровне экземпляра. Cloud Bigtable не поддерживает ограничения безопасности на уровне таблицы, строки, столбца или ячейки.

Cloud Bigtable и другие варианты хранения

Cloud Bigtable — это не реляционная база данных;

он не поддерживает SQL-запросы или объединения, а также не поддерживает многострочные транзакции.

Кроме того, это не лучшее решение для хранения менее 1 ТБ данных.

  • Если вам нужна полная поддержка SQL для системы онлайн-обработки транзакций (OLTP), рассмотрите Cloud Spanner или Cloud SQL.
  • Если вам нужны интерактивные запросы в системе онлайн-аналитической обработки (OLAP), рассмотрите BigQuery.
  • Если вам нужно хранить неизменяемые BLOB-объекты размером более 10 МБ, например большие изображения или фильмы, рассмотрите вариант Облачное хранилище.
  • Если вам нужно хранить высокоструктурированные объекты в базе данных документов с поддержкой транзакций ACID и SQL-подобных запросов, рассмотрите Облачное хранилище данных.
  • Типы экземпляров

производство: более 1,2,3 узла кластера

разработка: нет SLA или нет гарантии репликации

можно модернизировать до производства

  • Параметры диска

SSD для большей пропускной способности

Жесткий диск для экономии средств и ограниченного нечастого доступа к данным, объем данных должен превышать › 10 ТБ

  • Показатели мониторинга

ЦП для одного узла 70 % мин. 90 % макс.

Загрузка ЦП самого горячего узла:

используйте ключевой инструмент визуализатора.

проверить схему таблицы на предмет равномерного распределения записей

Использование диска установлено на 70%

Если какой-либо кластер в экземпляре превышает жесткое ограничение на объем хранилища на узел, запись во все кластеры в этом экземпляре будет завершаться ошибкой до тех пор, пока вы не добавите узлы в каждый кластер, превышающий лимит.

Кроме того, если вы попытаетесь удалить узлы из кластера, и это изменение приведет к превышению жесткого ограничения на хранилище кластера, Cloud Bigtable отклонит запрос.

Загрузка диска составляет 100%, добавьте больше узлов, чтобы уменьшить ее.

  • Дизайн схемы

каждая строка имеет только один ключ строки и индекс: нет вторичного индекса

атомарный на уровне строки

пустые столбцы не занимают места

Строки сортируются лексикографически по ключу строки

Связанные объекты должны храниться в соседних строках

Таблицы Cloud Bigtable разрежены

ограничение размера:

10 МБ на каждую ячейку и 100 МБ на строку

Выбор ключа строки:

  • обратные доменные имена
  • использовать строку вместо хеша
  • избегайте размещения метки времени в начале ключа строки
  • Рекомендуется использовать метку времени как часть ключа строки: machine_4223421#142533075768
  • несколько значений в ключе строки

Ключи строки, которых следует избегать

  • Доменные имена
  • Последовательные идентификаторы
  • хешированные значения
  • часто обновляемый идентификатор, например memusage#9010