Встроенный шардинг: текущее состояние и будущее
Шардингом базы данных называют распределение данных по большому количеству серверов для повышения производительности при работе с большими объемами данных. С появлением технологии Foreign Data Wrappers (FDW), стало возможным рассматривать шардинг в постгресе при разумном объеме изменений программного кода. Я занимаюсь улучшением инфраструктуры FDW, в т.ч. наследованием внешних таблиц и push-down запросов, что позволяет постгресу эффективно исполнять распределенные запросы через FDW. В этом докладе мы рассмотрим шардинг на FDW и его сценарии использования, затем я продемонстрирую, как организовать шардинг, и покажу, что для этого было сделано в постгресе. В заключение мы рассмотрим основные планы на будущее - в первую очередь, это асинхронное исполнение запросов и поддержка распределенных транзакций.
Слайды
Видео
Другие доклады
-
Илья Космодемьянский Data Egret
Внутреннее устройство подсистемы ввода-вывода Linux для администраторов PostgreSQL
Вопросы производительность ввода-вывода всегда были на повестке дня DBA всё время, пока существуют базы данных. Объемы данных быстро растут и важно, чтобы чтение с диска, и особенно запись на него, оставалась быстрой.
Для большинства СУБД сравнительно легко найти готовый чеклист по рекомендуемым настройкам Linux для максимизации производительности ввода-вывода, и он, как правильно, действительно хорош. Однако всегда полезно понимать, как и почему эти настройки работают.
В этом докладе будет объяснено, как работает подсистема ввода-вывода в Linux, как страницы данных PostgreSQL попадают с диска в разделяемый буфер и обратно, и с помощью каких механизмов можно управлять этими процессами.
-
Иван Панченко Postgres Professional рзаместитель генерального директора
JSON, JSONB, JSQuery
Мастер-класс рассказывает о различных практических паттернах использования JSON и связанной с ним функциональности в PostgreSQL. Речь пойдет о хранении данных в формате JSON, извлечении, изменении и поиске этих данных, возможностях, которые JSON в обычных SQL запросах, и использовании JSON в хранимых процедурах на различных языках. Ряд задач можно будет решить в предоставленных виртуальных машинах.
-
Михаил Тюрин ИТ предприниматель предприниматель
Лок, лок – дедлок!
< 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.
Подобные "неприятные" сообщения от сервера могут серьезно озадачить разработчика. При работе с блокировками, в частности, и с транзакциями в целом, следует учитывать особенности реализации клиентских библиотек, которые могут вызывать описанное выше исключение.
В кратком докладе-сообщении будет объяснена механика взаимодействия блокировок, приводящая к ситуации дедлока; приведены ссылки на документацию; разобрана техника "обхода" данной проблемы конкурентной работы с данными; показаны обобщенные приемы из практики.
-
Hans-Jürgen Schönig Cybertec Schönig & Schönig GmbH CEO
Миллиард строк в секунду на PostgreSQL
Базы данных растут в размерах, так что нужда обрабатывать огромные объемы данных в реальном времени становится все острее. Пока производители коммерческих СУБД хвастаются своими возможностями, мы решили чуточку улучшить PostgreSQL, чтобы показать его возможности в переваривании более миллиарда строк в секунду, просто для демонстрации возможностей open source.
Тем, для кого миллиард строк в секунду - немного, сообщаем, что это не предел, возможности гораздо больше. Приходите посмотреть, как мы делаем это.
ВИДЕО