title

text

Юрий Соболев
Юрий Соболев ООО "МедиаТех" Генеральный Директор
12:00 04 февраля

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

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

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

Слайды

Видео

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

  • Дмитрий Долгов
    Дмитрий Долгов 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 на различных видах нагрузок и конфигураций.

  • Валентин Гогичашвили
    Валентин Гогичашвили Zalando Head of Data Engineering

    Интеграция данных в мире микросервисов

    Стремительно стартовав в 2008 году, Zalando продолжает развиваться, не снижая скорости. На пути от скромного стартапа к многонациональной корпорации возникает множество сложнейших задач, особенно для Zalando Technology. Команда из 900 человек, распределенных в Берлине, Дортмунде, Дублине и Хельсинки, продолжает расти, планируя еще до конца 2016 года увеличиться в два раза.

    Столь динамичный рост научил нас оперативно менять процессы и перестраивать организационную структуру в зависимости от актуальных задач. С марта 2015 года мы применяем Radical Agility — новейшую стратегию, провозглашающую Автономность, Целеустремленность и Мастерство (Autonomy, Purpose and Mastery) ключевыми принципами — для сплоченной работы команд программистов и менеджеров продукта.

    Реализуя автономность, команды теперь могут самостоятельно выбирать стеки технологий для разработки своих продуктов. Микросервисы, использующие для коммуникации RESTful API, предполагают снижение стоимости интегрирования между такими командами. Изолированные AWS аккаунты, при поддержке разработанной в Zalando open-source PaaS платформы (STUPS.io), дают возможность каждой автономной команде использовать нужное ей количество вычислительных ресурсов для проведения экспериментов и выкатывания новых функций.

    Возникает другая проблема с микросервисами, изолированными в собственных AWS аккаунтах: команды хранят данные локально, недоступно для централизованных процессов сбора данных. В такой среде довольно сложно автоматизировать ETL процессы для дальнейшего анализа данных или интегрировать данные, принадлежащие различным сервисам.

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

    В моем докладе я расскажу об open-source прототипе, разработанном в Zalando для сбора информации из изолированных PostgreSQL баз данных, применяющем возможности потоковой логической репликации в PostgreSQL с преобразованием данных для использования в разных системах их обработки (Data Lake, Operational Data Store, системы вычисления КПЭ или автоматического мониторинга за процессами). Слушатели узнают, как именно можно использовать логическую потоковую репликацию в мире микросервисов.

  • Иван Панченко
    Иван Панченко Postgres Professional рзаместитель генерального директора
    22 мин

    Год Профессионального Постгреса в России

    Исполнилось год с момента создания российского вендора постгреса - компании Postgres Professional. Что полезного для сообщества было сделано компанией, над чем она работает сейчас - о разработках, о сертификации, о русской документации и об образовательной программе.

  • Михаил Тюрин
    Михаил Тюрин Avito Главный системный архитектор
    22 мин

    Пять слайдов о Postgres

    За годы моей работы с PostgreSQL возникло ясное представление, о том, каковы его основные достоинства ("Киллер-фичи", "вкусняшки"), из-за которых мы выбираем и рекомендуем выбирать эту СУБД.
    1. Начало
    2. Документация
    3. Комьюнити
    4.1 Транзакционный DDL
    4.2 WAL и настоящая физическая репликация
    4.3 Транзакционный снепшот и настоящая логическая репликация и PGQ
    4.4 Потрясающая расширяемость
    5. Успех