coherence in billing (oracle day moscow 2009)
DESCRIPTION
Slide deTRANSCRIPT
© 2009 Grid Dynamics — Scaling Mission Critical Systems
Алексей РагозинOracle Day, 2009
• Проблема биллинговой системы• Доступ к данным — узкое место
• Пути решения• Oracle TimesTen
• Oracle Coherence
• EFD
• Sun Oracle Exadata Storage Server
• Решение на базе Oracle Coherence
November 12, 2009© 2009 Grid Dynamics — Scaling Mission Critical Systems 2
November 12, 2009© 2009 Grid Dynamics — Scaling Mission Critical Systems 3
Биллинговая система
Тел
еком
мун
икац
ионн
ые
серв
исы П
лат
ёжна
я си
стем
аC
RM
События(пополнение
баланса)
События(оказание услуг)
Баланс(включение/отключение
услуг)
АбонентыТарифыБаланс
...
Информация об абонентах
Тарифные планы
Информацияо балансе
Управление балансом
Тарификация услуг
November 12, 2009© 2009 Grid Dynamics — Scaling Mission Critical Systems 4
События, приводящие к изменению баланса абонента• Оказание услуг
• Начисление средств
Доступ к балансу
• Тарификация
• Списание
• Начисление
• Запросы от сети
• Запросы от CRM
Проблемы
• Нагрузка на чтение
• Нагрузка на запись
• Транзакционность
Биллинг
Потребление услуг Начисление средств
ТарификацияУправлениебалансом
Данные биллинговой системы
Баланс
События События
Запросы Запросы
Отключение услуг Информация о балансе
November 12, 2009© 2009 Grid Dynamics — Scaling Mission Critical Systems 5
Данные•Текущий баланс
•Связи между счётчиками (правила)
Балансы абонентов могут быть взаимосвязаны (групповые бонусы и т.п.)
Требования (20 миллионов абонентов)
•Число объектов (счётчиков) ~ 109
•Операций в секунду ~ 1000
•Время на операцию — не более 50ms
Биллинговая системаСобытия События
Подсистема управления балансом
Пакетнаяобработка
Запросы
Списание НачислениеТарификация
Списание
КонвертацияТекущ
ий баланс
Тарификация
Изм
енение
баланса
Квитанция
Процедура списания
November 12, 2009© 2009 Grid Dynamics — Scaling Mission Critical Systems 6
Оперативная память Flash память• Высокий IOPS
• Время доступа < 1ms
Вариант 1
Реляционную СУБД + накопители на flash памяти (EFD)
Вариант 2
Интегрированное решение Sun Oracle Exadata Storage Server
Хранение данных на магнитном диске• Ограничение по числу операций в секунду (IOPS)
• Время доступа порядка 10ms
Горизонтальное масштабирование
ФункцииРеляционной
СУБД
OracleCoherence
Оба продукта обеспечивают
• Высокую скорость• Сохранность данных• Отказоустойчивость
Один сервер
Малый кластер
Грид
Выборки и агрегация
данных
JDBC
SQL и аналитические
запросы
OracleTimesTen
Большойкластер
(10N-узлов)(N-узлов)(SMP) (NNN-узлов)
November 12, 2009© 2009 Grid Dynamics — Scaling Mission Critical Systems 7
November 12, 2009© 2009 Grid Dynamics — Scaling Mission Critical Systems 8
• Хранение данных в памяти
Coherence
Coherence
Coherence
CoherenceСУБД
Репликация состояния из Coherence в БД
CoherenceСУБД
Репликация состояния из Coherence в БД
CoherenceСУБД
Репликация состояния из Coherence в БД
• Распределение нагрузки
• Асинхронная репликация в БД• Горизонтальная
масштабируемость
• Денормализация схемы данных
November 12, 2009© 2009 Grid Dynamics — Scaling Mission Critical Systems 9
Масштабирование по данным
Число абонентов (миллионы)
Масштабирование по серверам
Число серверов
Характеристики серверов тестового стенда•CPU 2.5 GHz 4 ядра 2 сокета•RAM 32 GB
Сп
иса
ни
й в
се
кун
ду
Сп
иса
ни
й в
се
кун
ду
November 12, 2009© 2009 Grid Dynamics — Scaling Mission Critical Systems 10
Малое время отклика
• Хранение данных в оперативной памяти
• Эффективное сетевое взаимодействие (точка-точка)
• Coherence может встраиваться в приложение (исключается лишний интерфейс)
• Обработка данных по месту хранения — снижение нагрузки на сеть
Обеспечение надёжности
• Каждый блок данных имеет две реплики на разных серверах
• Очередь репликации в БД также реплицируется
• Раннее обнаружение выхода серверов из состава кластера с автоматическим переразмещением реплик
Использование Coherence как платформы для распределённых приложений
• Управление распределённым исполнением
• Балансировка нагрузки
• Координация кластера
• Восстановление после сбоев
• Управление составом кластера
November 12, 2009© 2009 Grid Dynamics — Scaling Mission Critical Systems 11
Алексей РагозинРуководитель направления Oracle Coherence