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