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

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

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

Слайды

Видео

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

  • Иван Гончаров
    Иван Гончаров IBM
    45 мин

    Почему IBM Power8 - оптимальная платформа для PostgreSQL

    Что такое платформа IBM POWER8? Благодаря каким особенностям архитектуры, получается достигать большей производительности и масштабируемости PG по сравнению с x86_64? Производительность ядра, подсистемы памяти, процессорного интерконнекта и ввода/вывода. Уникальные и доступные только на POWER8 "фишки". Опыт тестирования как pgbench, так и реальных приложений.

  • Константин Евтеев
    Константин Евтеев X5 FoodTech Главный архитектор
    45 мин

    Поток данных в Авито

    В рамках доклада речь пойдет о подсистеме транзакционного сбора изменений состояний объектов и сигналов о событиях; доставке этих данных получателям, обработке на различных этапах процесса.

    1 Обзор data stream и задач, решаемых с его помощью. 2 Подготовка данных: - работа с триггерами - блокировки - сигналы 3 Доставка событий 4 Прием данных 5 Особенности согласования данных

  • Алексей Игнатов
    Алексей Игнатов 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.

  • Алексей Лесовский
    Алексей Лесовский PostgreSQL Consulting LLC Администратор баз данных
    180 мин

    Потоковая репликация на практике.

    Потоковая репликация это одна из тех прорывных технологий которая вывела PostgreSQL на совершенно новый уровень. Сочетая в себе легкость настройки, высокую производительность и почти неограниченную масштабируемость потоковая репликация является эффективным инструментом, а ее наличие становится неотъемлемым компонентом любого постгресового "сетапа". Более того, в процессе дальнейшего развития PostgreSQL, потоковая репликация продолжает развиваться и обзаводиться новыми функциями (каскадные конфигурации, слоты репликации) вплоть до того, что на данном этапе своего развития, потоковая репликация позволяет выстраивать bi-directional replication конфигурации.

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

    Участникам мастер-класса следует скачать себе образ виртуальной машины для KVM, Virtual box или VMWare, распаковать его (gzip2) и запустить виртуальную машину.

    Если у Вас нет ни одной из перечисленных программ для виртуализации, то нужно запустить виртуальную машину с CentOS 7 и установленным postgresql из оф.репозитория yum.postgresql.org.

    Ссылка на образы для скачивания: https://goo.gl/Yy4UzH