Дизайн BigTable - верхний предел размера ячейки BigTable - PullRequest
0 голосов
/ 14 января 2012

Я хочу знать, имеет ли BigTable верхний предел размера содержимого ячейки. Под ячейкой BigTable я подразумеваю ячейку в определенном семействе столбцов таблицы, конкретной строке и определенной отметке времени. Если да, то каков верхний предел, если нет, то до какой степени можно увеличить размер ячейки без ущерба для производительности?

В документе BigTable говорится, что каждый файл SSTable имеет внутренние блоки по 64 КБ и индекс. Означает ли это, что ключом индекса является строка + столбец + отметка времени (где + представляет собой конкатенацию), а значение, сопоставленное определенным ключом, соответствует ячейке размером 64 КБ? Значит ли это, что ячейка BigTable не может превышать 64 КБ?

Спасибо

Ответы [ 2 ]

1 голос
/ 14 января 2012

Вы имеете в виду специфическую реализацию Google для большой таблицы? Я думаю, что только кто-то в Google может ответить на этот вопрос.

Сама бумага не ограничивает ячейки до 64 кб. Хотя это и не упоминается, я думаю, что ячейки могут занимать несколько блоков sstable.

Две основные реализации модели данных больших таблиц с открытым исходным кодом позволяют использовать ячейки размером более 64 КБ. Apache Cassandra имеет техническое ограничение в 2 Гб, хотя практическое ограничение намного меньше. Apache HBase faq рекомендует не использовать ячейки размером более 10 Мб, но я не уверен в реальных технических ограничениях.

0 голосов
/ 27 декабря 2017

Согласно Проектирование вашей схемы в документации BigTable есть рекомендуемые пределы и жесткие ограничения для отдельных значений.

Рекомендуемый предел: ~ 10 мегабайт (10,4858 мегабайт)

Жесткий предел: 100 мегабайт

Однако стоит отметить, что существуют также рекомендуемые жесткие ограничения для рядов и достаточное количество ячеек, которые соответствуют рекомендованным / жестким пределам, которые могут значительно превышать пределы строк.,

...