После того, как я попробовал множество решений nosql, мои лучшие ставки будут:
- riak + riak поиск отличной масштабируемости
- ненормализованные данные в mysql / postgresql
- mongoDB, если вы не против подождать
- couchdb, если вы ЗНАЕТЕ, что ищете
Riak + Riak Search легко масштабируется (ДЕЙСТВИТЕЛЬНО!) И позволяет вам свободно обрабатывать ваши данные. Вы также можете легко смешивать схемы данных и, возможно, даже сжимать данные с помощью innostore в качестве бэкэнда.
MongoDB раздражает масштабирование нескольких гигабайт данных, если вы действительно хотите использовать индексы, а не замедлять сканирование. Это действительно быстро, учитывая производительность одного узла и предлагает создание индекса. Как только ваш рабочий набор данных больше не помещается в память, это становится проблемой ...
mysql / postgresql по-прежнему довольно быстр и позволяет выполнять запросы произвольной формы благодаря обычным индексам дерева b +. Посмотрите на postgres частичные индексы , если некоторые поля не отображаются в каждой записи. Они также предлагают сжатые таблицы, и поскольку схема исправлена, вы не сохраняете имена строк снова и снова (это обычно происходит для большинства решений nosql)
CouchDB хороша, если вы уже знаете запросы, которые хотите видеть, их инкрементные карты / уменьшенные представления являются отличной системой для этого.