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.
Слайды
Видео
Другие доклады
-
Владимир Сердюк SOFTPOINT Ген. директор
Как построить высокоэффективную (гео)распределённую ИТ-систему при любых каналах связи?
У вас есть распределенная ИТ-система, в ней много узлов, НО:
- Недостаточная оперативность обмена. Задержка синхронизации – часы или дни?
- Помехи пользователям: блокировки во время выполнения обмена?
- Слабая управляемость - статус обмена всех узлов не ясен;
- Низкая стабильность обмена, необходимость ручного управления?
DBReplicaton - технология высокоскоростного обмена данными между базами PostgreSQL. В данном докладе представлено решение, работающее уже в десятках средних и крупных компании России (>2500 активных пользователей, >20 узлов обмена), которое обладает: - Собственной транспортной подсистемой; - Централизованным единым интерфейсом управления и контроля за обменом; - Двусторонним обменом: возможностью работать с данными на изменение во всех узлах, участвующих в обмене; - Высокой скоростью обмена (от 2 секунд).
Дополнительно будет рассказано о необычном применении репликации в различных бизнес-системах.
-
ДДмитрий Мельник ИСП РАН разработчик
Ускорение исполнения запросов в PostgreSQL с использованием JIT-компилятора LLVM
В настоящее время в PostgreSQL для исполнения SQL-запросов используется интерпретатор. Это приводит к накладным расходам, связанным с неявными вызовами функций-обработчиков и проверок, которых можно было бы избежать при создании исполняемого кода "на лету" (JIT-компиляции) под конкретный SQL-запрос: в этом случае во время выполнения уже известна структура используемых таблиц и типы данных. Особенно это актуально для сложных запросов, где производительность процессора является основным ограничением. В настоящий момент существует два известных проекта, реализующих JIT-компиляцию в PostgreSQL: коммерческое решение Vitesse DB и open-source проект PGStorm. В первом проекте за счет использования LLVM JIT авторам удается получить ускорение до 8 раз на тестах из набора TPC-H. Второй проект реализует JIT-компиляцию запроса с использованием CUDA для исполнения его на GPU, что позволяет ускорить выполнение некоторых типов запросов на порядок.
Наша работа посвящена добавлению поддержки JIT-компиляции SQL-запросов в PostgreSQL с использованием компиляторной инфраструктуры LLVM. В докладе будет подробно рассмотрено, как JIT-компиляция может быть использована для ускорения различных этапов исполнения SQL-запросов, а также особенности трансляции SQL-запросов в LLVM-биткод для получения эффективного исполняемого кода. Также будут представлены предварительные результаты тестирования JIT-компилятора на наборе тестов TPC-H.
-
Борис Верюгин ООО "Диасофт Платформа" Руководитель управления развития
Автоматизированная миграция приложений с проприетарных СУБД на PostgreSQL
В докладе будут представлены технические решения компании "Диасофт Платформа" по миграции приложений с проприетарных СУБД (на примерах Oracle и Microsoft SQL Server) на PostgreSQL. Эти решения реализует программный продукт "Diasoft Database Adapter".
Разработанные нами технические решения позволяют автоматизировать: 1) миграцию схемы БД (включая трансляцию кода хранимых процудур и функций); 2) миграцию данных; 3) миграцию приложений-клиентов СУБД без какого-либо изменения их кода.
-
Hyungjoo Lee Bitnine Solution Architecture Team Leader
PostgreSQL в Корее
Корейская группа пользователей PostgreSQL была относительно мала и неактивна многие годы. Однако недавно, в Корее стали происходить изменения. Компании начали искать альтернативы применяемым дорогостоящим проприетарным РСУБД в целях сокращения TCO. Эту тенденцию также поддержали правительственные организации. Мы, компания Bitnine, руководим этим процессом в Корее. В 2015 г. мы запустили первую версию нашего решения на базе PostgreSQL, Agens SQL. Мы переводим документацию PostgreSQL на корейский и ведём группу пользователей PostgreSQL, а также пытаемся участвовать в работе глобальной группы разработчиков PostgreSQL. Кроме того, в этом году планируется проведение первой корейской конференции PostgreSQL и руководить её организацией будем мы. На этом выступлении мы сообщим о текущем состоянии корейской группы пользователей PostgreSQL и рынка СУБД PostgreSQL в Корее. Мы также расскажем о нашей деятельности в Корее и об историях успешного перехода с проприетарных РСУБД на PostgreSQL.