Посоветуйте, пожалуйста, решение для базы данных для службы с интенсивным чтением, практически без записей - PullRequest
0 голосов
/ 21 февраля 2012

У меня есть медленно растущая коллекция из примерно 3 миллионов документов с тегами, и я хочу иметь возможность выбирать документы из этой коллекции по тегам настолько быстро, насколько это возможно (т. Е. Не писать собственные решения для индексирования в c и т. Д.).

Например, я хочу выбрать все документы, помеченные «foo» и «bar», или выбрать все документы, помеченные «foo» и not «bar».

Другое дело, большое (?) Количество тегов: 200 тыс. В настоящее время, 0,5-1 тыс. Запланированных и 2 тыс. В худшем случае.Я знаю, что эти цифры не являются чем-то необычным по современным стандартам, но лично я никогда не работал с такими большими наборами данных, мой общий опыт работы с базами данных как-то ограничен, и есть так много доступных вариантов ...

сейчас я рассматриваю mongodb, потому что он имеет именно то, что мне нужно - мультиключи.Mongobd хорош для быстрых запросов?
Будут ли другие, казалось бы, похожие проекты nosql (например, CouchDb) лучше служить моей цели?Или мне стоит попробовать старый добрый MySQL?

Стоит ли смотреть на такие "большие таблицы", как hypertable или hbase?

1 Ответ

0 голосов
/ 21 февраля 2012

MongoDB или Mysql будет хорошо, если у вас достаточно оперативной памяти на сервере. Mongo хорош для горизонтального масштабирования с автоматическим шардингом. Mongo будет использовать больше дискового пространства, чем MySQL. Для самых быстрых чтений всегда лучше использовать redis или memcached для наиболее часто используемых запросов.

...