Это похоже на другой вопрос, который был задан, но в моих требованиях есть ключевые различия. Мне нужно хранить миллиарды строк, но они будут искать только по user_id, и у каждого конкретного пользователя вряд ли будет более 10 миллионов строк данных. Учитывая, что я никогда не выполняю поиск по всему набору данных, нужно ли мне даже рассматривать это как необычное требование?
Существуют сотни столбцов данных Boolean и Float, которые будут использоваться для получения статистики, я не могу полагаться на сводные таблицы для этих поисков, поскольку критерии будут непредсказуемыми.
Кроме того, мои данные являются последовательными, и к ним нужно будет обращаться с помощью поиска в реальном времени на основе user_id и диапазона времени (со специальным набором других условий). Скорость гораздо важнее, чем надежность.
Является ли HBase / Hypertable главным кандидатом, учитывая последовательный характер данных и большой набор данных? Опять же, будет ли это даже считаться большим набором данных, учитывая, что я обычно ищу по нескольким миллионам строк или меньше и максимум по 10 миллионам строк?
Не является ли Монго хорошим кандидатом из-за последовательного характера данных? Я читал, что поскольку Mongo хранит в бинарном дереве, это не хороший кандидат. Я также читал, что уменьшение карты не может быть распараллелено, и поэтому не имеет большой производительности. Если я должен использовать Hadoop, это еще одна причина, чтобы просто пойти с HBase?
Есть ли другой вариант, который лучше всего подходит, который я не рассматриваю?