Эволюция использования PostgreSQL в справочном API 2GIS
- Первое появление постгреса в команде
- Борьба с репликацией
- Партицирование и миграции
- Кросс-датацентровое использование
- v8, json, jsonb, jsquery
- Апгрейд версии postgresql
На данный момент на продакшене бекенда справочного API 2GIS мы имеем с десяток различных баз в postgresql, около 120 шардов, миллионы записей в таблицах. При этом практически все данные хранятся в структурах jsonb
Я расскажу об эволюции продукта с точки зрения взаимодействия с СУБД.
Слайды
Видео
Другие доклады
-
Николай Шаплов Postgres Professional Fuzzing Engeener
«Что у него внутри» - хранение данных на низком уровне
Знание внутреннего устройства СУБД на уровне хранения данных позволяет ускорить её работу и уложить данные более компактно. На данном мастер-классе будет представлен инструмент pageinspect, одним из разработчиков которого недавно стал московский программист Николай Шаплов. На практике этот инструмент будет использован для изучения того, как в БД лежат данные и как их можно разложить оптимально. Будут и задачи для самостоятельного исследования.
-
Marco Slot Citus Data Главный инженер-программист
CitusDB: расширение для масштабирования PostgreSQL
CitusDB — расширение PostgreSQL, позволяющее распределять таблицы в кластере серверов PostgreSQL. Данные разделяются по секциям (шардам) по добавлению (оптимально для массовой загрузки данных временных рядов) или по хешу (для введения данных в реальном времени). Запросы SELECT к распределённым таким образом таблицам прозрачно распараллеливаются в кластере, при этом задействуются все доступные ядра. Также параллельно возможно соединять распределённые таблицы, даже если они разделены не по значению одной колонки. CitusDB исключительно подходит для сценариев использования с анализом в реальном времени, например, для информационных панелей, где нужны быстрые аналитические запросы к динамическим данных и в то же время востребована масштабируемая оперативная база данных. На этом докладе будет освещено внутреннее устройство CitusDB и представлена живая демонстрация крупномасштабного кластера CitusDB.
-
Брюс Момжиан EnterpriseDB Senior Database Architect
Многогранность развития Postgres
В Postgres 9.5 добавилось много нового: UPSERT, CUBE, ROLLAP, функции для работы JSONB, улучшения PostGIS. Для администраторов - Row Level Securlty, новый тип индекса, и улучшения производительности на больших серверах.
В этом докладе будет рассказано о 10 наиболее значимых возможностях версии 9.5, а также о некоторых фичах следующих релизов.
-
Ronan Dunklau Dalibo DBA
Multicorn: разработка Foreign Data Wrapper'ов на языке Python
Multicorn - это обобщенный Foreign Data Wrapper (FDW, интерфейс для подключения внешних источников данных, устоявшегося русского названия пока нет), предоставляющий возможность разработки конкретных FDW на языке Python, что упрощает их разработку.
Мы узнаем:
- Что такое FDW, как работает Multicorn, и какие готовые FDW поставляются вместе с ним.
- Как написать свой FDW на python, включая новый интерфейс IMPORT FOREIGN SCHEMA, появившийся в версии 9.5.
- Внутренности Multicorn: что он делает и что не делает внутри.
После общего рассмотрения FDW и Multicorn, мы детальнее рассмотрим некоторые FDW, поставляемые с ним.
Затем проведем полный тур по API Multicorn, чтобы научить вас создавать FDW на Python, включая следующие детали:
- испольование определений таблиц
- пробрасывание WHERE
- ограничения колонок
- как влиять на планировщик
- как писать во внешнюю таблицу
- как работать с импортом внешней схемы
- пробрасывание ORDER BY
- управление транзакциями
Все это будет объяснено наглядно, с примерами кода, позволяющими слушателям с нуля создать свой FDW на Python.