sql server streamiinsight - data processing in real time
TRANSCRIPT
SQL Server StreamInsight data processing in real time
Denis ReznikHead of Web Development Department, DCT
Trainer, Microsoft Innovation CenterMCT, MCITP, MCPD, MCTS, etc
StreamInsight
Основанная на .Net платформа непрерывной и инкрементальной обработки потоков событий из различных источников в режиме реального времени (с задержкой, близкой к нулю)
StreamInsight vs RDBMS
Database Applications Event-Driven Applications
Запросы Запрос к уже сохранённым данных
Стоячие запросы
Задержка Секунды, Часы, Дни Миллисекунды и меньше
Частота событий
Сотни в секунду Сотни тысяч в секунду
request
response
Event output stream
input stream
Производство
Сферы применения
Трейдинг
СистемыБезопасности
Веб-Аналитика
Вооружённые силы
Системы связи
Логистика
Электрификация
Потоки
Все данные организованы в потоки Поток – возможно бесконечная последовательность
событий, содержащих данные Нет требования упорядочения по времени (но каждое
событие имеет временную метку) Потоки данных однонаправлены:
Источник -> Стоячий запрос (Standing Query) -> Приемник (Sink)
События
Данные потоков упакованы в события Основная единица данных, обрабатываемая
StreamInsight сервером Составные части:
Заголовок (Header) тип (Kind) события временные метки связанные с событием
Нагрузка (Payload) – структура данных .NET Поля и Свойства события – элементарные типы Не более 32 полей Нельзя использовать атрибуты
Адаптеры
Получают/принимают события из источника данных Размещают события в очереди для последующей
обработки сервером Входные адаптеры (Input adapters) Выходные адаптеры (Output adapters)
Шаблоны запросов
Обработка событий организована в виде запросов Шаблоны запросов (query templates) – структуры,
определяющие бизнес-логику обработки данных Экземпляр запроса (Query Instance = Query + Data
Sources) – зарегистрированная связка шаблона запроса с определенными входным и выходным адаптером
Разворачивание
Hosted DLL Интегрирован в StreamInsight приложение
Stand-alone Server Поддержка множества приложений Может выполняться как сервис
Элементы запросов
Projection Filtering Joins Unions Aggregations Event Windows
Hopping Window Tumbling Window Snapshot Window Count Window
Полезные ссылки
Документация по StreamInsight http://msdn.microsoft.com/ru-ru/library/ee362541.aspx
A Hitchhiker's Guide to StreamInsight Queries http://blogs.msdn.com/b/streaminsight/archive/2010/06/08/hitchhiker-s-guide-to-streaminsight-queries.aspx
SQL Server 2008 R2 Update for Developers Training Kit http://www.microsoft.com/downloads/details.aspx?FamilyID=fffaad6a-0153-4d41-b289-a3ed1d637c0d&displaylang=en
Блог команды разработчиков http://blogs.msdn.com/b/streaminsight/ Форум StreamInsight http://social.msdn.microsoft.com/Forums/en-US/streaminsight
Вопросы
Denis ReznikHead of Web Development dpt. at DCTTrainer at MICMicrosoft MVP (SQL Server)Microsoft Certified [email protected]://twitter.com/DenisReznikhttp://dev.net.ua/blogs/denisreznik/MCPD - Web Developer 4MCITP – Database Developer 2008MCTS - .NET Framework 4, Web ApplicationsMCTS - SQL Server 2008, Database DevelopmentMCTS - .NET Framework 4, Data Access with ADO.NETMCTS - SQL Server 2008, Implementation and Maintenance