Подходит ли это (или возможно) использование HBase?

StackOverflow https://stackoverflow.com/questions/1683648

  •  18-09-2019
  •  | 
  •  

Вопрос

Я хочу использовать HBase в качестве хранилища, куда я могу вставить несколько миллионов записей формата {document => {term => weight}} например«Вставьте термин X в документ Y с весом Z», а затем введите команду типа «Выберите 1000 самых популярных терминов для этого документа» или «Выберите 1000 самых популярных терминов для каждого документа».Это работает в моей текущей реализации MySQL, но, возможно, этот домен больше подходит для HBase.Отмечу, что HBase и BigTable используются для полнотекстовой индексации, что является аналогичной проблемной областью.

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

Возможные препятствия могут включать в себя запрет HBase на запросы, эквивалентные LIMIT пункт.Учитывая, что я хочу запросить по весу, я хотел бы связать {weight => term}, что было бы проблематично для двух терминов с одинаковым весом (я предполагаю, что HBase допускает только уникальные ключи).В качестве альтернативы мне пришлось бы хранить набор терминов для заданного веса, но это ограничило бы мою способность точно ограничивать количество возвращаемых терминов.

Это было полезно?

Решение

Простой ответ: да.

Более сложный ответ: сегодня каждое из этих хранилищ данных «без sql» реализует свой собственный программный интерфейс, и, как подразумевает «без sql», они не основаны на SQL.Так что будьте готовы к некоторому программированию, хотя это не так уж и сложно.В основном эти хранилища данных представляют собой просто хранилища пар значений имени, полученные через REST или SOAP (в HBase также есть концепция семейств столбцов).Однако они действительно подходят для использования Map Download, очень интересной области запросов, о которой стоит прочитать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top