MongoDB - это ориентированная на документы база данных NoSQL с открытым исходным кодом. Модель данных MongoDB позволяет представлять иерархические отношения, проще хранить массивы и другие более сложные структуры. И это то, что нужно туристическим компаниям, ведь они используют для формирования туров огромное количество информации, в первую очередь, цены. И собственных серверных мощностей туроператора, к сожалению, может не хватать.
В сегодняшней статье мы подробно расскажем об этом решении.
В текущей реализации БД MongoDB используется нашими пользователями только для хранения цен. Обработка поисковых запросов и расчёт цен по-прежнему происходят на серверах с MS SQL Server.
Перечислим преимущества хранения цен в MongoDB:
- Поиск осуществляется с "правильной" сортировкой по цене, тогда как при традиционном поиске сначала отбираются 10000 цен, которые уже потом сортируются, что иногда может приводить к выдаче не самых "дешёвых" цен в результатах поиска;
- Поиск цен осуществляется сразу с учётом остановок продажи. До внедрения новой функции остановки продажи применяются только после первой выборки в 10000 цен, что может привести к менее точным результатам поиска;
- MongoDB + Linux бесплатны для коммерческого использования, и это позволяет снизить стоимость инфраструктуры туроператора;
- База данных каталога цен в MongoDB занимает примерно в 10 раз меньше места, чем БД с тем же количеством цен в MS SQL, а значит, снижаются требования к дисковому месту.
Есть, конечно, и недостатки решения, например в MongoDB на текущий момент нельзя хранить цены базовых и дочерних туров, для работы системы онлайн-бронирования всё еще требуется сервер (а для высоконагруженных систем - несколько серверов) с Windows и MS SQL.
Но если наши пользователи будут активно использовать новый способ хранения, мы продолжим работу по расширению функционала.
Взвесьте плюсы и минусы решения, и если готовы внедрять новый функционал, напишите нам в поддержку для настройки конфигурации с использованием MongoDB.
Удачи)
Much appreciated. All of your blog was amazing. I am really a fan of yours
ОтветитьУдалитьWrite more high-quality articles. I support you.
ОтветитьУдалитьReally informative site. Thank you!!
ОтветитьУдалитьNice article. I hope your blog guide would be helpful for me.
ОтветитьУдалить