title

text

Брюс Момжиан
Брюс Момжиан EnterpriseDB Senior Database Architect
18:00 01 марта
45 мин

Postgres и искусственный интеллект в современном мире

Искусственный интеллект, машинное обучение и глубокое обучение — это взаимосвязанные концепты, которые пытаются решить проблемы, бросающие вызов традиционным вычислительным решениям — с помощью них обнаруживают мошенничество, распознают голос и определяют релевантность результатов поиска. Несмотря на то, что они противостоят традиционному вычислению, они требуют больших вычислительных ресурсов — вплоть до вычисления миллионов вероятностей и весов. Хотя эти вычисления могут выполняться вне базы данных, машинное обучение внутри базы данных, близко к тому, где хранятся данные, даёт определенные преимущества. В этой презентации будет разъяснено, как выполнять машинное обучение в базе данных под управлением Postgres.

Слайды

Видео

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

  • Ibrar Ahmed
    Ibrar Ahmed Percona LLC Senior Database Architect
    90 мин

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

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

  • Арсений Шер
    Арсений Шер Postgres Professional Разработчик
    45 мин

    Консенсус, Postgres, Мультимастер

    Postgres Pro Multimaster - это расширение Postgres (и набор патчей для ядра), обеспечивающее высокую доступность (HA) со строгой согласованностью и масштабируемостью чтения. Он образует симметричный кластер без общего доступа, синхронно реплицирующий данные и автоматически выполняющий аварийное восстановление. В течение последнего года мы приложили значительные усилия, чтобы убедиться и доказать, что согласованность сохраняется во всех сценариях. Новая версия, которая будет выпущена как часть Postgres Pro Enterprise 13, использует алгоритм Paxos для определения результата транзакции и оригинальный протокол, управляющий процессом восстановления; мы использовали TLA+ и TLC model checker для проверки его правильности. Я расскажу, как все это работает и почему в некоторых случаях multimaster может быть привлекательной альтернативой традиционным HA решениям на основе потоковой репликации.

    Multimaster теперь имеет открытый исходный код и доступен по адресу: https://github.com/postgrespro/mmts

    Чтобы сделать доклад менее узкоспециализированным и более привлекательным для широкой аудитории, в первой части я расскажу о том, как в целом современные СУБД (в основном так называемые NewSQL СУБД) обеспечивают отказоустойчивость. В частности, я остановлюсь на следующих моментах:

    что такое строго согласованная СУБД и какие накладные расходы с этим связаны; что такое распределённый консенсус, Paxos, Raft; как они здесь помогают?

    Я не буду пытаться объяснять какие-либо алгоритмы построчно; это едва ли осмысленно с учетом ограничений по времени, и на эту тему есть много полезной литературы. Цель здесь скорее в том чтобы познакомить с областью и задать в ней ориентиры.

  • Daniel Westermann
    Daniel Westermann dbi services Principal Consultant
    45 мин

    Как переносить данные из Oracle в PostgreSQL и обратно

    Использование PostgreSQL стало обычным делом во множестве организаций. В большинстве случаев PostgreSQL устанавливают в дополнение к уже имеющимся СУБД Oracle, и довольно скоро возникает закономерный вопрос: как перебрасывать данные из Oracle в PostgreSQL и наоборот? Давайте перенесёмся в прошлое, в март 2001, когда вышло новое расширение SQL стандарта, определившее общие принципы создания API для управления внешними данными: SQL/MED (ISO/IEC 9075-9:2008). Сообщество PostgreSQL довольно быстро создало фреймворк для использования рекомендаций стандарта в виде так называемых обёрток сторонних данных (foreign data wrappers). Это случилось в 2011 с выходом PostgreSQL 9.1. С тех пор число обёрток сторонних данных постоянно растёт. Сегодня благодаря им PostgreSQL может интегрировать данные почти из любого внешнего источника, будь то обычные файлы, другие реляционные СУБД или даже неструктурированные данные. В рамках этого доклада мы рассмотрим обёртку сторонних данных для Oracle и то, как её можно использовать для получения данных из Oracle в PostgreSQL. Однако обратное тоже верно: данные из PostgreSQL также можно отправить в Oracle, и это может быть важно для соблюдения требований. Обещаю, что в докладе будет две части: слайды и много демонстраций.

  • Dimitri Fontaine
    Dimitri Fontaine
    45 мин

    Архитектуры с Postgres в продакшне

    При использовании PostgreSQL в продакшне крайне важно реализовать стратегию высокой доступности. В случае с сервисом БД требования к высокой доступности будут касаться как самого сервиса, так и набора данных.

    В рамках данного доклада мы попробуем определить потребности вашей конкретной продакшн-среды в высокой доступности и постараемся выполнить необходимые требования с использованием открытых бесплатных инструментов, разработанных для PostgreSQL. В частности, мы рассмотрим многие возможности, которые можно реализовать для Postgres, чтобы превратить его из обычного набора инструментов в реально работающий. Что это означает в контексте высокой доступности? Как выполнить эти требования?