title

text

Markus Nullmeier
Markus Nullmeier University of Heidelberg software developer
: декабря
45 мин

Оптимизация запросов к данным типа “множество” с помощью индексов GIN, GiST, и пользовательских расширений для индексирования

Очевидно, что множества удобно использовать в различных типах приложений. Хотя в PostgreSQL и нет встроенного типа для множеств, до некоторой степени их можно смоделировать с помощью встроенных типов “массив” и “JSONB”. Кроме того, возможность ускорения запросов с операциями вхождения уже встроена в реализацию индексов GIN.

После краткого обзора существующей функциональности, мы рассмотрим, как добавление пользовательских типов “множество” и, в частности, модификация кода на С ("классы операторов") для индексов GIN и GiST, может повысить производительность.

Слайды

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

  • Иван Фролков
    Иван Фролков Postgres Professional инженер-консультант
    45 мин

    Отчуждаемые таблицы в PostgresPro

    Большие потоки данных нередко могут создавать проблемы даже с самой их загрузкой в БД - кроме загрузки собственно данных необходимо создавать для них индексы, проводить после загрузки VACUUM как для корректной работы Index-only scans и т.п. О том, как можно если не избежать этих проблем, то, по крайней мере, в значительной степени избежать их и посвящен этот доклад.

    ВИДЕО

  • Roland Sonnenschein
    Roland Sonnenschein Hesotech GmbH CEO
    45 мин

    Оптимизация PostgreSQL для реальных промышленных систем

    Зачастую по требованию клиента или даже закона необходимо документировать специфику производства продукта в целом и его частей. Этот доклад посвящен теме автоматической генерации и хранения соответствующей административной информации. К административной информации относятся такие данные как номер поставки, артикул, серийный номер, дата изготовления. Такие данные часто обмениваются с ERP-системами.

    Разработку таких приложений можно значительно упростить, если использовать NoSQL-функциональность PostgreSQL, особенно json и jsonb.

  • Михаил Тюрин
    Михаил Тюрин ИТ предприниматель предприниматель
    22 мин

    Лок, лок – дедлок!

    < Query failed: ERROR: deadlock detected
    < DETAIL: Process 17371 waits for ShareLock on transaction 102733872; blocked by process 10414.
    < Process 10414 waits for ShareLock on transaction 102733874; blocked by process 17371.
    

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

    В кратком докладе-сообщении будет объяснена механика взаимодействия блокировок, приводящая к ситуации дедлока; приведены ссылки на документацию; разобрана техника "обхода" данной проблемы конкурентной работы с данными; показаны обобщенные приемы из практики.

  • Петр Грибанов
    Петр Грибанов Технологический евангелист
    22 мин

    PostgreSQL в 1С:Предприятии и в облачной системе 1С:Fresh

    "1С:Предприятие" - самая популярная в России/СНГ платформа разработки бизнес-приложений, которая уже более 10 лет поддерживает PostgreSQL. Фирма 1С использует PostgreSQL в своём облачном сервисе 1С:Fresh. В этом докладе мы поделимся опытом и наблюдениями, возникшими в ходе эксплуатации этого сервиса, и обсудим интересные случаи и особенности тандема 1С+Postgres.