350 likes | 477 Views
z pohľadu vývojára. 6.3.2012 Miroslav Kubov čík ISV Technical Readiness Microsoft Slovakia. Agenda. SQL Server 2012 Čo by vývojár nemal prehliadnuť SQL Server Data Tools LocalDB Vylepšenia T-SQL. D átová platform a SQL S erver 2012. * N ové / vylepšené funkcie v SQL Server 2012.
E N D
z pohľadu vývojára 6.3.2012 Miroslav KubovčíkISV Technical ReadinessMicrosoft Slovakia
Agenda • SQL Server 2012 • Čo by vývojár nemal prehliadnuť • SQL Server Data Tools • LocalDB • Vylepšenia T-SQL
Dátová platformaSQL Server 2012 * Nové / vylepšené funkcie v SQL Server 2012
SQL Server 2012Spoľahlivosť a bezpečnosť • SQL Server AlwaysOn • Sekundáre použiteľné na čítanie(reporting, zálohy atď.) • Multi-subnet klastrovanie • Nový na roliach založený bezpečnostný model • Auditovanie vo všetkých edíciach • Vysoká dostupnosť pre StreamInsight
SQL Server 2012Výkon • Podpora odľahčeného Windows Server Core • Škálovanie dátových skladov použitím Parallel Data Warehouse • Zlepšenie výkonu vyhľadávania cez ColumnStore indexy • Až 15000 partícií pre veľké databázy • Rozšírenie trasovanie udalostí a distribuované prehrávanie príkazov pre profilovanie
SQL Server 2012Reportovanie a analýza dát • Nový sémantický model pre Business Intelligence • Unifikovaný model pre reporting, analytiku, KPI ... • Model môže byť nakešovaný(VertiPaq) alebo priamo z relačnej databázy (DirectQuery) • PowerPivot s vylepšenými DAX výrazmi a „query“ jazykom • Tenký klient Power View pre Reporting Services / SharePoint • Vizuálne a interaktívne reporty • Dátové notifikácie v Reporting Services / SharePoint • Definované priamo v reportoch • Nastaviteľné používateľmi cez SharePoint
SQL Server 2012 Power View • Intuitívny ad-hoc reporting pre „business“ používateľa • Architektúra • Reporty v Pover View formáte „rdlx“ • DAX „query“ model • Uložené v knižnici SharePoint • SQL Server 2012 Reporting ServicesAdd-in pre SharePoint (2010 SP1) • Reporty sa renderujú do Silverlight-u • Vysoká úroveň vizualizácie
Agenda • SQL Server 2012 • Čo by vývojár nemal prehliadnuť • SQL Server Data Tools • LocalDB • Vylepšenia T-SQL
FileTable • Tabuľkové úložisko pre súbory/dokumenty • Bez obmedzenia prístupu cez súborový systém • Kompatibilita s Windows API • Netransakčný „stream“prístup a priame aktualizácie FILESTREAM dát • Hierarchia priečinkov a súborov • Ukladanie atribútov súborov • Podpora API na prístup k súborom a priečinkom • Kompatibilita s FILESTREAM prístupom na úrovni SQL Server-a
„Samostatná“ databáza • Odstránenie závislostí od inštancie SQL Server-a • „User“ databáza obsahuje • Autentizačné dáta • Netreba login v „master“ databáze • Nastavenia a metadáta • Lepšia portabilita „user“ databáz • „Generická“ aplikačná databáza na distribúciu
Column vs. Row Store Riadkové úložisko (Heap / B-Tree) Stĺpcové úložisko (s kompresiou hodnôt) Dát.stránka 1000 Dát. stránka 2040 Dát. stránka 2000 Dát. stránka 2010 Dát. stránka 1001 Dát. stránka 2001 Dát. stránka 2011 Dát. stránka 2041
Columnstore index • Vysoký výkon vyhľadávania v dátových skladoch • Spracovanie veľkého množstva dát v pamäti • Načítanie keše s vektorom hodnôt • Operácie s všetkými hodnotami v keši • Základom je ukladanie dát z stĺpca do dedikovaného stránkovaného úložiska • Každádátovástránkaobsahujedátalen z jednéhostĺpca • Dáta zo stĺpcov spracovávané v dávkach 1000 riadkov alebo jednotlivo • Kompresia, menej IO operácií • Doporučovaný len pre DW úlohy, nie pre OLTP
Ako na „columnstore“ index • Vytvorenie • Vytvorenie tabuľky • Načítanie dát do tabuľky • Vytvorenie neklastrovaného „columnstore“ indexuna všetkých alebo len na niektorých stĺpcoch CREATE NONCLUSTERED COLUMNSTORE INDEX col_t_idx ON T(OrderDate, ProductID, SaleAmount) • „Query“optimalizátor urobí zvyšok • Môže zvoliť „columnstore“ index • Može zvoliť pohľad na úložisko po riadkoch
ColumnStore index DEMO
Agenda • SQL Server 2012 • Čo by vývojár nemal prehliadnuť • SQL Server Data Tools • LocalDB • Vylepšenia T-SQL
SQL Server Data Tools (SSDT) • Evolúcia nástrojov Visual Studia pre databázový vývoj • Unifikovaný nástroj pre potreby databázového vývoja • Voľne dostupný cez Web Platform Installer
SSDT poskytuje rôzne modely vývoja • Vývoj založený na projekte (odpojený model) • Analýza kódu • Sledovanie závislostí • Refactoring • Intellisense • Model založený na pripojení k databáze • Model „Data-tier Application“ (DAC) • Vrátane možnosti generovania skriptov
Integrácia s aplikačným projektom • Dizajnér tabuliek • GUI asistent • T-SQL okno • Okno vlastností • Automatická synchronizácia dizajn<->T-SQL
Prispôsobenie cieľovej platforme • Jeden projekt pre viac platforiem • Verzie SQL Server-a • SQL Azure • Validácia projektu pri „builde“ • Voči cieľovej platforme • Bez nutnosti vytváraťa spúšťať kontrolné skripty
SSDT a podpora SQL CLR • SSDT umožňuje do projektov pridávať objekty SQL CLR • Netreba držať SQL CLR projekty mimo • C# a VB • Jednotné ladenie a nasadenie • Záložky SQLCLR vlastností v databázových projektoch • Podporuje aj oddelené SQL CLR projekty
Agenda • SQL Server 2012 • Čo by vývojár nemal prehliadnuť • SQL Server Data Tools • LocalDB • Vylepšenia T-SQL
Čo je LocalDB? • Nový spôsob inštalácie/spustenia SQL Server Database Engine • Navrhnutý pre zabudovanie databáz do aplikácií • Do desktopových aplikácií • Do nástrojov ako SQL Server Management Studio a Visual Studio • Pre vývoj databáz webových aplikácií , N-vrstvových aplikácií a desktopových aplikácií • SSDT používa LocalDB pri ladení a „buildovaní“ projektu • Do jednoduchých webových aplikácií • Ak je databáza na tom istom počítači ako aplikácia • Nie je to nová edícia SQL Server-a • A nie je ani náhradou edície SQL Server Express
Kľúčové vlastnosti LocalDB • Inštalácia podobná inštalácii .NET Framework-u • Jedna sada inštalovaných binárnych súborov, žiadna globálnakonfigurácia, žiadna neustále bežiaca služba • Programovací model podobný Access-u alebo SQL Compact • Aplikácia sa napojí na databázový súbor, SQL proces sa aktivuje automaticky • Žiadna služba:SQL proces sa naštartuje v kontexte aktuálneho používateľa • Aplikačná vrstva ako pri zvyčajnom móde SQL Server-a • Ten istý „sqlservr.exe“ ako pri službe SQL Server, rovnaký jazyk aj vlastnosti • Spojenie cez rovnaké klientské knižnice so špeciálnym „connection string-om“
LocalDB a SQL Express * Upgrade vyžaduje iba zmenu „connection string-u“ ** Komplexnosť zvyšuje chybovosť „user“ inštancií
Local DB DEMO
Agenda • SQL Server 2012 • Čo by vývojár nemal prehliadnuť • SQL Server Data Tools • LocalDB • Vylepšenia T-SQL
Vylepšenia T-SQL • Podpora pre UTF-16 • Vylepšený „Error Handling“ • Zjednodušená konštrukcia pre stránkovanie • Generátory sekvencií • Vylepšenia príkazu EXECUTE
Zjednodušená konštrukcia stránkovania • SQL Server 2005 a SQL Server 2008: WITHaAS (SELECTROW_NUMBER() OVER (ORDER BY Name) AS RowNum,...FROM ...)SELECT* FROMa WHEREa BETWEEN11 AND20ORDER BYRowNum; • V SQL Server 2012: SELECT... ORDER BY...OFFSET10 ROWSFETCH NEXT10 ROWS ONLY • Jednoduchosť syntaxe, výkon ako pri ROW_NUMBER()
Generátory sekvencií CREATE SEQUENCEMojaSchema.IdSequenceAS INTSTART WITH10000INCREMENT BY1;GOINSERT INTOEmployees(EmployeeId, Name) VALUES (NEXT VALUE FORMojaSchema.IdSequence, 'Jana'); INSERT INTOContractors(ContractorId, Name) VALUES(NEXT VALUE FORMojaSchema.IdSequence, 'Ján');
RESULT SET-y pre EXECUTE • Garanciašpecifických metadát vo vrátenej sade dát • S podporou implicitnej konverzie dát • Tri varianty použitia EXEC('SELECT 123456789 AS hodnota;')WITH RESULT SETS UNDEFINED; EXEC('PRINT 123456789;')WITH RESULT SETS NONE; EXEC('SELECT 123456789 AS val;')WITH RESULT SETS((valINT));
Stránkovanie dát Generátory sekvenvie DEMO
Zdroje • MSDN centrum pre SQL Server Data Tools (SSDT) http://msdn.microsoft.com/en-us/data/tools.aspx • Tímový blog SSDThttp://blogs.msdn.com/b/ssdt/ • Columnstore index http://msdn.microsoft.com/en-us/library/gg492088(v=SQL.110).aspx • Úvod do LocalDBhttp://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx • SQL Server 2012 Developer Training Kit • http://go.microsoft.com/?linkid=9785999
Zhrnutie • SQL Server 2012 vylepšuje rôzne aplikačné scenáre • Napojenie na súborový systém cez FileTable • Výkonné vyhľadávanie v DW použitím „columnstore“ indexu • Pover View pre interaktívne analýzy a reporting • SQL Server Data Tools pre vývoj a správu databáz v databázových projektoch • Zjednodušené nasadenie databáz použitím LocalDB • Zjednodušenie konštrukcií T-SQL príkazov