Алексей Рагозин Алексей Рагозин Oracle Day, 2009

Слайд 2

ПЛАН Проблема биллинговой системы Доступ к данным — узкое место Пути

ПЛАН

Проблема биллинговой системы
Доступ к данным — узкое место
Пути решения
Oracle TimesTen
Oracle Coherence
EFD
Sun

Oracle Exadata Storage Server
Решение на базе Oracle Coherence

November 12, 2009

© 2009 Grid Dynamics — Scaling Mission Critical Systems

Слайд 3

БИЛЛИНГОВАЯ СИСТЕМА November 12, 2009 © 2009 Grid Dynamics — Scaling Mission Critical Systems

БИЛЛИНГОВАЯ СИСТЕМА

November 12, 2009

© 2009 Grid Dynamics — Scaling Mission Critical

Systems
Слайд 4

СОБЫТИЯ В БИЛЛИНГОВОЙ СИСТЕМЕ November 12, 2009 © 2009 Grid Dynamics

СОБЫТИЯ В БИЛЛИНГОВОЙ СИСТЕМЕ

November 12, 2009

© 2009 Grid Dynamics — Scaling

Mission Critical Systems

События, приводящие к изменению баланса абонента
Оказание услуг
Начисление средств

Доступ к балансу
Тарификация
Списание
Начисление
Запросы от сети
Запросы от CRM
Проблемы
Нагрузка на чтение
Нагрузка на запись
Транзакционность

Слайд 5

ЛОКАЛИЗАЦИЯ УЗКОГО МЕСТА November 12, 2009 © 2009 Grid Dynamics —

ЛОКАЛИЗАЦИЯ УЗКОГО МЕСТА

November 12, 2009

© 2009 Grid Dynamics — Scaling Mission

Critical Systems

Данные
Текущий баланс
Связи между счётчиками (правила)
Балансы абонентов могут быть взаимосвязаны (групповые бонусы и т.п.)

Требования (20 миллионов абонентов)
Число объектов (счётчиков) ~ 109
Операций в секунду ~ 1000
Время на операцию — не более 50ms

Процедура списания

Слайд 6

ТЕХНОЛОГИИ ХРАНЕНИЯ November 12, 2009 © 2009 Grid Dynamics — Scaling

ТЕХНОЛОГИИ ХРАНЕНИЯ

November 12, 2009

© 2009 Grid Dynamics — Scaling Mission Critical

Systems

Оперативная память

Flash память
Высокий IOPS
Время доступа < 1ms
Вариант 1
Реляционную СУБД + накопители на flash памяти (EFD)
Вариант 2
Интегрированное решение Sun Oracle Exadata Storage Server

Хранение данных на магнитном диске
Ограничение по числу операций в секунду (IOPS)
Время доступа порядка 10ms

Слайд 7

November 12, 2009 © 2009 Grid Dynamics — Scaling Mission Critical

November 12, 2009

© 2009 Grid Dynamics — Scaling Mission Critical Systems

Решение

для системы управления балансом абонентов на технологии Oracle Coherence
Слайд 8

АРХИТЕКТУРА РЕШЕНИЯ November 12, 2009 © 2009 Grid Dynamics — Scaling

АРХИТЕКТУРА РЕШЕНИЯ

November 12, 2009

© 2009 Grid Dynamics — Scaling Mission Critical

Systems

Хранение данных в памяти

Распределение нагрузки

Асинхронная репликация в БД

Горизонтальная масштабируемость

Денормализация схемы данных

Слайд 9

ТЕСТОВЫЙ СТЕНД November 12, 2009 © 2009 Grid Dynamics — Scaling

ТЕСТОВЫЙ СТЕНД

November 12, 2009

© 2009 Grid Dynamics — Scaling Mission Critical

Systems

Масштабирование по данным
Число абонентов (миллионы)

Масштабирование по серверам
Число серверов

Характеристики серверов тестового стенда
CPU 2.5 GHz 4 ядра 2 сокета
RAM 32 GB

Списаний в секунду

Списаний в секунду

Слайд 10

COHERENCE КАК ПЛАТФОРМА November 12, 2009 © 2009 Grid Dynamics —

COHERENCE КАК ПЛАТФОРМА

November 12, 2009

© 2009 Grid Dynamics — Scaling Mission

Critical Systems

Малое время отклика
Хранение данных в оперативной памяти
Эффективное сетевое взаимодействие (точка-точка)
Coherence может встраиваться в приложение (исключается лишний интерфейс)
Обработка данных по месту хранения — снижение нагрузки на сеть

Обеспечение надёжности
Каждый блок данных имеет две реплики на разных серверах
Очередь репликации в БД также реплицируется
Раннее обнаружение выхода серверов из состава кластера с автоматическим переразмещением реплик

Использование Coherence как платформы для распределённых приложений
Управление распределённым исполнением
Балансировка нагрузки
Координация кластера
Восстановление после сбоев
Управление составом кластера