title

text

Антон Дорошкевич
Антон Дорошкевич ИнфоСофт Руководитель ИТ
: декабря
45 мин

Неравный бой с "распуханием" в реалиях баз 1С

Данных всё больше, диски всё быстрее, оптимизатор СУБД всё умнее, но проблема "распухания" остаётся крайне актуальной. Хочу поделиться своим опытом и подходом к борьбе с этим эффектом на большом количестве таблиц и данных в них.

Слайды

Дорошкевич Антон - Неравный бой с распуханием в реалиях баз 1С.pptx

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

  • Павел Толмачев
    Павел Толмачев Postgres Professional Специалист образовательного отдела
    22 мин

    Сертификация PostgreSQL: личный опыт сдачи четырех тестов

    В мае 2019 г. компания «Постгрес Профессиональный» запустила программу сертификации по PostgreSQL. Я работаю в этой компании с марта 2020 г. и за год успешно сдал четыре теста по курсам DBA1, DBA2, DBA3, QPT. В этом выступлении я поделюсь своим опытом подготовки и сдачи этих тестов.

  • Федор Сигаев
    Федор Сигаев Postgres Professional технический директор, ведущий разработчик PostgreSQL
    22 мин

    Зачем еще 64-битные значения?

    Когда PostgreSQL только появлялся, значения идентификатора транзакции были выбраны 32х-битными. В то время это казалось запредельным числом - кто в здравом уме будет проводить 4 миллиарда транзакций? Но развитие техники привело к тому, что появились инстансы, где транзакции подбирались к этому пределу. Сообщество разработчиков ответило на это возможностью "оборота" счетчика транзакций (известный как wraparound). Но технический прогресс и рост количества данных поставили PostgreSQL перед новыми вызовами. В докладе я попытаюсь рассказать об этих вызовах, о том, как их можно преодолеть с помощью повышения разрядности счетчика, к каким следствиям это приведет и почему это надо делать сейчас, и почему это не было сделано раньше.

  • Сергей Новиков
    Сергей Новиков ЕДИНЫЙ ЦУПИС Lead DBA
    90 мин

    Внедрение партицирования без простоя

    Встроенный механизм партицирования в PostgreSQL активно развивается уже несколько лет, но пока ещё нет волшебной кнопки для превращения обычной таблицы в партицированную. Я расскажу, как внедрить партицирование в production-системе без дополнительного простоя, как правильно подготовить таблицу и приложения, какие ошибки подстерегают DBA. Также будут подробно рассмотрены различные техники переноса данных между партициями, их плюсы, минусы и ограничения.

  • Никита Глухов
    Никита Глухов Postgres Professional Старший разработчик
    Олег Бартунов
    Олег Бартунов Postgres Professional генеральный директор
    45 мин

    Элегантный поиск ближайших соседей в PostgreSQL

    С необходимостью эффективного поиска ближайших соседей можно встретиться в разных задачах, например, поиск ближайших к заданной точке объектов на карте. Задача, на непрограммистский взгляд кажущаяся тривиальной (действительно, человек довольно легко справляется с ней глядя на карту) , на самом деле не имеет общего и доступного решения, что приводит к головной боли разработчиков, которые придумывают ad hoc решения (вставляют костыли). Эти решения, обычно некрасивые, портят настроение творческой натуры программиста, которому требуется посещение пивной, чтобы пережить когнитивный диссонанс :)

    Действительно, если у человека есть карта, у которой есть определенный масштаб, и характерный размер поля зрения, то у программиста есть только координаты заданной точки и множество точек, которых может быть очень много (миллиарды звезд !), и к которому может идти большое количество конкурентных запросов, причем не только на чтение. Язык SQL позволяет очень красиво записать запрос, но реальный план его выполнения удручает - требуется прочитать всю таблицу, вычислить все расстояния от заданной точки, отсортировать по убыванию и оставить требуемое количество записей. Наличие индексов не спасает, а только приводит к полному обходу поискового дерева и чтения всей таблицы в случайном порядке, что гораздо медленнее простого чтения таблицы.

    В действительности, класс задач, в которых требуется эффективный поиск ближайших соседей, гораздо шире задач пространственного поиска, например, задачи классификации, задачи поиска очепяток, кластеризации, дедупликации данных. Все они могут сильно выиграть от поддержки эффективного поиска ближайших соседей в СУБД, которые являются в настоящее время де-факто стандартом хранения данных. Эффективный поиск означает быстрый, конкурентный, масштабируемый поиск и поддержку различных типов данных (возможно, нестандартных), что и было реализовано 11 лет назад в PostgreSQL. Я расскажу про его реализацию, современное состояние и примеры использования.