R2 Предварительное знакомство Алексей Шуленин Microsoft Департамент стратегических технологий Эксперт по технологиям обработки и анализа информации Disclaimer Microsoft SQL Server 2008 R2, он же SQL Server 10.5, он же “Kilimanjaro” запланирован к выпуску на 1-ю половину 2010 года В настоящее время доступен Community Technology Preview (CTP) 2, который вышел 11 августа 2009 г. • На него, в основном, опирается данный рассказ Затронутая функциональность не является окончательной и может меняться по мере готовности продукта До конца года выйдет СТР3 • По опыту можно предположить, что это событие будет приурочено к саммиту PASS (2-5 ноября) • http://summit2009.sqlpass.org/ Краткая история SQL Server Enterprise Data Platform SQL 6.0 1995 SQL 6.5 SQL 7.0 1996 1998 SQL 2000 2000 SQL CE 2000 SQL 2005 2005 Small Server SQL 2008 2008 64-bit Megaserver + Desktop to SMP (New Architecture) Backup/Restore Log Shipping Auditing Failover Clustering Database Mirroring Replication GUI Platform for all Data Management Studio XML Files XML (SQL-XML) Spatial BLOB Objects ODBC ADO.NET Data Services ADO.NET XQuery CLR Functions, Procedures in DBMS Engine Entity Framework OLAP and ETL Pervasive Insight Policy-Based Management SQL-CE Device and Desktop Relational OLE DB From: Deskside servers To: Cell phone to Scale-Out Utility to Cloud Enterprise Class ETL Scripting Dynamic Development 64-bit 2001 Data Mining Managed Reporting Data Warehousing Multiple sources KPIs Partitioning DW Scale Data Profiling Ad-hoc Reporting Data Visualizations VS Integration Office Integration From: Tables and BLOBs To: Objects, Places, Documents, XML, Cubes, … From: CRUD, Backup/Restore To: Analyze, Synchronize, Integrate, Mine, Extend, … From: BI as a specialization To: BI for everyone Комплексная платформа данных Enterprise Data Services Reporting Integration Analysis Platform for All Data Query RDBMS Synch FILE XML OLAP Search Dynamic Development Mobile and Desktop Data Center Cloud Pervasive Insight “Enabling customers of all sizes to derive value from ALL data, birth through archival” Новые возможности Productive Trusted Intelligent Transparent Data Encryption Policy Based Management Enterprise Reporting Engine External Key Management Entity Data Model (EDM) Report Builder 2.0 Data Auditing ADO.NET Entity Framework Enhanced Data Visualization Pluggable hot-add CPU ADO.NET Data Services Change Data Capture Visual Entity Designer Data Profiling Sync Services for ADO.NET Star Join Query Optimization Table-Valued Parameters Better rendering for Word & Excel PowerShell Integration TABLIX CLR Improvements Data Mining Engine Improvements FILESTREAM Data Type Conflict Detection Integrated Full Text Search Performance Date Collector Large User Defined Types IIS Agnostic Report Deployments Date/Time Data Types Scale out Analysis Services Query Optimizations Geography Data Types MERGE SQL Statement Filtered Indexes Geometry Data Types Non-logged Inserts Sparse Columns Grouping Sets Persistent Look-ups Intellisense Partition Aligned Indexed View Transparent Failover for Database Mirroring Backup Compression Data Compression Database Mirroring Enhancements Upgrade Advisor Lock Query Plan Server Group Management Resource Governor Partitioned Table Parallelism Streamlined Installation 5 Кол-во выявленных уязвимостей # of CVE – Software Flaws 160 SQL Server 120 144 Oracle Источник: National Institiute of Standards and Technology (NIST) http://web.nvd.nist.gov/view/vuln/search 80 61 46 40 48 41 48 25 24 3 12 11 0 0 0 0 2004 2005 2006 2007 0 0 2002 2003 2008 ) 2009 Масштабируемая высокопроизводительная платформа TPC-E • Newest performance record by NEC • 27 TPC-E benchmarks reported to date TPC-H • 300GB: №3 price/performance • 10TB: №1 price/performance SAP Microsoft Dynamics CRM ETL Performance TechNewsWorld • 34,000 SAP 3-tier benchmark SD Users. World Record Scale Set 4-Proc Server • Record scale at 50K concurrent users and 2.9 million daily transactions with sub-second response rate • Load 1 TB of data in less than 30 minutes using SSIS 7 Петабайтное хранилище Pan-STARRS http://ru.wikipedia.org/wiki/Pan-STARRS http://www.osp.ru/news/articles/2008/36/5315193/ http://pan-starrs.ifa.hawaii.edu/public/ SQL Server 2008 R2 aka “Kilimanjaro” Впервые объявлен на Microsoft Business Intelligence (BI) Conference 2008 в Сиэтле 06.10.08 • Пресс-релиз http://www.microsoft.com/Presspass/press/2008/oct08/10-06BI08PR.mspx Анонсирован общий состав планируемой функциональности Self-service analysis capabilities code-named “Project Gemini” • Self-service reporting • Advanced data warehousing being developed under the project code-named “Madison” (DATAllegro) • – Augmenting enterprise-class capabilities with acquisition of data quality vendor Zoomix Таким образом, R2 позиционируется в основном как BI release Более того, People-Ready BI • Madison - build a strong ecosystem • – В партнерстве с производителями HW: (Bull, Dell, EMC, HP, Unisys) – Providing “appliance-like” buying experience for customers подобно приобретению домашней бытовой техники Впоследствии список функциональности R2 пополнился за счет Synthesis - расширения к SSMS для централизованного администрирования и к VS для удобства деплоймента SQL Serverных проектов • Stratature (MDM) • StreamInsight • SQL Server 2008 R2 СТР2 Что из перечисленного доступно на данный момент (сентябрь - октябрь 2009 г.) • SQL 2008 R2 CTP2 (~1.2 GB в з-ти от х86, х64, ia64) – http://www.microsoft.com/downloads/details.aspx?FamilyID=e19689bd-38dd-46c4-8645- f58ca4d61d1f&DisplayLang=en – Это Enterprise Evaluation (т.е. встает на Висту, W7) на 180 дней • Отдельно можно скачать BOL (155 MB) – http://www.microsoft.com/downloads/details.aspx?familyid=C18BAD82-0E5F-4E82-812B- 5B23E5D52B9C&displaylang=en – Входит в пред.п., также доступна на сайте MSDN • Madison Technology Preview – For more information on registration for Madison technology previews, email mdsontap@microsoft.com – http://blogs.technet.com/dataplatforminsider/archive/2009/08/24/microsoft-ships-the-first-technology- preview-for-project-code-named-madison.aspx • StreamInsight СТР2 – http://www.microsoft.com/downloads/details.aspx?familyid=A3FAA562-B6DC-4702-90C6- BF8E08DF3B8B&displaylang=en • Report Builder 3.0 в составе SQL Server® 2008 R2 August Community Technology Preview Feature Pack – http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=adc60012-be4a-47d0-877f- ca91326939c3 SQL Server 2008 R2 СТР2 Что из перечисленного доступно на данный момент (сентябрь - октябрь 2009 г.) • Также в августе вышел SQL Azure CTP – http://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx SQL Server 2008 R2 СТР2 Что из перечисленного доступно на данный момент (сентябрь - октябрь 2009 г.) Повышенные требования к масштабируемости корпоративного BI Тенденции таковы, что данных становится все больше, больше, больше!!! • Как и пользователей, которым требуется с ними работать Разные факторы способствуют взрывному росту • Удешевление цен на носители • Различные форм-факторы устройств и повсеместность доступа • Да и вообще мир не становится проще Терабайтные внедрения на SQL Server Daggett Research 12 TB 20 TB 27 TB 15 TB 20 TB 5 TB 10 TB 30 TB 10 TB 5 TB 8 TB 40 TB 30 TB 7 TB 8 TB 5 TB • До недавнего времени Windows Server (и SQL Server) не поддерживали более 64 логических процессоров • Однако современные тенденции в индустрии таковы, что стандартная 8 процессорная платформа может вполне обернуться 128-ю логическими процессорами • Поэтому теперь Windows Server 2008 R2 их поддерживает на 64-битных платформах (X64 & IA64), включая приложения и драйверы устройств • А следом за ним и SQL Server 2008 Enterprise Edition • Не говоря уже про R2 • Это что касается SMP 15 DATAllegro Technology Partners Proprietary Appliance Management and MPP Database Open Source Database and OS Industry Standard Servers Industry Standard Networking Industry Standard Storage Madison MPP для SQL Server 2008 Стандартные промышленные серверы Аналогично сетевое оборудование И массивы хранения Fast Track DW Заранее сконфигурированные и протестированные шаблонные аппаратные архитектуры (432 TB) «Тостерное» время развертывания Гибкость за счет выбора аппаратной платформы Снижение стоимости благодаря использованию стандартного оборудования (commodity) Снижение рисков благодаря предварительной конфигурации и настройке Легкость в апгрейде до “Madison” благодаря подходу Hub/Spoke Ultra Shared Nothing Расширение традиционного подхода shared nothing Точнее, углубление внутрь SMP-узла • IO и CPU affinity в SMP • Маска может быть назначена любому пользовательскому запросу • Уменьшается конкуренция между запросами за ресурсы • Множественные физические экземпляры таблиц – Партиционируем (на основе хэша) большие таблицы – Реплицируем маленькие – Средние - реплицируем и/или распределяем • Также поддерживаются компрессия и TDE • Записи могут перераспределяться на лету по мере надобности Составные части MPP Madison Control Node & Client Drivers • Клиентские соединения всегда входят через управляющий узел – Может быть активным или пассивным • Узел обрабатывает поступающий запрос и приготавливает план выполнения (с учетом распределения данных) – Короче, дирижирует распределенным выполнением • Локальный SQL Server производит финальный план, отработку своего куска и агрегирование результата • Используется тот же набор драйверов, что и в DATAllegro – Обеспечивается DataDirect • ODBC, OLE-DB, JDBC и Ado.Net client drivers • Wire protocol (SeQuel Link) – Доступны как 32-, так и 64-битные драйвера Составные части MPP Madison Compute Nodes • Экземпляр SQL Server 2008 R2 • Автономный DB engine на локальных данных • Первичный интерфейс - SQL • Допускается запасной (spare) узел на каждые 6х вычислительных узлов Landing Zone • Высокоемкий сторидж для файлов данных из ETL-процессов • В зоне посадки доступны Integration Services • Присоединена к внутренней сети • Возможно использовать как «песочницу» для других приложений/скриптов, работающих во внутренней сети Backup Node • Основывается на встроенных возможностях SQL Server по резервному копированию • Использует интерфес VDI interface для подключения в конвейер бэкапа • Координирует бэкапы между узлами • Может притормаживать активность записи для синхронизации Теперь то же на картинке Private Network Compute Nodes Industry Standard SAN Storage SQL SQL Corporate Network Control Node Active/Passive SQL SQL Client Drivers SQL Landing Zone Spare Node ETL Load Interface SQL Configuration & Monitoring Microsoft Cluster Server Backup Corporate Backup Solution Distributed Интеграция с MS BI Integration Services • Madison может выступать источником данных – Data movement, lookup operations, ... • Будет добавлено новое SSIS destination Reporting Services • Полностью поддерживают Madison, включая параметризованные запросы • Report Builder, Report Designer, ... Analysis Services • Будет достигнута возможность соединения при помощи OLE-DB- провайдера • Возможно будет создавать как MOLAP, так и ROLAP-кубы Архитектура Hub & Spoke Finance Sales HR Manufacturing SQL Server AS Spoke SQL Server DM Spoke Каждое бизнес-подразделение располагает своими витринами данных Хаб обеспечивает централизованную платформу управления данными подразделений Madison Spoke Madison HUB SQL Server DM Spoke Перемещение данных между узлами В параллельном режиме по Infiniband или 10-гигабитным сетям С целью обеспечить трафик ~500GB в минуту с минимальными накладными расходами SQL Server Data Types Типы данных bigint DAv3 Madison P P binary bit char / nchar P P date, time DA = DATAllegro В preview только Latin1_General с бинарным сравнением Синтаксис SQL - в основном ANSI 92 Базовые INSERT, UPDATE, DELETE, SELECT • Поддерживается CREATE TABLE AS SELECT • Некоторые аналитические ф-ции – Напр., терадатовские расширения Quantile, Sample,… • datetime (was date in DA) P P P P datetime2 P datetimeoffset P decimal P P float P P P P geometry / geography hierarchyid Int (was integer in DA) money P real P smalldatetime P smallint P smallmoney P P sql_variant text / ntext / image timestamp tinyint P P varchar / nvarchar / varbinary P P v*(max) uniqueidentifier xml Администрирование Главный интерфейс администрирования основан на DATAllegro manageability UI • • • Web-based Мониторит здоровье и активность компонентов Захватывает и форвардит SNMP alerts от устройств внутри системы Задействуется HPC Рack 2008 Также логи и счетчики производительности Windows • И несколько DMV, объединяющих информацию из DMV нижележащих узлов Инструменты запросов SSMS прикрутить еще не успели Используется гуевая тула Nexus (CoffingDW.com) Она также применяется в Netezza, Teradata, ... • Имеется object explorer и возможность оперативного выполнения запросов • Утилита командной строки DASQL уже заменена разновидностью SqlCmd Некоторые тенденции • Например, Microsoft IT: • • • 5000 экземпляров SQL Server 100,000 баз данных Утилизация CPU < 10% • Знакомые реалии • Underutilized hardware • Overburdened Administrators 1990 2000 2010 • • Обилие небольших БД, каждая, как правило, из не более, чем 1 файла, и объемом не более 4 ГБ Трудно централизованно управлять окружением Недостаточные возможности дизайнера запросов T-SQL для разработчиков широкого профиля Приложение привязано к физическому местоположению строкой соединения Инвестирования в разработку Новая T-SQLная IDE в Visual Studio 2010 • Единый проект типа Data Tier Application • Интегрированный редактор, отладчик и дизайнер политик • Анализ статического кода и сервис построения приложения Упрощенное управление жизненным циклом T-SQLного приложения • Data Tier Application для эффективного деплоймента и администрирования • Connection plans (напр., DNS для SQLных соединений) абстрагируют физическое нахождение экземпляра SQL Server Utility • Централизованная проверка политик и использования Data Tier Application • Анализ утилизации приложением ресурсов и рекомендации по экономии SQL Server Utility SQL02 SQL05 SQL03 DBA SQL04 • Отсюда выполняются такие операции, как централизованная проверка политик, деплоймент приложений и анализ «чтоесли» • Простота в установке и использовании • Требуется минимальное конфигурирование SQL01 Utility Control Point (UCP) Management Studio UCP Managed Instances Централизованное управление SQL Serverным окружением Расширения SSMS • Новые визарды позволят быстро подключать БД на разных серверах и проводить контроль их утилизации • DBA может определять политики, задающие пороги утилизации на целевых серверах и приложениях, из центральной консоли управления • Имеются различные дэшборды, отображающие утилизацию, здоровье систем, нарушение политик, ... Data Tier Application Data Tier Application Component (DAC) • Единица деплоймента для T-SQLных приложений • Содержит намерения разработчика (каким требованиям должна отвечать среда внедрения) в виде политик • Имеется определение всех составных частей приложения вкупе с сервисными (Install, Uninstall, возможно,Upgrade и Repair) Data Tier Application Component Schema Logical Physical Tables, Views, Constraints, SProcs, UDFs Users, Logins FileGroups … DAC Deployment Profile Deployment Requirements, Management Policies, Failover Policies Unit of Deployment Data Tier Application • • • • Общая единица управления или развернутый экземпляр Data Tier Application, который отображается на БД Поддерживается связь с определением Data Tier Обеспечивает пространство имен и разделение ресурсов Connection plans абстрагируют местоположение физического экземпляра (DNS для строк соединений) Data Tier Application Schema Schema Tables, Views, Constraints, SProcs, UDFs Users, Logins, FileGroups DAC Properties & Metadata Deployment Requirements, Management Policies, Failover Policies Unit of Management Data Tier Application …or create a new DACs in Visual Studio SQL 2000 DAC Upgrade SQL Server app components to a DAC using Mgmt. Studio Management Studio 2008 R2 SQL 2008 Visual Studio 2010 SQL Server Utility …then deploy DAC to a SQL Server instance using Mgmt. Studio BI: корпоративный подход Централизованная разработка хранилища, витрин и системы отчетности Да, но с другой стороны, сколь бы масштабируемой ни была система... Централизованная разработка хранилища, витрин и системы отчетности Да, но с другой стороны, сколь бы масштабируемой ни была система... Персональный BI ... пользователи зачастую рассматривают продукцию корпоративной системы как полуфабрикат и продолжают проводить собственный анализ в зависимости от своих узких задач 35 Self Service Analysis (“Gemini”) Excel де-факто в большинстве случаев является составной частью рабочего места аналитика • Почему не включить его в состав решения? Движение в этом направлении наблюдается давно • Возможность работы с кубами вошла в состав штатной функциональности Excel практически сразу с выходом OLAP Services в SQL Server 7.0 • Бесплатный Data Mining Add-On к MS Office (Excel, Visio) для SQL Server 2005, 2008 – http://www.microsoft.com/sqlserver/2008/en/us/dat a-mining-addins.aspx Gemini развивает и усиливает эти возможности Self Service Analysis Excel-hosted client & reporting In-memory BI engine SharePoint for managed collaboration Analysis Services for BI integration 37 IW Producer Sharepoint 2010 Add-In: Публикация BI-решений на веб, чтобы сделать их доступными внутри организации Автоматическое обновление данных с поддержкой контроля версий Excel 2010 Add-In: Упрощает процесс интеграции данных из различных источников, включая корпоративные БД, spreadsheets и внешние источники Excel 2010 Add-In: позволяет работать со сводными таблицами, отчетами и др.знакомыми ср-вами Excel при выполнении продвинутого анализа Sharepoint 2010 Add-In: отслеживание использования решения потребителями; централизованное, безопасное местоположение; обеспечивается контроль, кто и когда обращался к опубликованным данным IW Consumer Легкое обнаружение новых решений Slice & dice в тонком клиенте Комментарии, обратная связь с авторами решений Excel 2010 Add-in: Сочетает функциональность Excel 2010 с in-memory, column oriented processing engine, позволяя пользователям интерактивно исследовать и выполнять вычисления над миллионами строк с ошеломительной скоростью IT Pro Управление знакомыми сервисами Уменьшение случайных обращений Мониторинг пользовательской активности Выявление требовательных по ресурсам приложений SharePoint 2010 Management Console: Единый интегрированный пульт управления, позволяющий администраторам устанавливать серверные политики и мониторить активности Self Service BI IT может контролировать все ресурсы BI, высвобождая авторов фокусироваться на бизнес-приоритетах Dashboard views для мониторинга доступа и утилизации использования рез-тов анализа и отчетов, а также отслеживание типовых нагрузок HW. Проверка доступности, актуальности, безопасности. Self Service Reporting Часто для принятия оперативных решений недостаточно предподготовленных отчетов Требуется быстро создать отчет «по ходу дела» • SQL Server 2008 R2 Reporting Services упрощают подготовку отчетов конечными пользователями, вооружают их возможностью подготавливать отчеты независимо от IT • Report Builder 2.0 в 2008 уже имел интерфейс Office 2007 и сочетал возможности работы с моделями с Report Designer • R2 позволяет публиковать компоненты отчета в общую библиотеку • Переиспользуемый контент централизованно хранится на сервере, который блюдет его целостность • Конечные пользователи получают возможность повторно использовать компоненты отчета (запросы, таблицы, графики, приборы, карты) как строительные блоки при подготовке новых отчетов • 46 Карты являются новой функциональностью отчетов в R2 Геопространственные отчеты Поддержка геопространственной визуализации с использованием карт, маршрутов и пользовательских областей 47 Геопространственные отчеты Сочетание бизнес-информации с географическим представлением дает новую почву для анализа Поддержка геопространственных типов SQL Server и интеграция с Microsoft Virtual Earth Декомпозиция отчета на элементы Добавление элементов из библиотеки Использование библиотечных элементов в отчете Обновление элементов в библиотеке на сервере Отчет с обновленными элементами StreamInsight Отход от идеи Кимбалла анализа более-менее устоявшихся данных • Когда хранилище в конце дня пополнено, кубы отпроцешены, ... Здесь предполагается, что анализ может происходить в режиме времени, близком к реальному Даже с точки зрения классического SQL запрос делается по статическому снэпшоту • А здесь входные данные все льются и льются потоком и никогда не кончаются Примеры • Точечные события: приход письма, веб-клик, событие в журнале, замер счетчика произв-ти, ... • Интервальные события: длительность торгов, электронный импульс • Луч (edge) - когда конец неизвестен: сессия в SQL Server, процесс в Windows, квантование аналогового сигнала Для каждого события пишется свой адаптер, который может извлекать из него полезную нагрузку • Либо нетипизированный провайдер, основанный на порядковых номерах полей • Бывают входные и выходные провайдеры Запросами (LINQ) из входных стримов можно извлекать события, фильтровать, комбинировать, упорядочивать, агрегировать, выполнять пользовательскую обработку и кидать в выходной стрим StreamInsight = Complex Event Processing (CEP) На данный момент не имеет никакого отношения к SQL Server несмотря на то, что просит установить SQL CE 3.5 SP1 • Ни к мобильному, ни к R2, ни к какому В дальнейшем, вероятно, будет его использовать для хранения метаданных (подобно SSRS) Пример использования: читаем, как скачут котировки с Yahoo Finance, пропускаем их через алгоритм Data Mining, принимаем решение и отдаем его в выходной адаптер, который размещает соответствующую заявку Дополнительная информация http://msdn.microsoft.com/en-us/library/bb418432(SQL.10).aspx 56 Microsoft Confidential—Preliminary Information Subject to Change © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.