Почему у BigTable есть семейства столбцов?
Почему BigTable структурирован как двухуровневая иерархия "семья: квалификатор"? В частности, почему это принудительно, а не просто наличие столбцов и, скажем, рекомендация, чтобы пользователи называли свои квалификаторы "вертикальный: столбец"?
Меня интересует, обеспечивает ли это принудительное выполнение некоторых инженерных оптимизаций или это строго с точки зрения дизайна.
1 ответ
Есть несколько преимуществ для семейных групп:
запросы становятся проще, если получить группу определителей столбцов в одном семействе столбцов
У Bigtable есть понятие "группы местностей". Группы локализаций позволяют записывать семейство в отдельный файл, что помогает в ситуациях, когда к некоторым семействам столбцов обращаются реже, чем к другим. Вы можете увидеть некоторую информацию о локальных группах в этом анализе HBase vs. Bigtable.