Когда засмеется Sphinx Что нового появится в SQL Server 7.0 Алексей Шуленин

advertisement
Когда засмеется 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
Поправленные записи
Предложенные
исправления
Не исправлено
Download