title

text

Вадим Яценко
Вадим Яценко ООО Прогресс Софт Начальник Отдела разработки систем хранения данных
16:00 16 марта
45 мин

Очень большие таблицы в PostgreSQL. Или как превратить 60+ Tb в 10+ Tb

В докладе будет рассказано о том, как мы реализовали хранение таблиц с большим количеством строк (1 млрд + строк в сутки). Проект существует в production 2 год. Это крупный транспортный проект всероссийского масштаба.

Суммарный объем данных 300 Tb на 25 серверах PostgreSQL * 2 Data Center. Будет рассказано об ошибках организации хранения больших таблиц на начальном этапе проекта, и о том как эти ошибки были устранены. Так же расскажу о том, как организована ротация данных и архивирование. Затрону вопросы о том, чего нам не хватало в PostgreSQL 9.4 из того, что появилось в 9.5 и в 9.6. А так же, какие новые возможности, нам хотелось бы увидеть в новых релизах PostgreSQL.

Слайды

Видео

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

  • Александр Коротков
    Александр Коротков Postgres Professional Руководитель разработки
    45 мин

    RUM-индексы и их применение

    Я представлю новый метод доступа, который расширяет имеющиеся возможности GIN-индексов, используя дополнительную информацию, хранящуюся в списке/дереве идентификаторов. Например, дополнительная информация о позициях позволяет новому методу доступа возвращать результаты по релевантности, что может значительно сократить время исполнения полнотекстовых запросов. Это также может ускорить фразовый поиск, так что данный метод будет весьма эффективным при полнотекстовом поиске. Сохранение временных меток открывает перед нами несколько интересных возможностей – мы можем отсортировать результаты по времени (например, свежие статьи, удовлетворяющие полнотекстовому запросу) на основе временных меток как таковых или сохраненных указателей, упорядоченных по временным меткам. Оба способа обеспечивают на порядок большее ускорение для таких типов запросов.

  • Дмитрий Белобородов
    Дмитрий Белобородов UIS, CoMagic Технический директор
    45 мин

    Опыт использования PostgreSQL в проектах UIS, CoMagic

    Мы используем PostgreSQL с 2003 года и прошли путь от базы в пару гигабайт до кластера с текущим размером более 5Тб. Текущие кол-во таблиц > 700, число хранимых процедур ~1500. Чем готовы поделиться: - рассказать о проблемах, с которыми пришлось сталкиваться на разных этапах развития и найденными решениями - наработанными практиками администрирования - мы работаем с несколькими базами, которые тесно связаны друг с другом, используем для этого свое расширение - у нас работает несколько команд, и есть выработанная методика и инструменты, которые позволяют им не мешать друг другу - мы используем много различных стендов для тестирования, готовы рассказать по какому принципу и как мы их поднимаем - ну, и конечно, про оптимизацию, поиск узких мест и ситуаций, с которыми нам приходится сталкиваться при нагрузках

    ВИДЕО

  • Дмитрий Лебедев
    Дмитрий Лебедев BestPlace Разработчик-исследователь ГИС
    90 мин

    Исследования геоданных при помощи PostGIS и смежных инструментов

    Сегодня работая с открытыми данными можно сделать интересные исследования в области городской среды и географии, с перспективными и нетривиальными выводами. В докладе я дам примеры пространственных расчётов на PostGIS — фактическом пром стандартом в области.

    Но одного PostGIS мало, и в работе требуются инструменты для импорта, проверки и визуализации данных. Кроме того критически важно видеть что происходит с нашими данными и сокращать итерации работы, о чём я подробно расскажу.

    1. Сбор данных; базы данных, открытые API, OpenStreetMap; ввод геоданных от пользователя.
    2. Применение сторонних API для расчётов и обработки.
    3. Вывод и визуализация результатов: QGIS, Matplotlib, Zeppelin — интеграция с PostGIS.
    4. Отладка расчётов - визуализация "на лету" (Arc, QGIS, NextGIS Web)
    5. Воспроизводимость и автоматизация действий: скриптинг и отслеживание зависимостей на Makefile, Gulp

  • Дмитрий Мельник
    Дмитрий Мельник ИСП РАН разработчик
    22 мин

    Динамическая компиляция SQL-запросов в PostgreSQL с использованием LLVM JIT

    В данный момент в PostgreSQL для исполнения SQL-запросов применяется интерпретатор, реализующий модель итераторов (Volcano-модель). В то же время можно добиться существенного ускорения, выполняя динамическую компиляцию запроса «на лету». В этом случае можно генерировать код, специализированный для конкретного SQL-запроса, а также применять компиляторные оптимизации, учитывая, что во время выполнения уже известна структура используемых таблиц и типы данных. Такой подход особенно актуален для сложных запросов, скорость выполнения которых ограничена производительностью процессора.