Когда засмеется Sphinx Что нового появится в SQL Server 7.0 Алексей Шуленин Системный инженер Application Developer Customer Unit Microsoft Corp. www.msdevcon.ru MS SQL Server 7.0 Ожидается до конца CY1998 Улучшенный механизм хранения изменение форматов поддержка стандартных типов большей длины (varсhar(8000)) Универсальный доступ к данным через OLE DB работа с произвольными нереляционными типами (электронная почта, файловая система, multimedia, геопространственные данные, …) Улучшенный процессор запросов внутризапросный параллелизм блокировка уровня записи для всех типов транзакций новые стратегии построения join’ов (hash, merge, …) полнотекстовый поиск Работа в распределенных средах добавлено 3 новых вида репликации, включая multimaster Поддержка Windows 9x Расширены возможности T-SQL, ослаблены или сняты многие ограничения, добавлена поддержка Unicode и т.д. www.mcdevcon.ru Microsoft OLAP Server (Plato) в составе Sphinx Sales Of Computers Nelson White USA Japan USA_North USA_ Seattle Boston South 1991, Qtr1 Japan USA_North USA_ Seattle Boston South Jan 00 10 20 30 40 50 60 70 Feb 01 11 21 31 41 51 61 71 Mar 02 12 22 32 42 52 62 72 16 26 ROWS 36 ON 46 56 66 76 FROM 17 SalesCube 27 37 47 WHERE (Sales, Computers) 57 67 77 1991, Qtr2 03 1991, Qtr 3 04 1991, Qtr4 USA Oct 05 Nov 06 Dec 07 SELECT 13 23 33 43 53 63 73 NEST({Nelson,White}, {USA_North.Children, 14 24 34 Japan}) 44 ON COLUMNS, 54 64 74 USA_South, 15{1991Q1.Children, 25 35 1991Q2, 45 1991Q3, 55 1991Q4.Children} 65 75 www.mcdevcon.ru Ближайшие перспективы развития SQL Server. Краткий обзор новых возможностей SQL Server 11 “Denali” Алексей Шуленин Эксперт по технологиям обработки и анализа информации Департамент стратегических технологий Microsoft Россия www.msdevcon.ru Disclaimer На момент настоящего доклада Microsoft SQL Server «Denali» находится в стадии разработки. Поэтому: На снимках экранов представлены прототипы Презентация не является полной или окончательной точкой зрения на финальную версию продукта Приводимые даты и возможности могут меняться Пакетирование новых возможностей не определено MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Внимание! Настоящая презентация содержит предварительную информацию, которая может подвергнуться изменениям к моменту финального выпуска описываемого здесь продукта. Представленная ниже информация отражает текущую точку зрения корпорации Microsoft по вопросам, обсуждаемым на дату проведения презентации, но она способна претерпеть изменения в силу меняющихся условий рынка и не может таким образом быть интерпретирована как обязательства со стороны корпорации Microsoft. Презентация представлена исключительно для целей ознакомления. © 2011 Microsoft Corporation. All rights reserved. Краткий курс истории SQL Server • • • Производительность Функциональность Надежность Новейшая история www.mcdevcon.ru ..., Сфинкс, Шило, Юкон, Катмай, Денали, ... • − • − • • • − здесь Высокая доступность www.msdevcon.ru Failover Clustering • • − • • • − − − • − специального аппаратного обеспечения • • − не поддерживал хосты в разных подсетях − − − EMC Cluster Enabler Double-Take Availability GeoCluster SteelEye DataKeeper Cluster пофиксили Log Shipping • • − − • − • • • • • • − • − − 4.21 Зеркалирование • − • − • snapshot − − • − • • − − − • • SQL Server 6.0 Репликация − • • − • − • • − − − − − − − − • транзакционная репликация peer-to-peer − − − Обнаружение и разрешение конфликтов здесь • • • High-Availability and Disaster Recovery (HADR) Обнародована в СТР1 • • − • − • • − • 2010 − Keynote 2-го дня SQL PASS Summit блоге Balmukund Создание high-availability group • • Создание high-availability group • • Создание high-availability group • • Создание high-availability group • − • Создание high-availability group • • • Тестирование high-availability group • • Тестирование high-availability group • • • − − − − − Управляемость www.msdevcon.ru Сравнительная стоимость администрирования Исследование компании Alinean Известна своими методологиями в ROI и ТСО, используемыми в аналитике Gartner www.mcdevcon.ru “Atlanta” • • анонсирован на PASS Безопасность www.msdevcon.ru Denali опирается на славные традиции • Согласно исследованиям NIST • • − − − • Сертификация ФСТЭК • Сертификат соответствия №1951, полученный 23.11.2009, удостоверяет − − − − • Сертификация ФСБ Сертификат соответствия СФ/112-1592 от 31.12.2010 удостоверяет что изделие СУБД Microsoft SQL Server 2008 Enterprise Edition (10.0.1600.22) со встроенными и дополнительно интегрируемыми механизмами обеспечения безопасности Secure Pack Rus 2.0 (Исполнения 1 и 2), разработанными российским партнером ФГУП НТЦ «Атлас», соответствует требованиям ФСБ России по защите информации, не содержащей государственную тайну, от несанкционированного доступа в автоматизированных информационных системах класса АК3 (для Исполнения 1) и АК2 (для Исполнения 2) Получение данного сертификата означает возможность построения защищенных систем на платформе Microsoft SQL Server в Администрации Президента РФ, Государственной Думе и других органах государственной власти, требующих сертификаты безопасности подобного класса www.mcdevcon.ru Пользовательские серверные роли --Опустошение серверной роли --Мы не можем дропнуть роль, пока в ней состоят какие-нибудь члены --Закачиваем список членов роли в таблицу: declare @t table (id int, name sysname) insert @t (id, name) select principal_id, name from sys.server_principals where principal_id in ( select member_principal_id from sys.server_role_members where role_principal_id = (select principal_id from sys.server_principals where type = 'R' and is_fixed_role = 0 and name = 'TestSrvRole') ) -- select * from @t --И поочередно удаляем declare @i int = 0, @s nvarchar(300) while (1 = 1) begin select @i = id, @s = name from @t where id > @i if @@ROWCOUNT = 0 break select @s exec ('alter server role TestSrvRole drop member [' + @s + ']') end if exists (select 1 from sys.server_principals where type = 'R' and name = 'TestSrvRole') begin alter server role TestSrvRole add member [w7x64_Denali\Administrator] drop server role TestSrvRole end go create server role TestSrvRole authorization sa alter server role TestSrvRole add member [w7x64_Denali\Administrator] grant administer bulk operations to TestSrvRole grant impersonate on login::[w7x64_Denali\Administrator] to TestSrvRole grant view definition on login::[sa] to TestSrvRole grant connect on endpoint::[TSQL Named Pipes] to TestSrvRole Осиротевшие логины и другие проблемы переноса базы • • • − − − − − − − − • − − − Самодостаточные (Self-contained) БД в SQL Server “Denali” • • • • • − − − • • Новшества реляционного движка www.msdevcon.ru “Apollo” Это классический B-Tree индекс, как описано в BOL -> В отличие от обычного колоночный индекс хранит каждую входящую в него колонку в отдельном наборе страниц Ориентированы на работу с DW, star-join запросы Преимуществами при массивном чтении выступают Использует патентованную технологию Microsoft VertiPaq На данный момент являются readonly С диска выбираются только необходимые для выполнения запроса колонки (зачастую не превышает 15% объема таблицы) Легче сжимать за счет избыточности в колонке Чтобы отразить изменения в данных, требуется перестроить индекс Подробнее - см. статью Eric N. Hanson «Columnstore Indexes for Fast Data Warehouse Query Processing in SQL Server 11.0» www.mcdevcon.ru FileTable • • − − − − • − − • − − − − Другие улучшения в T-SQL EXEC WITH RESULT SETS use [Adventure Works DW 2008R2] exec sp_executesql @statement = N'select FirstName, MiddleName, LastName from DimCustomer where LastName like @x + ''%''; select EnglishProductName, SafetyStockLevel from DimProduct', @params = N'@x nvarchar(3)', @x = 'Y' with result sets ( ([Имя] nvarchar(5), [Отчество] nvarchar(3), [Фамилия] nvarchar(20)), ([Продукт] nvarchar(10), [Запас на складе] int) ) См. также sys.dm_exec_describe_first_result_set www.mcdevcon.ru Другие улучшения в T-SQL Паджинация declare @startpos int = 20, @n int = 10 ;with cte as (select *, row_number() over (order by name) rowno from sys.objects) select * from cte where rowno between @startpos + 1 and @startpos + @n select * from sys.objects order by name offset @startpos rows fetch next @n rows only www.mcdevcon.ru Другие улучшения в T-SQL Последовательности use tempdb if exists (select 1 from sys.sequences where name = 'Seq1') drop sequence Seq1 create sequence dbo.Seq1 as int start with 1 increment by 1 maxvalue 1000 cycle select current_value from sys.sequences where name = 'Seq1' select next value for Seq1 select current_value from sys.sequences where name = 'Seq1' alter sequence dbo.Seq1 restart with 1 if object_id('TestSeq', 'U') is not null drop table TestSeq create table TestSeq (id int, fld nvarchar(50)) insert TestSeq (id, fld) values (next value for Seq1, 'aaa'), (next value for Seq1, 'bbb') select * from TestSeq select current_value from sys.sequences where name = 'Seq1' begin tran insert TestSeq (id, fld) values (next value for Seq1, 'ccc') rollback select current_value from sys.sequences where name = 'Seq1' alter table TestSeq add constraint df1 default (next value for Seq1) for id insert TestSeq (fld) values ('ccc') select * from TestSeq www.mcdevcon.ru Другие улучшения в T-SQL THROW declare @i varchar(10) = '0'--'0'; '0.001'; 'aaa' declare @j tinyint begin try select @j = 1.0 / cast(@i as decimal(10, 5)) end try begin catch if ERROR_NUMBER() = 8134 select 'Ошибка деления на ноль' else if ERROR_NUMBER() = 8115 select 'Арифметическое переполнение - в tinyint столько не влезает' else throw end catch www.mcdevcon.ru Полнотекстовый поиск • − Extended Properties • BOL − • − − − − − − − Using SQL Server Denali Full-Text Search With Разработка www.msdevcon.ru “Juneau” Новая среда разработки для SQL Server, интегрированная в оболочку Visual Studio Не входила в СТР1 Демы из блога SSDT можно посмотреть здесь Официально, по-вид., будет называться SQL Server Developer Tools” (SSDT) Дополняет функциональность SSMS Интегрированная среда разработки БД и приложений Разработка БД в онлайновом и отсоединенном режимах Основанный на WPF интерфейс (как и в SSMS) Интеграция с Entity Framework Контроль исходного кода с помощью TFS Поддержка SQL Azure Вберет в себя датабазные проекты из VS 2010 Просто Database development tools in VS are now covered by SQL Server team Подробнее - здесь www.mcdevcon.ru Бизнес-аналитика www.msdevcon.ru Состояние рынка BI Source: Gartner, Market Share: All Software Markets, Worldwide, 2010, March 30, 2011 www.mcdevcon.ru Состояние рынка BI [Gartner, Inc., Magic Quadrant for Business Intelligence Platforms, Rita L. Sallam et al, January 27, 2011. The Magic Quadrant is copyrighted 2011 by Gartner, Inc. and is reused with permission. The Magic Quadrant is a graphical representation of a marketplace at and for a specific time period. It depicts Gartner's analysis of how certain vendors measure against criteria for that marketplace, as defined by Gartner. Gartner does not endorse any vendor, product or service depicted in the Magic Quadrant, and does not advise technology users to select only those vendors placed in the "Leaders" quadrant. The Magic Quadrant is intended solely as a research tool, and is not meant to be a specific guide to action. Gartner disclaims all warranties, express or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose. Новшества SSAS в Denali Семантическая модель BI – реляционный подход к моделированию аналитических данных, к-й поддерживает иерархич.навигацию, KPI, вычисления и пр. Семантическая модель создается встроенной в Excel workbook при помощи PowerPivot или для запуска на сервере Analysis Services в режиме VertiPaq при помощи нового проекта в VS2010 VertiPaq – запросный и вычислительный движок Analysis Services, обслуживающий БД семантических моделей В 2008 R2 был доступен только в режиме интеграции с SharePoint Ныне работает самостоятельно Не умеет хостить классические БД OLAP Расширения BISM к Conceptual Schema Definition Language (CSDL) Часть Entity Data Framework Напр., отчетный клиент запрашивает CSDL у сервера AS, на котором хранится модель и интерпретирует рез-т, чтобы представить поля, меры, агрегаты BISM data access в SharePoint HTTP Endpoint к базе BISM; аналог odc в Office Новая версия PowerPivot Улучшения в многомерном движке Снято ограничение на размер string store file в 4 гиг и т.д. www.mcdevcon.ru Создание BISM Новый тип проекта в VS 2010 Внимание: в СТР2 в %ProgramFiles%\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Config\msmdsrv.ini св-во DeploymentMode по умолчанию установлено в 0 Поэтому при создании BISM происходит ошибка workspace database server … not found Измените его на 2, чтобы перевести Analysis Services в режим VertiPaq и перестартуйте сервис MSSQLServerOLAPService www.mcdevcon.ru Архитектура Analysis Services Business Intelligence Development Studio PowerPivot Существующие клиенты Crescent XML/A XML/A Multidimensional MDX calculations MOLAP ROLAP Режим OLAP/DataMining XML/A Multidimensional EDM DAX calculations (Скрипты MDX после SQL11) VertiPaq DirectQuery Режим BISM www.mcdevcon.ru Развитие подхода PowerPivot Богатые возможности моделирования Изощренная бизнес-логика Детальный уровень безопасности www.mcdevcon.ru Масштабируемость и производительность Высокое быстродействие Оптимизирован под современное оборудование Корпоративный масштаб www.mcdevcon.ru BI Semantic Model Единая модель для BI Мощная и гибкая Enterprise Ready www.mcdevcon.ru BI Semantic Model BI третьих фирм Отчеты Reporting Services Relational Excel Workbooks Приложения PowerPivot SharePoint Dashboards & Scorecards Multidimensional Модели данных DAXBI Semantic Model MDX VertiPaq Бизнес-логика DirectQuery Files BI приложения Доступ к данным OData Feeds Источники данных www.mcdevcon.ru “Crescent” • − − − − • Model Designer • − • • • Целиком построен на основе Silverlight • • ноябре 2010 г. был продемонстрирован еще на SQL PASS в Оповещения об изменении данных в отчетах • • − • − − − − − − − Оповещения об изменении данных в отчетах • − − − − − − − − − Оповещения об изменении данных в отчетах Alert Designer Alert Manager – просмотрщик оповещений в виде списка SharePoint Позволяет их удалять или открывать в Report Designer Управление справочной информацией www.msdevcon.ru Проблема качества данных • ? • Плохое качество данных = ущербный Gartner Research vice president Andreas бизнес Bitterer на Business Intelligence and Information Management Summit в Сиднее, март 2007 г − − − • − − − • − • Ovum@DataMonitor (5 окт 2010) − • − − Гартнер, магический квадрат за 2010 г. Гартнер, магический квадрат за 2009 г. While Oracle and Microsoft have both recently begun to address this market via acquisitions, their market presence is currently very limited. Oracle has just begun actively selling the acquired technology as a complementary add-on for its product MDM solution, while Microsoft will be delivering its technology to customers for the first time as part of the next major release of the SQL Server database management system (DBMS). Data Quality Services • пресс-релиз − после Stratature − − Что логично, ибо система НСИ, по определению, должна оперировать качественными данными Участвуют люди, технологии и процессы Общие проблемы с данными Качество Проблема Пример Соответствуют принятым правилам форматирования Телефонный номер может встретиться как xxxxxxxxxx, (xxx) xxx-xxxx, +7 (xxx) xxx-xx-xx и т.д. Элементы данных определены и понимаются единым образом Пол кодируется как = M\Ж в одной системе, M\F в другой, 0\1 в третьей и т.д. Величины означают одно и то же Всегда ли денежные суммы означают рубли или могут попадаться доллары (евро) Полнота Присутствуют все необходимые данные У 20% клиентов имя пустует или обозначено инициалом, в половине случаев почтовый индекс вбит как 111111 Точность Данные получены из надежных источников и реальны Поставщик значится ‘Активным’, хотя уже давно вышел из бизнеса Валидность Значения попадают в приемлемые диапазоны Номер месяца 1-12, зарплата меньше кол-ва атомов во Вселенной, ... Дубликаты Одна сущность встречается неск.раз Напр., Мария Исабель и Исабель Мария – это разные особы или в дан.случае одна? Формат Стандарт Целостность Качество данных: типовые задачи Мониторинг – отслеживание активностей и состояния данных Профилировани е – анализ источника данных с целью получить информацию об их устройстве Очистка – дополнение, удаление, обогащение неполных или некорректных данных Сопоставлениеидентификация, связывание, слияние сущностей внутри одного или между разными наборами данных Data Quality Knowledge Base (DQKB) содержит: Data Domains Примеры: e-mail, пол, ... Составные Data Domains Напр., Full Name (Имя + Отчество + Фамилия) Address (Страна + Регион + Населенный пункт + Улица + Дом + Квартира/Офис) Domain Knowledge Св-ва Название, Тип Значения Правильное, Ошибки, Синонимы Правила Валидация, Стандартизация, Бизнес Ссылки на сторонние знания Matching Policy Правила, разбивающие на кластеры в терминах близости и классифицирующие в тот или иной кластер Доступные источники знаний Справочн ые службы данных DQS Store Знание «из ларца» And More … Веб-сайт, содержащий знания DQS (базы знаний и домены), доступные для скачки в DQS-приложение Набор доменов данных в поставке SQL Server Два взаимодополняющих вида работы Computer-assisted Data Correction Data Correction Project в DQ-клиенте Задание SSIS Interactive Cleansing Автоматическая очистка с использованием SSIS Правильные записи SSIS Package Values/Rules Reference Data Definition Matching Policy Source + Data Mapping correction Component Destination Поправленные записи Предложенные исправления Не исправлено