title

text

Александр Крижановский
Александр Крижановский ООО "Лаборатория НатСис" Генеральный директор
17:00 05 февраля
45 мин

Linux VMM для разрабочиков СУБД

В докладе будет рассказано о том, как Linux работает с виртуальной памятью. Будут освещены следующие вопросы:

  • устройство таблицы страниц в x86-64, переключение контекста, page fault;
  • устройство системы управления виртуальной памятью (VMM) в Linux;
  • методы вытеснение странц в Linux, page cache и анонимные страницы;
  • huge и gigantic pages, transparent huge pages;
  • как работает mmap(2) и что дают madvise(2), msync(2) и пр.;
  • почему большие СУБД не используют mmap(2), а реализуют свой пул страниц;
  • и, конечно, как потюнить VMM в Linux с помощью sysctl.

Слайды

Видео

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

  • Сергей Бурладян
    Сергей Бурладян Avito Архитектор баз данных
    45 мин

    Администрирование PostgreSQL в Avito

    Мой доклад будет посвящён особенностям использования и администрирования PostgreSQL в Debian GNU/Linux в Avito. В частности, таким проблемам как:

    - bash скрипты
    - утилиты pg_* debian
    - отладка postgres: perf, gdb
    - COPY без разрывов: psql, pipe
    - pgbouncer: один, два, ... больше?
    - cron
    - мониторинг
    - очередь на advisory lock
    - файловый кеш
    - DDL на нагруженной базе
    - и т.д.
    

  • Ильдар Мусин
    Ильдар Мусин Postgres Professional Разработчик
    22 мин

    Секционирование без границ

    Механизм секционирования в Postgres имеет ряд ограничений, которые не позволяют использовать концепцию секционирования в полной мере. Среди таких ограничений можно выделить неэффективность планирования запросов для секционированных таблиц (линейный рост времени планирования при увеличении количества секций), отсутствие HASH-секционирования, необходимость ручного управления секциями. Однако, средства расширяемости Postgres предоставляют разработчику широкие возможности, позволяющие обойти некоторые ограничения. В докладе будет рассказано, как внедрившись в код планировщика удалось оптимизировать время планирования запросов. Так метод бинарного поиска позволяет добиться логарифмического роста времени планирования для RANGE-секционированных таблиц. Поэтому использование даже тысяч секций не будет приводить к существенным накладным расходам. Также удалось реализовать HASH-секционирование с близким к константному времени планирования.

  • Григорий Хромов
    Григорий Хромов MyAsterisk Руководитель технического отдела
    22 мин

    Обработка статистических данных в режиме реального времени посредством триггеров

    В нашей телефонной платформе исторически использовалась СУБД MySQL и стандартная система статистики CDR. Постоянные оптимизации позволили сократить время ожидания загрузки информации, но оно было все еще велико. Ко всему прочему CDR не отличалась детальностью и высокой точностью. Было принято решение миграции на PostgreSQL и создание собственной системы сбора статистики на основе подсистемы CEL. CEL генерирует по одной записи на каждое внутреннее событие происходящее во время звонка и число таких записей может достигать несколько сотен. Применив триггеры PostgreSQL мы смогли сформировать подробную статистику всего в одной записи на каждый звонок. При этом общая производительность по сравнению со старой системой ощутимо выросла – время загрузки сократилось с минуты и более до нескольких секунд.

  • Д
    Денис Иванов 2ГИС Ведущий разработчик
    22 мин

    Эволюция использования PostgreSQL в справочном API 2GIS

    • Первое появление постгреса в команде
    • Борьба с репликацией
    • Партицирование и миграции
    • Кросс-датацентровое использование
    • v8, json, jsonb, jsquery
    • Апгрейд версии postgresql

    На данный момент на продакшене бекенда справочного API 2GIS мы имеем с десяток различных баз в postgresql, около 120 шардов, миллионы записей в таблицах. При этом практически все данные хранятся в структурах jsonb

    Я расскажу об эволюции продукта с точки зрения взаимодействия с СУБД.