32
“Секретные” технологии инвестиционных банков Алексей Рагозин

«Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

  • Upload
    ontico

  • View
    735

  • Download
    5

Embed Size (px)

Citation preview

Page 1: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

“Секретные” технологии инвестиционных банковАлексей Рагозин

Page 2: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

В ходе данного доклада никаких секретов, включая коммерческие и торговые секреты, раскрыто не будет.Доклад основан на материалах доступных из открытых источников.

Page 3: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

“Секретные” технологииАналитическая БД в оперативной памяти

kX kDBСистема обмена сообщениями

Informatica Ultra MessagingComplex Event Processing

Внутренняя разработка

Page 4: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

kX kdb+

Аналитическая БД в оперативной памяти

Page 5: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Анализ глубины рынка

Рынок информирует подписчиков о заявках / сделках в виде потока событий.

Page 6: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Анализ глубины рынка

Источник - http://www.nanex.net/aqck2/4176.html

Page 7: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Анализ глубины рынка

Быстрая динамика входных данных

Анализ исторического окна Большое количество арифметики

Page 8: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

kX kdb+

Может хранить данные на дискеИнтерпретатор языка QQ – функциональный язык, ориентирован на работу с массивамиОсновная обработка данных в памяти

Page 9: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Язык Q

sql-qselect[3;>price] from bids where sym=s,size>0

Page 10: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

kX kdb+Особенности Интерпретируемый язык Логическая однопоточность

Отдельные операции могут распараллеливаться

Интерпретатор < 500 KiB Манипуляция массивами Глубокая оптимизация под

архитектуру процессора

Page 11: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Применение kdb+Аналитика Анализ рынка Анализ истории сделок

Page 12: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Применение kdb+Аналитика Анализ рынка Анализ истории сделок

Анализ логов Оптимизация взаимодействия

системАнализ сетевого трафика Оптимизация сетевых задержек

Page 13: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Дополнительная информация Официальный сайт

http://kx.com/ Доклад про использование kdb+ в Deutsche

Bankhttp://2013.secr.ru/invited-speakers/andrey-babanin

Альтернативы J аналог языка K (предтече Q)

https://en.wikipedia.org/wiki/J_%28programming_language%29

Page 14: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Informatica Ultra Messaging

Система обмена сообщениями

Page 15: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Классика MOMStore & Forward

Брокер

Источник

Сообщение

Подтверждение

Сообщение

Сообщение

Подтверждение

Потребитель 1

Потребитель N

Page 16: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Классика MOMРаспределённая транзакция

Гарантия: однократная доставка

База данных БрокерБизнеслогика

Сообщение

ЗаписьПодтверждение

Двух фазный коммит

Page 17: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Альтернатива 2PCСквозная нумерация сообщенийБрокер хранит окно сообщений Потребитель может запросить

сообщения с любого номераПотребитель хранит номер последнего обработанного сообщенияРаспределённая транзакция не требуется

Page 18: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Reliable multicast

Сообщение N

Сообщение N

Сообщение N

Источник

Потребитель 1

Потребитель N

ReplayServer

Page 19: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Reliable multicast

Гарантия: доставка хотя бы раз

Сообщение N

Сообщение N

Сообщение N

Источник

Потребитель 1

Потребитель N

ReplayServer

Page 20: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Informatica Ultra Messaging Частично базируется на PGM

Pragmatic General Multicasthttps://en.wikipedia.org/wiki/Pragmatic_General_Multicast

Несколько реализаций транспорта

UDP multicast – минимальная задержка

UDP unicastTCP

Реализация дискового eplay server

Page 21: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Informatica Ultra MessagingКлючевые преимуществаСквозная нумерация сообщений Транзакционные гарантии

Малая задержка Прямая передача от источника

получателю Мультикаст

Page 22: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

ОтказоустойчивостьНадёжность – вопрос выбораЛокальная сеть - надёжна

Дублирование оборудованияСервера / Процессы могут падатьРезервный датацентр – холодный

Исключительная ситуацияПолуавтоматическая процедура

Page 23: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

ОтказоустойчивостьПотребитель 1

Потребитель N

ОсновнойДатацентр

РезервныйДатацентр

MessageStore

MessageStore

MessageStore

MessageStore

MessageStore

MessageStore

Источник

Подтверждение иерархическим кворумом

Page 24: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

ОтказоустойчивостьЛокальный кворум обеспечивает гарантию работы при выходе из строя одного хранилища.Восстановления потребителя происходит из всех хранилищХранилища могут иметь “дырки”“Дырки” сами не восстанавливаются

Page 25: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Open Source АналогиApache Kafka Publish/Subscribe messaging Распределенный журнал сообщений Коммуникации через брокера

Apache Bookkeeper/HedWig Распределённый журнал Основан на Zookeeper Коммуникации через брокера

ZeroMQ Реализация PGM Нет инфраструктуры восстановления

Page 26: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Архитектура Фронт-энда для

Трейдинга

Complex Event Processing

Page 27: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Фронт-энд для Трейдинга

http://2014.secr.ru/program/submitted-presentations/rapid-development-gui-for-large-data-volumes-with-cqrs

Контролер

Шина обмена сообщениями ШлюзШлюз

Кэш

Page 28: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Фронт-энд для ТрейдингаEvent-Driven

Даже статические данные меняютсяМного источников исходных данных

Транзакционные данные Справочники (статические данные) Котировки

Таблицы на входе, таблицы на выходе

Основная визуализация - таблицы Исходные данные - таблицы

Page 29: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Фронт-энд для ТрейдингаРеляционная алгебра как универсальный инструмент работы с данными

Нет доменных объектов (есть схема)Формирования UI по метаданнымУдобный энричмент данныхБыстрая разработка

Нужна непрерывная обработка запросовContinuous Query

Page 30: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

Continuous Event Processing Event Driven Соединение данных из разных источников

Включая реляционные джойны Агрегация данных

Инкрементальные алгоритмы

Чего не хватает традиционным CEP? В традиционных CEP – преобразования

статичны. Для UI нужна возможность строить запросы на

лету.

Page 31: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

CEP Движок для Фронт-энда Внутренняя разработка Обработка данных в памяти Инкрементальная обработка

событий Фильтрация / Джойны / Агрегация

Быстрая инициализация новых запросов

Переиспользование эквивалентных операторов между запросами

Поисковые индексы

Page 32: «Секретные» технологии инвестиционных банков / Алексей Рагозин (Дойче Банк)

СпасибоАлексей Рагозин

[email protected]://blog.ragozin.info