1 / 29

SQL Azure

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. Cechy : Pełna kontrola h/w 100% kompatybilności

xinqian-jun
Télécharger la présentation

SQL Azure

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  4. 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

  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 dostępne z poza DC (On-premises – ADO.NET / ODBC / …) SQL Azure używane wewnątrz DC (Azure compute – gł. ADO.NET / EF) Aplikacja / przeglądarka Aplikacja / Narzędzia ADO.NET Data Svcs/REST - EF HTTP/S SOAP/REST 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 daleko Kod blisko

  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) Subskrypcja Server Baza

  8. Zakładanie kontaTworzenie bazy danychKonfiguracja firewalla

  9. 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 Machine 5 Machine 4 Machine 6 SQL Instance SQL Instance SQL Instance SQL DB SQL DB SQL DB UserDB1 UserDB1 UserDB1 UserDB2 UserDB2 UserDB2 UserDB3 UserDB3 UserDB3 UserDB4 UserDB4 UserDB4 SDS Provisioning (bazy, konta, role, …, pomiar, i billing Scalability and Availability: Fabric, Failover, Replication, and Load balancing Scalability and Availability: Fabric, Failover, Replication, and Load balancing

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

  11. SQL AzureWdrożenie skryptu SkryptDB SQL Azure TDS Gateway

  12. SQL AzureDostę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 - 93362

  15. AzureScope – SQL Write - 5761

  16. SQL Azure • SQL „Express” w chmurze • 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 GB @ $9.99/miesiąc | 5 GB @ $49.95/miesiąc • Business Edition: do 50 GB @ $99.99/10 GB/miesiąc10 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

  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 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 Gateway Gateway Gateway Gateway Gateway Data Node Data Node Data Node Data Node Data Node Data Node TDS (tcp: 1433) Skalowalność i dostępność : Fabric, Failover, Replikacjai Load balancing

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

  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 • TraceFlags • Resource Governor • BACKUP / RESTORE • Full TextSearch • 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 • LoadBalancing

  27. Model bezpieczeństwa • 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 lokalnieMigracja na SQL Azure

More Related