Wirtualna baza SQL zgodna z SQL Server SQL as a Service

Slides:



Advertisements
Podobne prezentacje
Longhorn Academy - AD Warszawa, 12 kwietnia 2007
Advertisements

20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Architektura SAP R/3 Wybrane zagadnienia.
System cloud'owy Amazon EC2
Decyzje projektowe w .NET Framework
SIECI KOMPUTEROWE WYKŁAD 10. RÓWNOWAŻENIE OBCIĄŻEŃ
WEB SERVICE Stefan Rutkowski.
Microsoft Professional Developer Days 2004
Horyzontalne scenariusze pracy
ADAM Active Directory w trybie aplikacyjnym
OLAP budowa aplikacji analitycznych w MS SQL 2000 i Yukon
18/11/ Języki programowania 1 Piotr Górczyński Łączenie z bazą danych.
Tomasz Smieszkoł - 15 stycznia
Wykład 2. Wprowadzenie do architektur systemów rozproszonych
Proxy (WWW cache) Sieci Komputerowe
Czym jest ISA 2004 Microsoft Internet Security and Acceleration Server 2004 jest zaawansowaną zapora filtrującą ruch w warstwie aplikacji. Razem z zaporą.
Longhorn - Usługi terminalowe
Information Bridge Framework platforma integracji Microsoft Office 2003 z aplikacjami Line of Business Krzysztof Michalski10/01/2005.
Rozproszone bazy danych
Współczesne systemy informacyjne
Systemy zarządzania treścią CMS
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.
Bezpieczeństwo baz danych
Przykład włamania do aplikacji internetowej poprzez modyfikację zapytań SQL Skrypty ASP Serwer bazy danych MS SQL Server Piotr Kuźniacki BDi.
System katalogowania. Opis i architektura.
InfinitERP prezentacja systemu.
Dlaczego migrować pocztę do Exchange Server 2010?.
Licencjonowanie rodziny System Center 2012
Poczta i zarządzanie czasem. Perspektywa użytkownika.
... CZYLI 100% HYBRID Tomasz Onyszko IAM Kung-Fu Evangelist.
IT Asset Management Service
Cecylia Szymanska - Ban | Education Lead Microsoft.
Struktura aplikacji System elektronicznej obsługi klienta
… iSCSI … Windows Server 2012 Łukasz Dylewski.
Cloud computing – chmura obliczeniowa
Król Excel 2013 Dynastii ciąg dalszy Grzegorz Stolecki
Licencjonowanie aplikacji serwerowych
Droga do Windows Azure Windows Server SQL Server BizTalk Server SharePoint Server Ubuntu OpenSUSE CentOS SUSE Linux Enterprise Server VM Depot.
Tomasz Kopacz Aplikacje a chmury Tomasz Kopacz
Czy SCOM jest tylko systemem monitorującym?
Systemy zarządzania treścią Content Management System
Arkadiusz Twardoń ZTiPSK
Rozdział 1: Wprowadzenie do systemu Windows 2000 i podstaw sieci
Co nowego w klastrach Windows Server 8
ASP BAZY. 2.2 S. Wolek Wst. do Inf. Połączenie z bazą danych przez ADO (ActiveX Data Object) do: - źródła ODBC - bazy z podanie nazwy sterownika ODBC.
Aplikacje bazodanowe ADO.NET PHP i MySQL
Enterprise Architecture Patterns
SOS SYSTEM OBSŁUGI SZKOŁY
Projekt i realizacja aplikacji sklepu internetowego z obsługą księgowania w środowisku cloud computing Rafał Ogrodnik Promotor mgr inż. Michał Dobrzyński.
System synchronizacji oraz współdzielenia plików pomiędzy wieloma użytkownikami oraz urządzeniami poprzez sieć Internet Rafał Olszewski Promotor: Mgr inż.
Systemy zarządzania treścią Wykład 5
18/11/ Języki programowania 1 Piotr Górczyński Kontrolki.
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Bazy danych, sieci i systemy komputerowe
Internetowego Biura Rachunkowego
Exchange Server Poczta, kalendarze i kontakty
ŁUKASZ SKROBOT, Konsultant techniczny Sybase Professional services
Technologie programowania systemów internetowych
Projektowanie Aplikacji Internetowych Artur Niewiarowski Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska.
Zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego.
Active Directory Federation Services w Windows Server 2012 R2
PHP. PHP obiektowy, skryptowy język programowania zaprojektowany do generowania stron internetowych w czasie rzeczywistym.
.NET i Bazy Danych Projekt: Wadim Grasza.
Połączenia aplikacji Klient/Serwer
Cloud Computing wg Amazona Robert Fryga I SMU Informatyka.
Rozproszone i obiektowe bazy danych Temat: „ Mobilny dostawca ” Prowadzący: Dr inż. Robert Wójcik Marcin Fijałkowski Piotr Kłys r.
Wydział Matematyki, Informatyki i Architektury Krajobrazu
Sponsorzy: Media:. Sponsorzy: Media: MBUM 9/11/2017 Mikrotik Beer User Meeting Integracja uwierzytelniania tunelu L2TP/IPsec z Microsoft Active Directory.
Realizacja aplikacji internetowych
Technologie Informacyjne Bazy danych
Zapis prezentacji:

