title

text

Дмитрий Долгов
Дмитрий Долгов Zalando SE Senior Software Engineer
: декабря
45 мин

Jsonb в PostgreSQL и NoSQL тренд: сравнение функциональности и производительности

Использование слабоструктурированных данных определенно является трендом современности, и это верно не только для NoSQL, но и для традиционных RDBMS. Многие реляционные базы данные (например, PostgreSQL, Oracle, db2, Mysql) позволяют хранить данные в json формате, и, очевидно, реализуют это по-разному.

Доклад содержит две части:

  • Сравнение поддержки json в PostgreSQL и других реляционных базах данных, а именно Mysql, Oracle, db2, MSSql в контексте реализованных возможностей, функций и т.д.
  • Сравнение производительности для баз с наиболее полной поддержкой json (PostgreSQL и Mysql) а также MongoDB на различных видах нагрузок и конфигураций.

Слайды

Видео

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

  • Юрий Соболев
    Юрий Соболев ООО "МедиаТех" Генеральный Директор

    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 таблицы. Но с умом.

    Текущие разработки и нерешенные проблемы

    • Реализация колоночной аналитики штатными средствами.
    • Проблемы странных планов запросов.
    • Логическая репликация мечты
    • Мультимастер...

  • Никита Волков
    Никита Волков Sannsyn AS Senior Developer and Data Scientist
    45 мин

    Декларативное программирование клиентов Postgres в Haskell с помощью Hasql

    Речь пойдёт о "hasql", высокоэффективной библиотеке для интеграции Haskell с PostgreSQL. Вы познакомитесь с удивительным языком программирования Haskell, преимуществами декларативного программирования и техническими решениями библиотеки, среди которых имплементация бинарного протокола для общения с Postgres. Эта библиотека используется проектом PostgREST, популярным универсальным REST API для баз данных Postgres.

  • Алексей Игнатов
    Алексей Игнатов Postgres Professional Администратор баз данных
    90 мин

    Миграция с Oracle на Postgres

    На мастер-классе будут рассмотрены основные принципы перехода с Oracle на Postgres. Будут указаны инструменты для данного перехода, основные различия между Oracle и Postgres в подходах к написанию запросов и построению хранимых процедур.

    Также будет показаны рецепты по миграции кода PL/SQL в код PL/pgSQL, проблемы, связанные с различиями этих языков и пути их решения.

    Участникам мастер-класса понадобятся ноутбуки со скачанными демонстрационными материалами: https://yadi.sk/d/Y7_DPuYroCSRh (образ для virtualbox).

    Необходимо чтобы первый интерфейс принадлежал NAT network, второй host-only network. Адреса виртуалки 192.168.56.11 для NAT- сети и 192.168.57.11 для host only network

    Пароли root root , oracle oracle , postgres postgres. при старте виртуальной машины автоматически запускаются базы oracle XE и postgres 9.5.

  • Валерий Попов
    Валерий Попов Postgres Professional Руководитель группы информационной безопасности и сертификации
    22 мин

    Информационная безопасность в PostgreSQL

    В докладе рассмотрим требования информационной безопасности, которые предъявляются к СУБД, используемым для государственных нужд. Разбираются требования регуляторов, проводится сравнение имеющихся сертифицированных версий СУБД, принципы организации дискреционного и мандатного методов доступа к данным. Подробно рассмотрено, как обеспечить невозможность доступа к конфиденциальным данным после их использования (очистка памяти), в каких местах и каким способом реализована очистка данных в СУБД Postgres Pro. В докладе будет рассказано о новой возможности обеспечения безопасности на уровне строк (RLS), которая появилась в PostgreSQL 9.5. Также рассмотрим, как работает группа Security Information в международной группе разработчиков PostgreSQL, каким образом устраняются уязвимости.