Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałBartłomiej Dej Został zmieniony 10 lat temu
1
Wirtualna baza SQL zgodna z SQL Server SQL as a Service
SQL Azure Wirtualna baza SQL zgodna z SQL Server SQL as a Service
2
60% rozwiązanie MS 40% działanie w praktyce (napisanie prostej aplikacji typu „Hello World” Kilka słów o podobnych rozwiązaniach
3
Wybór bazy danych - opcje
On-premise SQL Server on-premise Zarządzanie serwerze 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 VM DB Server/OS SQL Azure (RDBMS) Cechy: Auto HA, Fault-Tolerance Bezproblemowe skalowanie Self-provisioning Wysoka zgodność Wirtualny serwer DB Zarządzanie LDB LDB Zasoby Współdzielone Niska Kontrola Wysoka SQL Azure V1 to scenariusz w lewym dolnym rogu!
4
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 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.
5
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)
6
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
7
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
8
Zakładanie konta Tworzenie bazy danych Konfiguracja firewalla
9
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
10
! Repliki baz danych Single Primary DB Pojedyncza DB Wiele replik
Replica 1 Single Primary Replica 2 DB Replica 3 Replica 4
11
SQL Azure Wdrożenie skryptu
Skrypt DB SQL Azure TDS Gateway
12
SQL Azure Dostęp do bazy
Change Connection String Aplikacja SQL Azure TDS Gateway
13
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ć
14
AzureScope – SQL Read
15
AzureScope – SQL Write - 5761
16
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
17
Database Editions Dwa SKU dla SQL Azure: Web & Business
Web Edition: 1 $9.99/miesiąc | 5 $49.95/miesiąc Business Edition: do 50 $99.99/10 GB/miesiąc 10 $99.99 | 20 $ | 30 $ | 40 $ | 50 $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
18
Skąd ograniczenie? SLA DataCenter ma 5 minut na podniesienie nowej instancji. Obecne algorytmy dają rade podnieść bazę do 50GB Stąd limit
19
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
20
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
21
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
22
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
23
Pomoc (1)
24
Pomoc (2)
25
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
26
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
27
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
28
Wracamy do przykładu
29
Tworzenie schematu lokalnie Migracja na SQL Azure
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.