HBase один ко многим «отношения» хранения - PullRequest
5 голосов
/ 14 апреля 2011

Я размышляю над лучшим способом реализации отношения один ко многим в HBase.

Скажем, У СЧЕТА есть много СДЕЛОК.Лучше ли

а) Добавить столбцы в транзакции: семейство столбцов в таблице ACCOUNT, т.е. транзакции: 1: сумма, транзакции: 2: сумма

б) Сохранять только ключ (s) каждой транзакции, относящейся к учетной записи в транзакциях: семейство столбцов ACCOUNT, и выполняется ли поиск каждой транзакции, найденной в отдельной таблице транзакций?

Ответы [ 3 ]

5 голосов
/ 16 сентября 2011

Как правило, вариант а является лучшим подходом.

Это позволяет легко запрашивать все транзакции для учетной записи одновременно. Для каждой транзакции дополнительный поиск не требуется.

В некоторых случаях может быть уместен вариант b, например, часто выполняющиеся запросы ко всем транзакциям.

0 голосов
/ 01 мая 2018

Как насчет значения в одном столбце и использования разделителя, такого как $ и #. Ниже приведен пример данных:

Column Family: Transactions
Column Value: $ transactionID:1#amount:100 $ transactionID:2#amount:200 $ transactionID:3#amount:300

Теперь вы можете использовать разделители $ и # для извлечения значений и использовать массивы String для обработки данных.

0 голосов
/ 10 апреля 2015

Я думаю, что вариант (а) будет в порядке, если единственным элементом данных, который необходимо отслеживать для учетной записи, является сумма. Однако, если вам нужно захватить много других элементов данных, я думаю, что нам придется использовать вариант (b), даже если он менее эффективен, чем (a)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...