Wirtualna baza SQL zgodna z SQL Server SQL as a Service SQL Azure Wirtualna baza SQL zgodna z SQL Server SQL as a Service

60% rozwiązanie MS 40% działanie w praktyce (napisanie prostej aplikacji typu „Hello World” Kilka słów o podobnych rozwiązaniach

Wybór bazy danych - opcje On-premise SQL Server on-premise Zarządzanie zasobami @ serwerze Bezpieczeństwo @ DB Server/OS Cechy: Pełna kontrola h/w 100% kompatybilności Własne HA/DR/skala Cechy: 100% API Dedykowany Hosted Hostowany SQL Server Zarządzanie zasobami @ VM Bezpieczeństwo @ DB Server/OS SQL Azure (RDBMS) Cechy: Auto HA, Fault-Tolerance Bezproblemowe skalowanie Self-provisioning Wysoka zgodność Wirtualny serwer DB Zarządzanie zasobami @ LDB Bezpieczeństwo @ LDB Zasoby Współdzielone Niska Kontrola Wysoka SQL Azure V1 to scenariusz w lewym dolnym rogu!

Microsoft SharePoint Conference 2009 3/28/2017 Typy Blob Block Blob składa się z indywidualnych „bloków” Zoptymalizowany pod steaming Każdy blok może mieć rozmiar 4MB Całkowita wielkość Blob może być 200 GB Strona Blob jest kolekcją indywidualnych „stron” Zoptymalizowany dla losowych operacji read/write operations Strona jest zakresem danych podobnym do bufora Całkowita wielkość Blob może być 1 TB Block blobs are optimized for streaming. Page blobs, which are optimized for random read/write operations and provide the ability to write to a range of bytes in a blob. You specify which type of blob you wish to create when you call the Put Blob operation. Once the blob has been created, its type cannot be changed, and it can be updated only by using the operation appropriate for that blob type, i.e., Put Block and Put Block List for a block blob, and Put Page for a page blob. Block blobs are comprised of blocks, each of which is identified by a block ID. You create or modify a block blob by uploading a set of blocks and committing them by their block IDs. If you are uploading a block blob that is no more than 64 MB in size, you can also upload it in its entirety with a single Put Blob operation. When you upload a block to Windows Azure using the Put Block operation, it is associated with the specified block blob, but it does not become part of the blob until you call the Put Block List operation and include the block's ID. The block remains in an uncommitted state until it is specifically committed. Writing to a block blob is thus always a two-step process. Each block can be a maximum of 4 MB in size. The maximum size for a block blob in version 2009-09-19 is 200 GB, or up to 50,000 blocks. Page blobs are a collection of pages. A page is a range of data that is identified by its offset from the start of the blob. To create a page blob, you initialize the page blob by calling Put Blob and specifying its maximum size. To add content to or update a page blob, you call the Put Page operation to modify a page or range of pages by specifying an offset and range. All pages must align 512-byte page boundaries. Unlike writes to block blobs, writes to page blobs happen in-place and are immediately committed to the blob. The maximum size for a page blob is 1 TB. A page written to a page blob may be up to 1 TB in size. © 2009 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.

Scenariusze dla SQL Azure Aplikacje departamentowe Proste aplikacje budowane indywidualnie lub na potrzeby departamentu Potrzebne proste, samozarządzalne IT Trochę „poza” klasycznym IT Klientem może być Access  Lub hostowana lokalnie aplikacja ASP.NET / PHP / … Aplikacje Web Skalowanie na życzenie, łatwe instalowanie itp.. ISV ISV hostujący oprogramowanie dla klientów Łatwe wsparcie systemów multitenant (w różnych scenariuszach) Data Hub Współdzielenie i agregacja danych pomiędzy warstwami i pomiędzy enterprise Zcentralizowane miejsce dla danych, skalowalne, synchronizacja z istniejącymi źródłami danych Ładne połączenie z innymi pojemnikami! (np. BLOB)

Przykładowe topologie SQL Azure używane wewnątrz DC (Azure compute – gł. ADO.NET / EF) SQL Azure dostępne z poza DC (On-premises – ADO.NET / ODBC / …) Aplikacja / przeglądarka Aplikacja / Narzędzia SOAP/REST HTTP/S ADO.NET Data Svcs/REST - EF HTTP/S App Code (ASP.NET) Windows Azure T-SQL (TDS) T-SQL (TDS) SQL Data Services SQL Data Services MS Datacenter MS Datacenter Kod blisko Kod daleko

Model provisioningu Każda subskrypcja ma zero lub więcej serwerów W ramach Azure Określa element opłat Każdy serwer ma Nazwę (DNS) i domenę autoryzacji Bazę master Jedną lub więcej baz użytkowych Każda baza ma standardowe obiekty SQL Użytkowników, tabele, widoki itp Jednostka spójności (transakcji) Server Baza

Zakładanie konta Tworzenie bazy danych Konfiguracja firewalla

SDS Provisioning (bazy, konta, role, …, pomiar, i billing Architektura Współdzielona infrastruktura na poziomie SQL Wymaga routingu, odpowiedniego bezpieczeństwa i izolacji Technologia „skalowalnego HA” zapewnia odpowiednie narzędzia do replikacji i failover Połączony z Resource Governor Provisioning, pomiar użycia i infrastruktura bilingowa SDS Provisioning (bazy, konta, role, …, pomiar, i billing Machine 4 SQL Instance SQL DB User DB1 User DB2 User DB3 User DB4 Machine 5 SQL Instance SQL DB User DB1 User DB2 User DB3 User DB4 Machine 6 SQL Instance SQL DB User DB1 User DB2 User DB3 User DB4 Scalability and Availability: Fabric, Failover, Replication, and Load balancing Scalability and Availability: Fabric, Failover, Replication, and Load balancing

! Repliki baz danych Single Primary DB Pojedyncza DB Wiele replik Replica 1 Single Primary Replica 2 DB Replica 3 Replica 4

SQL Azure Wdrożenie skryptu Skrypt DB SQL Azure TDS Gateway

SQL Azure Dostęp do bazy Change Connection String Aplikacja SQL Azure TDS Gateway

Model programowania Mały zestaw danych (<50 GB) Wykorzystać pojedynczą bazę (jak w przypadku on premise SQL Server) Duże zbiory danych i/lub olbrzymia przepustowość Database Sharding (będzie później) Partycjonować pomiędzy wiele baz danych Wykorzystać PLINQ / TPL Kod aplikacji musi to uwzględniać

AzureScope – SQL Read - 93362

AzureScope – SQL Write - 5761

SQL Azure SQL „Express” w chmurze ADO.NET – działa Limit 1GB / 10GB / 50G / …. Bo: sensowny czas replikacji; „tani” hardware Partycjonowanie poziome (klient 100TB) Dzięki partycjonowaniu kwerenda z 100 minut zeszła do 10 sekund (patrz niżej) Dokładniej – kwerenda + masywny merge ADO.NET – działa Enterprise Library Data Access – działa Entity Framework – działa Zapytanie/połączenie ma 5 minut nim zostanie ubite Po 30 minutach połączenie jest zamykane Narzędzia: OSQL, SSMS (SQL 2008 R2), Access  Migration Kit

Database Editions Dwa SKU dla SQL Azure: Web & Business Web Edition: 1 GB @ $9.99/miesiąc | 5 GB @ $49.95/miesiąc Business Edition: do 50 GB @ $99.99/10 GB/miesiąc 10 GB @ $99.99 | 20 GB @ $199.98 | 30 GB @ $299.97 | 40 GB @ $399.96 | 50 GB @ $499.95 Należy określić Web lub Business Edition Web: EDITION = Web Business: EDITION = Business Należy określić MAXSIZE Web: MAXSIZE = 1GB| 5GB Business: MAXSIZE = 10GB | 20GB | 30GB | 40GB | 50GB Jest to rozmiar poza który baza NIE UROŚNIE Opłata jest za realne użycie (uśredniane dziennie) CREATE DATABASE foo1 (EDITION='business', MAXSIZE=50GB); Rośnie dowolnie, do 50 GB CREATE DATABASE foo2 (EDITION='business', MAXSIZE=30GB); CREATE DATABASE bar1 (EDITION='web', MAXSIZE=5GB); CREATE DATABASE bar2 (EDITION='web'); -- Domyślnie 1GB Business Edition Do 50 GB 10 GB przyrostu Web Edition Do 5 GB Albo 1 GB albo 5 GB

Skąd ograniczenie? SLA DataCenter ma 5 minut na podniesienie nowej instancji. Obecne algorytmy dają rade podnieść bazę do 50GB Stąd limit

SQL Azure – topologia Aplikacje Gateway Data Node Data Node Data Node Aplikacja używa normalnych bibliotek : ODBC, ADO.Net, … Ale też Microsoft Access działa  Aplikacje TDS (tcp:1433) Load balancer przesyła sesję do warstwy TDS Load Balancer TDS (tcp: 1433) Gateway Application could use unlimited number of SQL instance Application could use „classic” programming model ADO.NET, ACID transaction, etc. Designed for cloud: 3 replicas, Load balancing TDS (tcp: 1433) Data Node Data Node Data Node Data Node Data Node Data Node Skalowalność i dostępność : Fabric, Failover, Replikacja i Load balancing

Kompatybilność (skrót) Wspierane Nie wspierane Tables, indexes and views Stored Procedures Triggers Constraints Table variables, session temp tables (#t) Spatial … Distributed Transactions Distributed Query CLR Service Broker Physical server or catalog DDL and views

T-SQL – elementy które działają Stałe Więzy Kursory Zarzadzanie indeksami Lokalne tymczasowe tabele Procedury składowane Zarządzanie statystykami Transakcje Triggery (ale po co…) Tabele, join, zmienne tabelaryczne DDL: Create/drop databases Create/alter/drop tables Create/alter/drop users Create/alter/drop logins … Funkcje użytkownika Nie CLR! Widoki Synonimy

Co nie działa… Common Language Runtime (CLR) Zmiany lokalizacji plików i zarządzanie FileGroup Database mirroring Rozproszone kwerendy Rozproszone transakcje Globalne tabele tymczasowe W SP - można Typy Spatial i indeksy Zmiany opcji w SQL Server SQL Server Service Broker Tabele systemowe Trace Flags Resource Governor BACKUP / RESTORE Full Text Search Service Broker BULK INSERT Ale BCP z klienta działa! CDC CHANGETABLE (CT) Indeksy XML DBCC i sprawdzanie spójności FILESTREAM KILL OPENQUERY / OPENROWSET USE do zmiany kontekstu SQL Agent Ale mamy Worker Role

Pomoc (1)

Pomoc (2)

Model połączenia Dowolne API ADO.NET, ODBC, PHP Biblioteki klienckie preinstalowane w rolach Azure Wsparcie kontrolek ASP.NET Wsparcie designera EF Klient podłącza się BEZPOŚREDNIO do bazy Nie ma USE – patrz SQL Azure - topologia

Logiczna a fizyczna administracja SQL Azure pozwala skupić się na logicznej administracji Schematy Optymalizacja kwerend Bezpieczeństwo Usługa zajmuje się elementami fizycznymi Lokalizacja plików Replikacje, HA Przeźroczysty failover Load Balancing

Model bezpieczeństwa jest w 100% zgodny z on-premise SQL Standardowy model SQL Login Użytkownik Rola Ograniczone do autoryzacji SQL Username + password !!!! Przyszłość, AD, Windows Live ID itp. Technicznie: Service Bus + ACS z kodem który pracuje z SQL Model bezpieczeństwa jest w 100% zgodny z on-premise SQL

Wracamy do przykładu

Tworzenie schematu lokalnie Migracja na SQL Azure