Logical Data Warehousing and Data Virtualization in Action

Slides:



Advertisements
Podobne prezentacje
Bazy danych II Instrukcja SELECT Piotr Górczyński 25/08/2001.
Advertisements

SQL Server Native XML Web Services
Bazy danych 8. SQL podstawy P. F. Góra semestr letni 2004/05.
EControl – prostsze zarządzanie tożsamością pracowników Twórz Zarządzaj Audytuj Wolfgang Berger Omni Technology Solutions
Horyzontalne scenariusze pracy
OLAP budowa aplikacji analitycznych w MS SQL 2000 i Yukon
Zarządzanie informacją a produktywność przedsiębiorstwa
18/11/ Języki programowania 1 Piotr Górczyński Łączenie z bazą danych.
BIRT.
Porównanie wydajności MySQL i Adabas D
Co to jest studium przypadku?
WYZWALACZE (TRIGGERY) Wyzwalacz jest specjalnym rodzajem procedury składowanej, która może być wykonana w odpowiedzi na jedną z trzech sytuacji: UPDATE.
Zapytania SQL: wydajność i optymalizacja
Wykład 8 Wojciech Pieprzyca
7. Platformy informatyczne przyszłości (wizja SAP)
WYKONYWANIE ZAPYTAŃ Przygotował Lech Banachowski na podstawie: 1.Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, McGrawHill, 2000 (książka.
1/18 LOGO Profil zespołu. 2/18 O nas Produkcja autorskich rozwiązań informatycznych dla małych i średnich firm w zakresie systemów: Baz danych Aplikacji.
Język SQL – ciąg dalszy DML (Data Manipulation Language)
Język SQL (Structured Query Language) DDL (Data Definition Language)
Przykład włamania do aplikacji internetowej poprzez modyfikację zapytań SQL Skrypty ASP Serwer bazy danych MS SQL Server Piotr Kuźniacki BDi.
Lider rynku Źródło: The OLAP Report Źródło: Gartner Group
T 3 Konfiguracja Unisys ES7000 Enterprise Servers OLAP Server 16 CPU Data Warehouse 8 CPU Web Server 8 CPU Terminal Server 4 CPU cLAN Backbone.
Narzędzia do testowania
2017/3/28 Jak zyskać przewagę konkurencyjną wykorzystując najnowsze technologie Microsoft? Dariusz Grzesiński ISV Lead Central & Eastern Europe Developer.
Licencjonowanie wirtualizacji
Licencjonowanie rodziny System Center 2012
Performance point service nie tylko dla orłów
PowerPivot dla DBA mgr inż. Paweł Potasiński.
MySQL – ODBC - ACCESS.
Władcy Danych Wykorzystanie Master Data Services do zapanowania nad wszechobecnym chaosem Paweł Potasiński.
Wirtualna baza SQL zgodna z SQL Server SQL as a Service
Tryb tabelaryczny w Analysis Services 2012
Zarządzanie danymi biznesowymi za pomocą usług EIM serwera SQL 2012, czyli jak SSIS, MDM i DQS rozwiązują problem błędnych danych Marcin Szeliga
Licencjonowanie aplikacji serwerowych
Office 365.
Wsparcie pracy grupowej systemem Workflow
Czy wdrożenie systemu ERP spełnia pokładane w nim nadzieje.
Podstawy modeli i programów licencyjnych Microsoft.
Licencjonowanie narzędzi dla programistów
Licencjonowanie rodziny produktów Forefront oraz System Center
Self Service Business Intelligence Witajcie po ciemnej stronie mocy!
SQL - Structured Query Language
CYFROWA GOSPODARKA Firmy, instytucje, użytkownicy wobec rozwoju technologii informacyjno-komunikacyjnych Gospodarka oparta na danych. Przyszłość zaawansowanej.
Jak zacząć w MS SQL? USE master; GO IF DB_ID (Nbaza') IS NOT NULL DROP DATABASE baza; GO CREATE DATABASE baza; GO USE baza; GO.
© 2007 AMX AMX ® Resource Management Suite ®. © 2007 AMX Confidential Rozwiązania sieciowe Video Konferencje Centra zarządzania Kino domowe Sale wykładowe.
Technologie w marketingu Business Intelligence w marketingu, czyli jak zamienić dane w decyzje biznesowe Technologie w marketingu czyli jak skutecznie.
Business Consulting Services © 2005 IBM Corporation Confidential.
XML w bazach danych.
Optymalna konfiguracja Microsoft SQL Server 2014
Wdrożenie Foglight w Urzędzie Dozoru Technicznego
Nowoczesna architektura dla analityki wg Microsoft Paweł Potasiński| Grzegorz Stolecki|
Prototypowanie w ORACLE DESIGNER Transformacja Modelu danych.
Oracle Data Modeler (4.1). Aplikacja Wymagania biznesowe Tworzenie systemu informacyjnego Procesy Informacje Analiza Projektowanie Browser: Hollywood.
5 kroków, aby uzyskać wsparcie i znaleźć sponsora dla projektu w obszarze analityki i BI w organizacji Bartłomiej Graczyk, Data Platform Solution Architect,
Informatyka w biznesie Prezentacja promująca specjalność na kierunku ZARZĄDZANIE.
Intelligent Mobile Cloud Przegląd dziedziny problemu J. Grzesiak, Ł. Jędrychowski, T. Kruczkowski, Ł. Mozgowoj.
BIG DATA Przetwarzanie i analiza zbiorów danych w czasie rzeczywistym Marcin Żuchowski SKILLSLEASE Sp. z o.o. |
Warszawska Wyższa Szkoła Informatyki Andrzej Kuska Promotor : dr inż. Paweł Figat Konsultant : mgr inż. Andrzej Ptasznik.
Informatyczne Systemy w Zarządzaniu Tomek Marszał Wyższa Szkoła Informatyki I Umiejętności Zaliczenie przedmiotu Studia niestacjonarne.
Miejsce architektury Data Vault 2.0 w hurtowniach danych
Opracowanie: Katarzyna Gagan, Anna Krawczuk
Optymalizacja zapytań w SQL Server
Zaprojektowaliśmy nowoczesny polski inteligentny falownik i komponenty smart z myślą o KLASTRACH. Spirvent: Wynalazcy, Projektanci energoelektroniki, zaprojektowaliśmy.
Szkolenia i certyfikacje SQL Server 2016
Session will begin very soon :)
Dell EMC Channel Technology Event
Nowoczesne zarządzanie
GTS Shared Infrastructure (GSI)
Strukturalny język zapytań SQL - historia
Technologie Informacyjne Bazy danych
Zapis prezentacji:

Logical Data Warehousing and Data Virtualization in Action Marek Byszewski YouNeedIT/Querona Marek.Byszewski@youneedit.co Damian Widera EUVIC Damian.Widera@euvic.pl

Damian Widera Project Manager & Technical Lead | EUVIC (www.euvic.pl) MVP | MCT | MCSE | MCITP damian.widera@euvic.pl +48 665-229-227 @damian.widera facebook.com/damian.widera.10 http://sqlblog.com/blogs/damian_widera/default.aspx Channel9 Kursy MVA

Marek Byszewski President, CTO | (querona.com, youneedit.co) marek.byszewski@querona.com @bysza

Microsoft Certified Master: SQL Server ® 2008 Model warstwowy DWH Microsoft Certified Master: SQL Server ® 2008

Wirtualizacja danych – o co chodzi

Czym jest Wirtualizacja Danych? Zwinne podejście do integracji danych Dostarcza warstwy abstrakcji poprzez którą można korzystać z danych bez zagłębiania się w: Gdzie dane się znajdują W jakiej technologii są przetwarzane i składowane Umożliwia oszczędności rzędu 50-75% w zakresie materializacji i konsolidacji danych Wirtualizacja danych NIE eliminuje klasycznego podejścia

Powody innego podejścia do budowy DWH Wzrost produktywności – DV jest łatwe w użyciu, koncepcyjnie proste do zrozumienia, co sumarycznie powoduje skrócenie czasu potrzebnego na wdrożenie użytkowników, w szczególności użytkowników biznesowych. Skrócenie Time-to-Solution i Time-to-Insights – Projekty oparte o DV trwają krócej, zatem rezultaty biznesowe są dostarczone szybciej. Niższe koszty projektów są dodatkowym benefitem. Optymalizacje technologii – DV zwiększa utylizację istniejącej infrastruktury. Zmniejszając zapotrzebowanie na składowanie danych, oszczędności na sprzęcie, utrzymaniu i nadzorze są znaczące.

Korzyści dla organizacji i użytkowników Jeden, spójny technicznie hub danych Meta i meta-meta dane umożliwiają odnalezienie danych (w źródłach) Dostęp do danych poprzez standardowy SQL Demokratyzacja danych i upodmiotowienie konsumentów danych Organizacja może szybciej wejść w trend działań sterowanych danymi Krokowa modernizacja istniejących rozwiązań hurtownianych Zwiększenie wydajności raportowania (kolumnowość, MPP) Użytkownik używa swojego ulubionego narzędzia analitycznego, korzystając z danych które normalnie nie byłyby w nim dostępne Integracja bez rewolucji Znacząco polepszone Time-to-Solution i Time-to-Insights podejście agile i prototypowanie, ograniczony i uproszczony ETL skalowalność, opóźnienie decyzji o materializacji

Źródło: Melissa Coates (@sqlchick)

Źródło: Melissa Coates (@sqlchick)

Przydatne odnośniki nt DV i LDW https://tdwi.org/webcasts/2015/06/the-logical-data-warehouse-what-it-is-and-why-you-need-it.aspx http://stonebond.com/logical-data-warehouse/ https://en.wikipedia.org/wiki/Data_virtualization

Microsoft Certified Master: SQL Server ® 2008 Trendy w BI (2017) 360 degree customer view with data federation IoT Kappa Architecture (simplified Lambda) OLAP on Big Data, reporting from any BI tool SaaS connectors (SFDC, Marketo, etc.) Real-time data access Microsoft Certified Master: SQL Server ® 2008

Microsoft Certified Master: SQL Server ® 2008 Trendy w BI (2017) 1. Data source catalog 2. Self-service data management portal 3. Logical Data Warehouse as an Enterprise Data Hub 4. Easy integration of Big Data and cloud SQL engines 5. Data Hub with unified security and data masking 6. Ability to connect with Congnitive Services and AI (Predictive analytics) 7. Agile data modeling using self-service features 8. Self-service data management 9. Apache Spark integration and support for other SQL engines - integrated platforms BI/PM - mobile BI – Logical Data Warehousing using Data Virtualization Real-time access to data sources Self-service data management - data storytellng – - spatial/loction intelligence – - visual design standards – REST API converted to a virtual SQL database in real-time (Data as a product / Open data) Cloud BI tools can use Querona as a data gateway to data source (Cloud BI / BIaaS) Microsoft Certified Master: SQL Server ® 2008

Wirtualizacja danych wg Forrester Research Duży sukces Wysoki wzrost Szczyt za 3-5 lat Zostanie z nami 10+ lat

Gartner o Wirtualizacji Danych i LDW Źródło: Gartner, Market Guide for Data Virtualization, 25 July 2016

Strategic trends in BI solutions 1 According to Gartner the majority of data warehouse project fail Projects with classical ETL based data integration 77% Failure rate 6-9m Dev. cycles No live-data Inflexible to changes New approach is needed ETL free projects with data consolidation on the fly 100% Success rate Business empowerment Live-data Agile prototyping

Klasyczne podejście Źródło: Melissa Coates (@sqlchick)

Microsoft Certified Master: SQL Server ® 2008 Nowoczesne podejście Źródło: Melissa Coates (@sqlchick) Microsoft Certified Master: SQL Server ® 2008

Wirtualizator connect translate complement accelerate secure SQL Server Oracle MySQL Spark SQL PostgreSQL IBM DB2 Sybase SAP HANA Wirtualizator Power BI Tableau QlikView Excel Salesforce Eloqua Hubspot Marketo SAP Dynamics CRM Silniki wykonawcze SQL i Big Data

Architektura logiczna wirtualizatora danych Dostęp bezpośredni do danych Integracja w locie Prezentacja Tables Views Połączenia

Architektura logiczna wirtualizatora danych Źródła Tabele Widoki Widoki Data Marty Connections Dane załadowane do wskazanego silnika Dostęp przez SQL Bezpośredni dostęp do danych Bezpośredni dostęp do danych Włączona materializacja

Zapytania federacyjne Microsoft Certified Master: SQL Server ® 2008

Zapytanie federacyjne select CustomerName /* DEMO01_federation, use Chinook_mssql_src */ , sum(Total) as TotalInvoiced , max(InvoiceId) as MaxInvoiceId From( select * from ( select a.AlbumId , i.InvoiceId , c.CustomerId , cast(cast(year(i.InvoiceDate) as varchar) + cast(month(i.InvoiceDate)as varchar) + cast(day(i.InvoiceDate)as varchar) as int) as InvoiceDateKey , i.Total , c.FirstName + ' ' + c.LastName as CustomerName , Company from dbo.Album as a join dbo.Track as t on a.AlbumId = t.AlbumId join dbo.InvoiceLine as il on il.TrackId = t.TrackId join dbo.Invoice as i on i.InvoiceId = il.InvoiceLineId join dbo.Employee as e on c.SupportRepId = e.EmployeeId join dbo.Artist as art on a.ArtistId = art.ArtistId join chinook_oracle_src.dbo.Customer as c on i.CustomerId = c.CustomerId ) as dat join AdventureWorksDw2012.[dbo].[DimDate] as dimdate on dat.InvoiceDateKey = dimdate.DateKey where left(DateKey,4) in (2009, 2010) and Company not in ('Push it down please...') ) as dat group by CustomerName having sum(Total) > (select avg(total) from chinook_mssql_src.dbo.Invoice) order by 2 desc

Krokowy, kosztowy optymalizator zapytań (Ms) Microsoft Certified Master: SQL Server ® 2008

Microsoft Certified Master: SQL Server ® 2008 1. Zapytanie do Sparka SELECT `dimdate`.`datekey` AS `DateKey1` FROM `AdventureWorksDW2012_dbo_DimDate_A` AS `dimdate` WHERE SUBSTRING(`dimdate`.`datekey`, 1, 4) IN (2009, 2010) 2. Rejstracja typu po stronie MS SQL EXEC [qua_execute_provider_sql_on_connection] N'querona-dbmssql', N'IF NOT EXISTS(SELECT * FROM sys.types WHERE name=''q5riv3tomha6lcarawtrv54b1x43dqqkxz56v2xz3ycl3w5uhr2j2'') BEGIN CREATE TYPE q5riv3tomha6lcarawtrv54b1x43dqqkxz56v2xz3ycl3w5uhr2j2 AS TABLE([DateKey1] int NOT NULL); grant control on type::q5riv3tomha6lcarawtrv54b1x43dqqkxz56v2xz3ycl3w5uhr2j2 TO public; END; 3. Oracle SELECT "c"."CUSTOMERID" AS "CUSTOMERID", "c"."SUPPORTREPID" AS "SUPPORTREPID", "c"."FIRSTNAME" AS "FIRSTNAME", "c"."LASTNAME" AS "LASTNAME", "c"."COMPANY" AS "COMPANY" FROM "CHINOOK"."CUSTOMER" "c„ 4. Rejestracja typu (…) CREATE TYPE qmeltnastfktoda3vk4i2o6i3y2juxxqa4fqfjkaox2epzehkhyed AS TABLE([CUSTOMERID] decimal(28,0) NOT NULL, [SUPPORTREPID] decimal(28,0) NULL, [FIRSTNAME] varchar(40) NOT NULL, [LASTNAME] varchar(20) NOT NULL, [COMPANY] varchar(80) NULL); (…) Microsoft Certified Master: SQL Server ® 2008

Microsoft Certified Master: SQL Server ® 2008 4. Zapytanie do MS SQL SELECT [dat1].[customername1] AS [customername11], SUM([dat1].[total1]) AS [totalinvoiced], MAX([dat1].[invoiceid1]) AS [maxinvoiceid] FROM ( SELECT [dat].[invoiceid] AS [invoiceid1], [dat].[total] AS [total1], [dat].[customername] AS [customername1] FROM ( SELECT [i].[InvoiceId] AS [invoiceid], CAST(CONCAT(CONCAT(CAST(YEAR([i].[InvoiceDate]) AS varchar(30)), CAST(MONTH([i].[InvoiceDate]) AS varchar(30))), CAST(DAY([i].[InvoiceDate]) AS varchar(30))) AS int) AS [invoicedatekey], [i].[Total] AS [total], CONCAT(CONCAT([c].[FIRSTNAME], ' '), [c].[LASTNAME]) AS [customername], [c].[COMPANY] AS [company] FROM [Chinook].[dbo].[Album] AS [a] (…edytowano…) INNER JOIN @q_queue1 AS [c] ON [i].[CustomerId] = [c].[CUSTOMERID] INNER JOIN [Chinook].[dbo].[Employee] AS [e] ON [c].[SUPPORTREPID] = [e].[EmployeeId] ) AS [dat] INNER JOIN @q_queue0 AS [q__qtab0] ON [dat].[invoicedatekey] = [q__qtab0].[DateKey1] WHERE [dat].[company] NOT IN ('Push it down please...') ) AS [dat1] GROUP BY [dat1].[customername1] HAVING SUM([dat1].[total1]) > (SELECT AVG([Invoice].[Total]) AS [qa__qcol] FROM [Chinook].[dbo].[Invoice] AS [Invoice]) ORDER BY 2 DESC Microsoft Certified Master: SQL Server ® 2008

Krokowy, kosztowy optymalizator zapytań (Ora) Microsoft Certified Master: SQL Server ® 2008

Microsoft Certified Master: SQL Server ® 2008 V2 z bazą wiodącą Oracle 1. SQL Server SELECT AVG([Invoice].[Total]) AS [qa__qcol] FROM [Chinook].[dbo].[Invoice] AS [Invoice] 2. In memory SET @q_temp0 = (SELECT [q__qtab2].[qa__qcol] AS [qa__qcol] FROM qp_dev_get_queue_slot (0) AS [q__qtab2]) 3. Oracle SELECT "dat"."invoiceid" AS "invoiceid11", "dat"."invoicedatekey" AS "invoicedatekey2", "dat"."total" AS "total11", "dat"."customername" AS "customername12" FROM ( SELECT "i"."INVOICEID" AS "invoiceid", CAST(CONCAT(CONCAT(CAST(EXTRACT(YEAR FROM "i"."INVOICEDATE") AS VARCHAR2(30)), CAST(EXTRACT(MONTH FROM "i"."INVOICEDATE") AS VARCHAR2(30))), CAST(EXTRACT(DAY FROM "i"."INVOICEDATE") AS VARCHAR2(30))) AS NUMBER(10,0)) AS "invoicedatekey", "i"."TOTAL" AS "total", CONCAT(CONCAT("c"."FIRSTNAME", ' '), "c"."LASTNAME") AS "customername", "c"."COMPANY" AS "company" FROM "CHINOOK"."ALBUM" "a" INNER JOIN "CHINOOK"."TRACK" "t" ON "a"."ALBUMID" = "t"."ALBUMID" INNER JOIN "CHINOOK"."INVOICELINE" "il" ON "il"."TRACKID" = "t"."TRACKID" (…edytowano…) ) "dat" WHERE "dat"."company" NOT IN ('Push it down please...') Microsoft Certified Master: SQL Server ® 2008

Microsoft Certified Master: SQL Server ® 2008 V2 z bazą wiodącą Oracle 4. Spark SELECT [dat1].[customername1] AS [customername11], sum([dat1].[total1]) AS [totalinvoiced], max([dat1].[invoiceid1]) AS [maxinvoiceid] FROM ( SELECT [q__qtab0].[invoiceid11] AS [invoiceid1], [q__qtab0].[total11] AS [total1], [q__qtab0].[customername12] AS [customername1] FROM qp_dev_get_queue_slot (1) AS [q__qtab0] INNER JOIN ( SELECT [dimdate].[DateKey] AS [DateKey1] FROM [AdventureWorksDw2012].[dbo].[DimDate] AS [dimdate] WHERE left([DateKey], 4) IN (2009, 2010) ) AS [q__qtab1] ON [q__qtab0].[invoicedatekey2] = [q__qtab1].[DateKey1] ) AS [dat1] GROUP BY [dat1].[customername1] HAVING sum([dat1].[total1]) > @q_temp0 ORDER BY 2 DESC 5. In memory SELECT [customername11] AS [customername11], CAST([totalinvoiced] AS decimal(28,2)) AS [totalinvoiced] , [maxinvoiceid] AS [maxinvoiceid] FROM qp_dev_get_queue_slot (3) Microsoft Certified Master: SQL Server ® 2008

Przykład wydajności platformy LDW/DV Ładowanie danych do Apache Spark: 14 mln wierszy/s (typy proste), włącznie z zamianą na kolumny. Współbieżne ładowanie (per partycja) daje dodatkową skalowalność. W przypadku kolumnowego silnika DV, przetwarzanie do 11 GB/s/rdzeń, nasycenie kanału CPU/pamięć na 45-60% CPU. W pełni kolumnowe przetwarzanie end-to-end, wymagające transpozycji z wierszy na kolumny powoduje +15% CPU ponad czas zużyty przez sterowniki ADO.NET/ODBC. Wysokowydajny, nieblokujący task scheduler wykonuje od 200 do 270 mln zadań/s na 4 rdzeniowym CPU (.NET TPL czy Java Fork/Join wykonują 5-10 mln zadań/s na takim samym CPU).

Microsoft Certified Master: SQL Server ® 2008 rynek Microsoft Certified Master: SQL Server ® 2008

Rynek wirtualizacji danych Cisco / Composite Software Denodo DataVirtuality RedHat PitneyBowes Informatica SAS IBM FS, SAP HANA Querona Microsoft Certified Master: SQL Server ® 2008

Inne firmy warte wyróżnienia Analityka Big Data oparta o Hadoop AtScale Kyvos Insights Automatyzacja hurtowni danych TimExtender Wherescape Dimodelo