Создает ли Hbase HFile для каждого семейства столбцов или columnFamily: Column?

Я пытаюсь понять архитектуру Hbase в отношении логической модели данных и физического хранилища данных. Меня немного смущает создание HFile. Если у нас есть семейство столбцов с двумя столбцами, создает ли Hbase 2 HFiles или только один?

Ниже приведена диаграмма, которую я искал, а в приведенном ниже примере показано логическое и физическое сопоставление для каждого cf: col. Пожалуйста, помогите мне устранить эту путаницу

https://mapr.com/blog/hbase-and-mapr-db-designed-distribution-scale-and-speed/assets/blogimages/Logical-vs-physical-storage.png


person AnswerSeeker    schedule 02.04.2019    source источник


Ответы (1)


HFiles создаются на основе семейства столбцов, поэтому cf1:a и cf1:b будут храниться в одном и том же HFile, если они находятся в одном регионе, а cf2:a будут в другом.

На диаграмме Address:street и Address:city оба являются частью семейства столбцов Address, и данные окажутся в одном и том же HFile.

То же самое и для MemStore, поэтому для каждого семейства столбцов на одном RegionServer будет отдельный экземпляр MemStore.

person sompet    schedule 02.04.2019
comment
Спасибо @sompet. Я принял ваш ответ. Имеет смысл хранить CF в HFile, а не в CF:Column. - person AnswerSeeker; 03.04.2019