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
Почему IBM Power8 - оптимальная платформа для PostgreSQL
Что такое платформа IBM POWER8? Благодаря каким особенностям архитектуры, получается достигать большей производительности и масштабируемости PG по сравнению с x86_64? Производительность ядра, подсистемы памяти, процессорного интерконнекта и ввода/вывода. Уникальные и доступные только на POWER8 "фишки". Опыт тестирования как pgbench, так и реальных приложений.
-
Константин Евтеев X5 FoodTech Главный архитектор
Поток данных в Авито
В рамках доклада речь пойдет о подсистеме транзакционного сбора изменений состояний объектов и сигналов о событиях; доставке этих данных получателям, обработке на различных этапах процесса.
1 Обзор data stream и задач, решаемых с его помощью. 2 Подготовка данных: - работа с триггерами - блокировки - сигналы 3 Доставка событий 4 Прием данных 5 Особенности согласования данных
-
Алексей Игнатов Postgres Professional Администратор баз данных
Миграция с 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 Администратор баз данных
Потоковая репликация на практике.
Потоковая репликация это одна из тех прорывных технологий которая вывела PostgreSQL на совершенно новый уровень. Сочетая в себе легкость настройки, высокую производительность и почти неограниченную масштабируемость потоковая репликация является эффективным инструментом, а ее наличие становится неотъемлемым компонентом любого постгресового "сетапа". Более того, в процессе дальнейшего развития PostgreSQL, потоковая репликация продолжает развиваться и обзаводиться новыми функциями (каскадные конфигурации, слоты репликации) вплоть до того, что на данном этапе своего развития, потоковая репликация позволяет выстраивать bi-directional replication конфигурации.
Из доклада вы узнаете о том, как устроена потоковая репликация снаружи и внутри, и о практических аспектах эксплуатации потоковой репликации включая такие вещи как настройка, сопровождение, мониторинг, поиск и устранение проблем.
Участникам мастер-класса следует скачать себе образ виртуальной машины для KVM, Virtual box или VMWare, распаковать его (gzip2) и запустить виртуальную машину.
Если у Вас нет ни одной из перечисленных программ для виртуализации, то нужно запустить виртуальную машину с CentOS 7 и установленным postgresql из оф.репозитория yum.postgresql.org.
Ссылка на образы для скачивания: https://goo.gl/Yy4UzH