Пост-релиз
Доклады
Архив докладов
-
Юрий Соболев ООО "МедиаТех" Генеральный ДиректорОбщая информация об 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 таблицы. Но с умом.
Текущие разработки и нерешенные проблемы
- Реализация колоночной аналитики штатными средствами.
- Проблемы странных планов запросов.
- Логическая репликация мечты
- Мультимастер...
-
Marco Slot Citus Data Главный инженер-программистCitusDB — расширение PostgreSQL, позволяющее распределять таблицы в кластере серверов PostgreSQL. Данные разделяются по секциям (шардам) по добавлению (оптимально для массовой загрузки данных временных рядов) или по хешу (для введения данных в реальном времени). Запросы SELECT к распределённым таким образом таблицам прозрачно распараллеливаются в кластере, при этом задействуются все доступные ядра. Также параллельно возможно соединять распределённые таблицы, даже если они разделены не по значению одной колонки. CitusDB исключительно подходит для сценариев использования с анализом в реальном времени, например, для информационных панелей, где нужны быстрые аналитические запросы к динамическим данных и в то же время востребована масштабируемая оперативная база данных. На этом докладе будет освещено внутреннее устройство CitusDB и представлена живая демонстрация крупномасштабного кластера CitusDB.
-
Валентин Гогичашвили 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 Fuzzing EngeenerЗнание внутреннего устройства СУБД на уровне хранения данных позволяет ускорить её работу и уложить данные более компактно. На данном мастер-классе будет представлен инструмент pageinspect, одним из разработчиков которого недавно стал московский программист Николай Шаплов. На практике этот инструмент будет использован для изучения того, как в БД лежат данные и как их можно разложить оптимально. Будут и задачи для самостоятельного исследования.
Фотографии
Архив фотографий