Contenu connexe
Similaire à Sphinx + MongoDB: работаем вместе. (20)
Sphinx + MongoDB: работаем вместе.
- 1. MongoDB + Sphinx :
живем вместе
«построение архитектуры
высоконагруженного проекта»
Евгений Дмитриченко,
CTO
компании «КвартСофт»
dm@quartsoft.com
©2012. QuartSoft Corp. www.quartsoft.com
- 2. Сущности в системе
Пользователи
Категории (граф)
Вопросы
Ответы
Комментарии
©2012. QuartSoft Corp. www.quartsoft.com 2
- 3. Необходимые представления
Все посты пользователя: вопросы, ответы, комментарии
Лента определенного вопроса: ответы, комментарии
Все посты, удовлетворяющие условиям поиска
Все посты из определенной категории
Популярные вопросы
…
©2012. QuartSoft Corp. www.quartsoft.com 3
- 4. MongoDB
Документо-ориентированная система управления базами
данных
БД состоит из коллекций
Коллекции состоят из документов
Документы состоят из полей
Выборки возвращают курсоры
©2012. QuartSoft Corp. www.quartsoft.com 4
- 5. MongoDB
Отсутствие предопределенной структуры документа
Быстрая асинхронная запись
Горизонтальная масштабируемость
MapReduce
©2012. QuartSoft Corp. www.quartsoft.com 5
- 6. Sphinx
Система полнотекстового поиска
Высокая скорость индексации и поиска
Масштабируемость
Интеграция с СУБД MySQL, PostgreSQL
Xmlpipe
©2012. QuartSoft Corp. www.quartsoft.com 6
- 7. Проблема
Нет прямой интеграции с MongoDB
Решение
Строим индекс с помощью xmlpipe2
©2012. QuartSoft Corp. www.quartsoft.com 7
- 8. Проблема
Sphinx не позволяет использовать буквенно-цифровые значения
в качестве ID документов
Решение
Генерировать для каждого mongo-документа
пользовательский (сгенерированный руками либо
автоинкрементом в MySQL) цифровой ID:
{ "_id" : ObjectId("4bf2c7f38ead0e0d05070000"), "sid" : 7, "text" :
"Много текста" }
©2012. QuartSoft Corp. www.quartsoft.com 8
- 9. Ссылки
• http://www.mongodb.org/
• The little MongoDB book (http://express-js.ru/mongo-
book/)
• http://sphinxsearch.com
©2012. QuartSoft Corp. www.quartsoft.com 9
- 10. Вопросы? Спасибо!
Дмитриченко Евгений
CTO
компании «КвартСофт»
dm@quartsoft.com
quartsoft.com
©2012. QuartSoft Corp. www.quartsoft.com 10