title

text

Heikki Linnakangas
Heikki Linnakangas Pivotal PostgreSQL hacker
: декабря

Внутреннее устройство индексов

PostgreSQL поддерживает несколько типов индексов: GiST, SP-GiST, GIN и, конечно, обычное B-дерево. Администраторы БД знают, когда применять каждый из них: GIN для полнотекстового поиска, GiST для геометрических данных и т. д., но как они устроены внутри? Благодаря чему они хорошо работают в сценариях использования, для которых предназначены? В этой презентации я познакомлю вас с внутренней структурой каждого из этих типов индексов и расскажу, каковы их сильные и слабые стороны.

Слайды

Видео

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

  • Peter  van Hardenberg
    Peter van Hardenberg Heroku Главный исследователь
    45 мин

    Мега-масштабирование PostgreSQL: Советы от работающих с 10^6 баз данных

    Heroku Postgres is a cloud database service and the largest provider of PostgreSQL as a service anywhere. We operate more than 1,000,000 PostgreSQL databases with a team of about 10 people. We may be the most efficient DBAs in history, with approximately 100,000 databases per person on our team! This talk will introduce the opportunity and challenges of building and operating a cloud database service, as well as discussing the strategies we use to build, operate, and scale this product and team for the last six years now. We will include details about

    • a brief introduction to the service to provide context
    • strategies to design and build such a data service
    • operational war stories like how to recover from losing thousands of servers at once,
    • common challenges users have with Postgres
    • and a basic overview of the technical architecture

    This is a complementary talk to Will Leinweber's talk, which will go into much more depth on the architecture of the software we have written.

  • Александр Крижановский
    Александр Крижановский ООО "Лаборатория НатСис" Генеральный директор
    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.

  • Gregory Stark
    Gregory Stark
    45 мин

    Сортировка - прошлое, настроящее и будущее

    When new versions of Postgres are released most of the attention is focused on new features. Inevitably a release note claiming speed improvements seems relatively mundane and doesn't provide the compelling argument for upgrading. However the reality is that these speed improvements represent pain points that have been identified and solved.

    Reviewing the changes to the sort code in Postgres over the last 10 years clearly shows the kinds of problems users have run into. As usage patterns changed over years, databases scaled up, and hardware changed new problems arose and drove further development to solve them.

    Upcoming changes in 9.5 and 9.6 will dramatically change the experience further. Making sorting UTF8 and other encodings less of a problem and handling scaling to larger machines with many processors and memory cache more effectively.

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

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

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