title

text

Marco Slot
Marco Slot Citus Data Главный инженер-программист
15:00 05 февраля

CitusDB: расширение для масштабирования PostgreSQL

CitusDB — расширение PostgreSQL, позволяющее распределять таблицы в кластере серверов PostgreSQL. Данные разделяются по секциям (шардам) по добавлению (оптимально для массовой загрузки данных временных рядов) или по хешу (для введения данных в реальном времени). Запросы SELECT к распределённым таким образом таблицам прозрачно распараллеливаются в кластере, при этом задействуются все доступные ядра. Также параллельно возможно соединять распределённые таблицы, даже если они разделены не по значению одной колонки. CitusDB исключительно подходит для сценариев использования с анализом в реальном времени, например, для информационных панелей, где нужны быстрые аналитические запросы к динамическим данных и в то же время востребована масштабируемая оперативная база данных. На этом докладе будет освещено внутреннее устройство CitusDB и представлена живая демонстрация крупномасштабного кластера CitusDB.

Слайды

Видео

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

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

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

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

  • Pavel  Stehule
    Pavel Stehule

    Хранимые процедуры в PostgreSQL, язык PL/pgSQL

    • Архитектура
    • Дизайн и релизация языка PL/pgSQL
    • Разница между PL/SQL и PL/pgSQL
    • Преимущества и проблемы PL/pgSQL

  • Лев Ласкин
    Лев Ласкин Электрон Ведущий специалист по внедрению решений на базе СПО
    45 мин

    Использование PostgreSQL в 1С

    В этом коротком мастер-классе будет показано, как легко поднять действующую базу 1С на PostgreSQL.

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

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

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

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