title

text

Андрей Литуненко
Андрей Литуненко 2ГИС Программист
18:00 06 февраля
45 мин

Как мы распрощались с MongoDB и перешли на PostgreSQL

В своем докладе я поделюсь опытом переноса, конвертацией NoSQL-данных в реляционный вид и расскажу, как нам удалось ускорить приложение в 2 раза.

Изначально для хранения данных мы использовали PosgtgreSQL и MongoDB. На практике мы выяснили, что такое разделение крайне неудобно. Мы тратили уйму времени и внимания.

Расскажу, как с помощью mosql мы перенесли данные из MongoDB в PostgreSQL. Теперь все данные могут быть получены одним запросом, а схема таблиц обеспечивает консистентность данных.

Слайды

Видео

Другие доклады

  • Константин Евтеев
    Константин Евтеев X5 FoodTech Главный архитектор
    Михаил Тюрин
    Михаил Тюрин ИТ предприниматель предприниматель
    45 мин

    Кейсы использования логической репликации для восстановления данных в PostgreSQL 10

    В Avito объявления хранятся в базах данных PostgreSQL. При этом уже на протяжении многих лет активно применяется логическая репликация. С помощью неё успешно решаются вопросы роста объема данных и количества запросов к ним, масштабирования и распределения нагрузки, доставки данных в DWH и поисковые подсистемы, межбазные и межсервисные синхронизации данных и пр.

    Но ничего не бывает "бесплатно" - на выходе мы имеем сложную распределенную систему. Отказы оборудования - это норма, к ним нужно быть готовым. Можно найти много примеров конфигурации логической репликации и success stories ее использования, при этом практических примеров по восстановлению после аварий почти нет, не говоря уже про готовые инструменты. За годы эксплуатации репликации PgQ мы наработали обширный опыт, многое переосмыслили, реализовали собственные надстройки и расширения для восстановления и согласования данных после аварий в распределенных системах обработки данных.

    В докладе мы покажем, как наш опыт можно переложить на новую подсистему логической репликации в 10-ке. В текущей реализации это нетривиальные решения – остается ряд вопросов для комьюнити, сводящихся к реализации простых механизмов восстановления - таких же простых как и настройка репликации в 10-ке.

  • Алексей Лустин
    Алексей Лустин SilverBulleters, LLC CTO
    45 мин

    Docker, PostgreSQL, Продуктив ....

    Я бы хотел поделиться наработками в части использования PostgreSQL в докерезированных средах, рассказать, с какими особенностями вам придется столкнуться и какие дополнительные инструменты для этого понадобятся.

    • Какие проблемы решает Docker для PostgreSQL, например PostgreSQLPro.9.6
    • Как работать команде ИТ в условиях использования Docker на разработческих, приемочных и продуктивных контурах
      • Использование хранилища образов и серверов сборок для тестирования самого образа
    • С чем придется столкнуться в продуктиве
      • В части сетевой активности
      • Организации персистентных хранилищ для Docker
      • Дополнительных служб и сервисов
      • В части балансировки и отказоустойчивости
    • Как запустить у себя приложения, использующие PostgreSQL, такие как:
      • SonarQube
      • Gitlab
      • База 1С

  • Марк Локшин
    Марк Локшин Мэйл Ру Старший программист
    45 мин

    Опыт миграции высоконагруженных игровых проектов с MySQL на PostgreSQL

    В докладе будет рассказано о том, как мы переносили два высоконагруженных игровых проекта, изначально разработанных для работы с MySQL на Postgres. Какие проблемы мы видели изначально при миграции на Postgres, с какими очевидными и не очень сложностями столкнулись во время миграции и как их решали. Какие проблемы выявились в процессе эксплуатации. Какие фичи Postgres нам оказались очень полезными, а чего нам не хватало при переносе.

  • Николай Рыжиков
    Николай Рыжиков Health Samurai CTO
    45 мин

    Использование PostgreSQL и Сlojure для разработки приложений, ориентированных на работу с базами данных

    Если честно взглянуть на большинство наших бизнес-приложений, то они через провод собирают данные в базу и раздают их в обратном направлении. Что, если не пытаться воздвигать стену абстракций между приложением и базой данных (ORM), а постараться использовать их симбиоз - сильные стороны и индивидуальные особенности.

    Я расскажу как мы используем postgresql и clojure для создания data intensive приложений для медицины.

    • functional relational programming
    • jsonb для моделирования сложной предметной области
    • функциональные индексы и расширение json-knife для поиска в jsonb
    • реализация graphql на postgres
    • logical replication для построения реактивных интеграций
    • асинхронный JDBC-free коннектор к postgresql на netty