Top Banner
SQL Server StreamInsight data processing in real time Denis Reznik Head of Web Development Department, DCT Trainer, Microsoft Innovation Center MCT, MCITP, MCPD, MCTS, etc
25
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SQL Server StreamIinsight - data processing in real time

SQL Server StreamInsight data processing in real time

Denis ReznikHead of Web Development Department, DCT

Trainer, Microsoft Innovation CenterMCT, MCITP, MCPD, MCTS, etc

Page 2: SQL Server StreamIinsight - data processing in real time

StreamInsight

Основанная на .Net платформа непрерывной и инкрементальной обработки потоков событий из различных источников в режиме реального времени (с задержкой, близкой к нулю)

Page 3: SQL Server StreamIinsight - data processing in real time

StreamInsight vs RDBMS

Database Applications Event-Driven Applications

Запросы Запрос к уже сохранённым данных

Стоячие запросы

Задержка Секунды, Часы, Дни Миллисекунды и меньше

Частота событий

Сотни в секунду Сотни тысяч в секунду

request

response

Event output stream

input stream

Page 4: SQL Server StreamIinsight - data processing in real time

Производство

Сферы применения

Трейдинг

СистемыБезопасности

Веб-Аналитика

Вооружённые силы

Системы связи

Логистика

Электрификация

Page 5: SQL Server StreamIinsight - data processing in real time

Архитектура StreamInsight

Page 6: SQL Server StreamIinsight - data processing in real time

Основные понятия

Потоки События Адаптеры Шаблоны запросов

Page 7: SQL Server StreamIinsight - data processing in real time

Потоки

Все данные организованы в потоки Поток – возможно бесконечная последовательность

событий, содержащих данные Нет требования упорядочения по времени (но каждое

событие имеет временную метку) Потоки данных однонаправлены:

Источник -> Стоячий запрос (Standing Query) -> Приемник (Sink)

Page 8: SQL Server StreamIinsight - data processing in real time

События

Данные потоков упакованы в события Основная единица данных, обрабатываемая

StreamInsight сервером Составные части:

Заголовок (Header) тип (Kind) события временные метки связанные с событием

Нагрузка (Payload) – структура данных .NET Поля и Свойства события – элементарные типы Не более 32 полей Нельзя использовать атрибуты

Page 9: SQL Server StreamIinsight - data processing in real time

Адаптеры

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

обработки сервером Входные адаптеры (Input adapters) Выходные адаптеры (Output adapters)

Page 10: SQL Server StreamIinsight - data processing in real time

Шаблоны запросов

Обработка событий организована в виде запросов Шаблоны запросов (query templates) – структуры,

определяющие бизнес-логику обработки данных Экземпляр запроса (Query Instance = Query + Data

Sources) – зарегистрированная связка шаблона запроса с определенными входным и выходным адаптером

Page 11: SQL Server StreamIinsight - data processing in real time

Разворачивание

Hosted DLL Интегрирован в StreamInsight приложение

Stand-alone Server Поддержка множества приложений Может выполняться как сервис

Page 12: SQL Server StreamIinsight - data processing in real time

Демо

Tolling Station

Page 13: SQL Server StreamIinsight - data processing in real time

Элементы запросов

Projection Filtering Joins Unions Aggregations Event Windows

Hopping Window Tumbling Window Snapshot Window Count Window

Page 14: SQL Server StreamIinsight - data processing in real time

Projection

Page 15: SQL Server StreamIinsight - data processing in real time

Filtering

Page 16: SQL Server StreamIinsight - data processing in real time

Joins

Page 17: SQL Server StreamIinsight - data processing in real time

Unions

Page 18: SQL Server StreamIinsight - data processing in real time

Aggregations

Поддерживаемые функции Avg Sum Count Min Max User-defined

Page 19: SQL Server StreamIinsight - data processing in real time

Tumbling Window

Time

Page 20: SQL Server StreamIinsight - data processing in real time

Hopping Window

Time

Page 21: SQL Server StreamIinsight - data processing in real time

Snapshot Window

Page 22: SQL Server StreamIinsight - data processing in real time

Count Window

Time

Page 23: SQL Server StreamIinsight - data processing in real time

Демо

Tolling Station 2

Page 24: SQL Server StreamIinsight - data processing in real time

Полезные ссылки

Документация по 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

Page 25: SQL Server StreamIinsight - data processing in real time

Вопросы

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