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