![Николай Рыжиков Николай Рыжиков](/media//2016/01/19/ryzhikov.jpg.180x180.jpg)
PL/v8 в медицине
Мы разрабатываем медицинскую базу данных - fhirbase, основанную на PostgreSQL и современном стандарте обмена медицинской информацией FHIR. Первая версия была написана с использованием SQL и PL/PgSQL, однако она достигла предела своей сложности и была полностью переписанна на PLv8/javascript. В докладе я расскажу про архитектуру fhirbase и то, почему мы выбрали PLv8. Про комфортную среду разработки, которая позволяет разрабатывать код и тесты в Node.JS и потом деплоить этот код в PostgreSQL. Поделюсь проблемами, с которыми мы столкнулись. Порассуждаем о переиспользовании библиотек и эко-системы javascript для разработки бизнес-логики внутри PostgreSQL. Расскажу про идеи PostgREST и no-backend приложений на PostgreSQL.
Слайды
слайдыВидео
Другие доклады
-
Дмитрий Юхтимовский Gilev.ru технический лидер
Опыт использования больших баз 1С на PostgreSQL
Доклад для тех, кто уже использует постгрес для 1С, а также для тех, кто только раздумывает - использовать ли. Расскажем о том, почему в компании Gilev.ru выбрали PostgreSQL для своих больших баз онлайн-сервисов, как его используют. Как с использованием этих сервисов помогают решать проблемы производительности баз на 1С, с которыми сталкиваются или могут столкнуться клиенты.
-
Юрий Соболев ООО "МедиаТех" Генеральный Директор
PostgreSQL как ядро биржи интернет-рекламы Adsterra.com
Общая информация об adsterra.com
- adsterra.com - биржа интернет рекламы
- В данный момент имеет порядка 150 млн показов баннеров в сутки.120 положение в alexa.com на 30.11.2015. Записывает в postgresql до 10000(и больше) событий в секунду. Читает до 5000
- 20 отдельных серверов под БД с различными ролями
- Активно использует логику внутри БД. Много PL/pgsql и SQL функций.
Причины выбора Postgresql
- История создания adsterra.com.
- Сжатые сроки отведенные на разработку определили выбор в пользу готовых систем хранения данных.
- Postgresql привлек своей бесплатностью и рядом фишек, которых не было у конкурентов. Некоторые в итоге оказались полезными, некоторые не очень.
Описание архитектуры проекта
- Общая схема взаимодействия
- Роли групп серверов
- Использование различных методов для взаимодействия серверов: Потоковая репликация, Londiste, postgres_fdw. Плюсы и минусы каждого.
- Шардинг
- Использование SQL под OLTP
Проблемы возникшие в ходе разработки/использования и варианты решения:
- Материализованные представления. Проблемы с обновлением и поддержкой. Что сделали в итоге.
- Londiste. Какие проблемы были решены в ходе разработки, а какие так и не были.
- Проблемы потоковой репликации.
- Автовакум и вакум.
- Странности планировщика.
- Конкурентный доступ.
Крутые штуки Postgresql, которые сильно помогли
- Массивы, intarray и GIN индексы. Но не все гладко.
- Партиционирование. Но не все есть, что хочется.
- PL/pgsql. Но не всегда следует его использовать.
- unlogged таблицы. Но с умом.
Текущие разработки и нерешенные проблемы
- Реализация колоночной аналитики штатными средствами.
- Проблемы странных планов запросов.
- Логическая репликация мечты
- Мультимастер...
-
Николай Шаплов Postgres Professional Fuzzing Engeener
«Что у него внутри» - хранение данных на низком уровне
Знание внутреннего устройства СУБД на уровне хранения данных позволяет ускорить её работу и уложить данные более компактно. На данном мастер-классе будет представлен инструмент pageinspect, одним из разработчиков которого недавно стал московский программист Николай Шаплов. На практике этот инструмент будет использован для изучения того, как в БД лежат данные и как их можно разложить оптимально. Будут и задачи для самостоятельного исследования.
-
ДДенис Иванов 2ГИС Ведущий разработчик
Эволюция использования PostgreSQL в справочном API 2GIS
- Первое появление постгреса в команде
- Борьба с репликацией
- Партицирование и миграции
- Кросс-датацентровое использование
- v8, json, jsonb, jsquery
- Апгрейд версии postgresql
На данный момент на продакшене бекенда справочного API 2GIS мы имеем с десяток различных баз в postgresql, около 120 шардов, миллионы записей в таблицах. При этом практически все данные хранятся в структурах jsonb
Я расскажу об эволюции продукта с точки зрения взаимодействия с СУБД.