title

text

Григорий Хромов
Григорий Хромов MyAsterisk Руководитель технического отдела
09:00 05 февраля
22 мин

Обработка статистических данных в режиме реального времени посредством триггеров

В нашей телефонной платформе исторически использовалась СУБД MySQL и стандартная система статистики CDR. Постоянные оптимизации позволили сократить время ожидания загрузки информации, но оно было все еще велико. Ко всему прочему CDR не отличалась детальностью и высокой точностью. Было принято решение миграции на PostgreSQL и создание собственной системы сбора статистики на основе подсистемы CEL. CEL генерирует по одной записи на каждое внутреннее событие происходящее во время звонка и число таких записей может достигать несколько сотен. Применив триггеры PostgreSQL мы смогли сформировать подробную статистику всего в одной записи на каждый звонок. При этом общая производительность по сравнению со старой системой ощутимо выросла – время загрузки сократилось с минуты и более до нескольких секунд.

Слайды

Видео

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

  • Евгений Тюменцев
    Евгений Тюменцев ООО "Здравствуй мир! Технологии" Генеральный диреткор
    22 мин

    Об опыте применения JSONB в реальных проектах

    Будут рассмотрены преимущества и недостатки решений на основе JSONB по сравнению с традиционным реляционным подходом на примере реальных проектов, в том числе: 1. Производительность 2. Версионность данных 3. Масштабируемость 4. Надежность 5. Построение отчетов

  • Hyungjoo Lee
    Hyungjoo Lee Bitnine Solution Architecture Team Leader
    22 мин

    PostgreSQL в Корее

    Корейская группа пользователей PostgreSQL была относительно мала и неактивна многие годы. Однако недавно, в Корее стали происходить изменения. Компании начали искать альтернативы применяемым дорогостоящим проприетарным РСУБД в целях сокращения TCO. Эту тенденцию также поддержали правительственные организации. Мы, компания Bitnine, руководим этим процессом в Корее. В 2015 г. мы запустили первую версию нашего решения на базе PostgreSQL, Agens SQL. Мы переводим документацию PostgreSQL на корейский и ведём группу пользователей PostgreSQL, а также пытаемся участвовать в работе глобальной группы разработчиков PostgreSQL. Кроме того, в этом году планируется проведение первой корейской конференции PostgreSQL и руководить её организацией будем мы. На этом выступлении мы сообщим о текущем состоянии корейской группы пользователей PostgreSQL и рынка СУБД PostgreSQL в Корее. Мы также расскажем о нашей деятельности в Корее и об историях успешного перехода с проприетарных РСУБД на PostgreSQL.

  • Heikki Linnakangas
    Heikki Linnakangas Pivotal PostgreSQL hacker

    Внутреннее устройство индексов

    PostgreSQL поддерживает несколько типов индексов: GiST, SP-GiST, GIN и, конечно, обычное B-дерево. Администраторы БД знают, когда применять каждый из них: GIN для полнотекстового поиска, GiST для геометрических данных и т. д., но как они устроены внутри? Благодаря чему они хорошо работают в сценариях использования, для которых предназначены? В этой презентации я познакомлю вас с внутренней структурой каждого из этих типов индексов и расскажу, каковы их сильные и слабые стороны.

  • Kevin  Grittner
    Kevin Grittner EnterpriseDB

    Всё об изоляции транзакций в PostgreSQL для разработчиков приложений

    Когда множество пользователей, процессов или потоков выполнения одновременно модифицируют их общие данные, это может вызывать проблемы, если каким-то образом не урегулировать условия гонки. Эти проблемы особенно остро проявляются в базах данных, реализующих семантику ACID. Набор изменений, объединённых в транзакцию базы данных, должен проявляться атомарно, и для параллельных транзакций, и для процесса восстановления после сбоя. Каждая транзакция должна переводить базу данных из одного согласованного состояния (с точки зрения бизнес-правил) в другое. Для эффективной разработки необходимо иметь возможность запрограммировать каждую транзакцию независимо от других транзакций, которые по стечению обстоятельств могут выполняться в то же самое время. В случае сбоя все изменения, внесённые транзакциями, об успешном завершении которых были уведомлены приложения, а также все изменения, ставшие видимыми для других транзакций, должны оставаться в базе после восстановления. За многие годы были выработаны различные стратегии обеспечения этих гарантий, а иногда гарантии корректировались тем или иным способом. В данном докладе будет рассказано, каким образом обеспечиваются эти гарантии или их компромиссные варианты, с упором на методику сериализуемой изоляции снимков (SSI, Serializable Snapshot Isolation), применяемую в PostgreSQL (и ни в какой другой производственной СУБД на данный момент). Хотя SSI уже работает быстрее и с большей степенью параллельности, чем любая другая методика управления условиями гонки с наиболее типичной нагрузкой, есть много путей для дальнейшего увеличения производительности, некоторые из которых требуют помощи эксперта по различным методам доступа индексов; эти вопросы и будут обсуждены в данном докладе. Кроме того, на докладе будут представлены некоторые общие идеи о том, как можно использовать методики SSI с XTM в распределённой системе. В конце мы оставили время для группового обсуждения оптимизации и возможных применений в распределённой среде.