Масштабирование в SQL Azure - SQL Azure Federations
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Масштабирование в SQL Azure - SQL Azure Federations

on

  • 1,368 views

Масштабируемость приложения стала критическим элементом дизайна после перехода от модели индивидуальных ...

Масштабируемость приложения стала критическим элементом дизайна после перехода от модели индивидуальных программ к серверной модели работы приложений. Масштабируемые приложения способны справиться с более активным использованием и возросшим объёмом данных. Масштабируемые приложения обладают высокой доступностью и отказоустойчивостью. Масштабируемые приложения управляемы и сопровождаемы. Всё это справедливо по отношению ко всем слоям приложения, в том числе и к базе данных. Масштабирование базы данных - процесс отнюдь не тривиальный и довольно сложный. SQL Azure, со своей концепцией моментального создания и распределения баз данных внутри ЦОД, является хорошей альтернативой одиночному серверу, а SQL Azure Federations выводят масштабирование в SQL Azure на совершенно новый уровень.

Statistics

Views

Total Views
1,368
Views on SlideShare
1,111
Embed Views
257

Actions

Likes
0
Downloads
5
Comments
0

8 Embeds 257

http://reznik.uneta.com.ua 210
http://azure.way2cloud.com 19
http://paper.li 14
http://www.way2cloud.dev 5
http://a0.twimg.com 3
http://way2cloud.cloudapp.net 3
http://azure.way2cloud.dev 2
https://twimg0-a.akamaihd.net 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Масштабирование в SQL Azure - SQL Azure Federations Presentation Transcript

  • 1. http://reznik.uneta.com.ua @DenisReznik DenisReznik@live.ru
  • 2. 32 GB RAM, 8 cores
  • 3. Windows Azure Roles Client Applications Service Bus Castellan.Azure • Box Office sales • Ticket Printing • System Administration • Venue/Eventhttp:// TicketDirect .* Dynamic Worker Distributed Partitioner WCF Management (tasks uploaded Cache Worker Worker • Partitioning as blobs)Windows Azure Storage On Premises Blobs to -- -- Tables to -- Queues for SQL Server store web and worker --- -- record & --- server communication between clients role partition and roles resources -- information Castellan VenueSQL Azure Castellan Castellan Castellan Castellan Castellan Castellan Castellan Venue DB 1 Venue Venue Venue DB 2 Venue Venue Venue DB N Venue Venue ... DB’s Partition(s) DB’s Partition(s) DB’s Partition(s) Castellan.old (VB6)One application DB, many venue DB’s – each partitioned in to many parts (40+)
  • 4. Несколько БД Много БД
  • 5. Резервирование Управление• Рост и уменьшение объѐма • ПО, Обновление, Высокая данных (покупка/продажа доступность серверов) ШардингМаршрутизация Управление секциями• Где находятся мои данные? • Разбиение и слияние • Распределение данных
  • 6. FederationsSalesDB CustomerFederationeration CustomerFederationeration CustomerFederation Federation Root Federation Members
  • 7. Federations member: Range [1000, 2000)SalesDB AU AU AU PK=5 PK=25 PK=35 CustomerFederationeration CustomerFederationeration AU PK=5 AU PK=25 AU PK=35 CustomerFederation AU PK=1005 AU PK=1025 AU PK=1035 Federation Root Federation Members Atomic Units
  • 8. Central Tables FederationsSalesDB Federated Tables CustomerFederationeration CustomerFederationeration CustomerFederation Reference Tables User Database and Federation root Federation members
  • 9. USE FEDERATION CustomerFederation(customer_id = 5075) … SalesDB CustomerFederationeration CustomerFederationeration CustomerFederation Range Distribution [min,1000, 2000, 3000 ….. 5000, 10000, Max]
  • 10. USE FEDERATION CustomerFederation(cid = 55) WITH RESET, FILTERING=OFF GOFILTERING=OFFРаботаем с данными всего Federation member Неограниченный доступ к данным базы: Всѐ равно что соединиться по имени БД DDL, DML и доступ ко всем Atomic Units внутри Federation MemberХорошо для… Management Tasks: Обновление схемы данных Fan-out Querying – получение данных нескольких atomic units member: Range [100,200) Products (referece) Customer_id=55SalesDB CustomerFederation CustomerFederation Customers Orders (federated) (federated) Microsoft Confidential Microsoft Confidential
  • 11. USE FEDERATION CustomerFederation(cid = 55) WITH RESET, FILTERING=ON GOFILTERING=ONРаботаем с данными одного Atomic Unit Полностью доступны данные Reference Tables Запрещены любые изменения глобального состояния Federation MemberХорошо для… Безопасной модели разработки Предотвращения утечки данных member: Range [100,200) Products (referece) Customer_id=55SalesDB CustomerFederation CustomerFederation Customers Orders (federated) Customer_id=55 (federated) Microsoft Confidential
  • 12. ALTER FEDERATION CustomerFederation SPLIT AT (tenant_id=7500) SalesDB Orders_federation CustomerFederationeration CustomerFederationRange Distribution [min,1000, 2000, 3000 ….. 5000, 10000, Max]
  • 13. App member: Range [100,200) PostalCodeSalesDB (reference) CustomerFederationeration CustomerFederationeration CustomerFederation Customer CustomerAddress (federated) (federated) Member: Range [100,150) Member: Range [150,200)
  • 14. -- День #2 – Разворачиваем системуCREATE DATABASE SalesDBGOCREATE FEDERATION CustomerFederation(CustomerId int RANGE)GO member: Range [MIN, NULL) SalesDB CustomerFederation
  • 15. CREATE TABLE сProducts( member-- Соедняемся federationUSE FEDERATION CustomerFederationeration(CustomerId = 0) WITH FILTERING = OFF, RESET ProductId int NOT NULL,GO SupplierId int NOT NULL,CREATE TABLE Customers( CustomerId int nvarchar(50) NOT NULL, ProductName NOT NULL, …Price decimal(12,2) NOT NULL, PRIMARY KEY (CustomerId) ) ) PRIMARY KEY(ProductId)FEDERATED ON (CustomerId = CustomerId)GOGOCREATE TABLE Orders( CustomerId int NOT NULL, OrderId uniqueidentifier NOT NULL, … PRIMARY KEY (OrderId, CustomerId))FEDERATED ON (CustomerId = CustomerId)GO member: Range [MIN, NULL) Products (reference) SalesDB CustomerFederation CustomerFederation Customer Orders (federated) (federated)
  • 16. -- День #2 Трафик растёт!ALTER FEDERATION CustomerFederation SPLIT AT(CustomerId = 1000)GO-- День #3 ПЯТНИЦЦО! Трафик взлетает до небес! (future)ALTER FEDERATION CustomerFederation SPLIT AT(CustomerId = 100,200,300,…900)GO-- День #4 Наплыв трафика спадает! (future)ALTER FEDERATION CustomerFederation MERGE AT(CustomerId = 100,200,300,…900)GO SalesDB CustomerFederationeration CustomerFederationeration CustomerFederation
  • 17. Управление схемой данных Поддержка управления схемами членов федерации. Больший контроль процесса обновления схемыЭмуляция Federations Локальная эмуляция Federations, для того, чтобы разрабатывать приложения под Federations, не используя SQL AzureАвтоматический шардинг Автоматическое разбиение базы данных в зависимости от определѐнного критерия (время отклика, размер базы данных и т.п.)Распределѐнные запросы Получение данных с нескольких Federation Members одним запросом
  • 18. http://reznik.uneta.com.ua/post/2011/05/16/sql-azure-federations-sharding-in-sql-azure.aspxhttp://reznik.uneta.com.ua/post/2011/05/25/introducing-to-sql-azure-federations.aspxhttp://blogs.msdn.com/b/cbiyikoglu/http://windowsazurecat.com/http://player.microsoftpdc.com/Session/591d586f-3732-4bff-8ee2-857f27d74df4http://www.microsoft.com/download/en/details.aspx?id=8396http://shard.codeplex.com/http://sqlazurefedmw.codeplex.com/http://enzosqlshard.codeplex.com/
  • 19. Будет доступно до конца календарного года http://reznik.uneta.com.ua DenisReznik@live.ru
  • 20. SQL Azure Network Applications use standard SQL client Topology Application libraries: ODBC, ADO.Net, PHP, … Internet Azure Cloud TDS (tcp) Security Boundary Load balancer forwards ‘sticky’ sessions LB to TDS protocol tier TDS (tcp) Gateway Gateway Gateway Gateway Gateway Gateway Gateway: TDS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to CloudDB TDS (tcp)L SQL SQL SQL SQL Scalability and Availability: Fabric, Failover, Replication, and Load balancing
  • 21. SQL Azure Database provisioning 1 TDS Gateway Front-end Node TDS Session Protocol Parser 2 3 Gateway Logic Master Cluster Master Node 4 Master Node Components 7 5 8 6 Backend Node 1 Backend Node 2 Backend Node 3 SQL Instance SQL Instance SQL Instance SQL DB SQL DB SQL DB Scalability and and Availability: Fabric,Failover,Replication, and Load balancing Scalability Availability: Fabric, Failover, Replication, and Load balancing