SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
МАСШТАБИРУЕМОСТЬ
SQL SERVER И SQL AZURE


Денис Резник
reznik@dct.ua
О себе

  Руководитель департамента веб-разработки компании
  Digital Cloud Technologies
  Тренер Microsoft Innovation Center
  Microsoft MVP (SQL Server)
  Microsoft Certified Trainer
  USSUG Lead
  Блог: http://reznik.uneta.com.ua
  Твиттер: @DenisReznik
  Email: DenisReznik@live.ru




                                                Track # – Session #   2
Масштабирование
            v
Масштабирование

 Способность справляться с увеличением
 нагрузки без влияния на производительность
 Высокая доступность и отказоустойчивость
 Управляемость и сопровождаемость




                                Track # – Session #   4
Вертикальное масштабирование
Scale Up
 Купить мощный сервер
 Добавлять серверу ресурсы
 Есть потолок масштабируемости




                                 Track # – Session #   5
Вертикальное масштабирование
SQL Server
 Горячее добавление памяти и процессоров
 Поддержка до 256 ядер




                               Track # – Session #   6
Вертикальное масштабирование
SQL Azure
Scale Up в SQL Azure нет!   32 GB RAM, 8 cores




                                   Track # – Session #   7
Горизонтальное масштабирование
Scale Out
 Распределить данные и нагрузку между
 несколькими серверами
 Не имеет границ масштабирования




                               Track # – Session #   8
Горизонтальное масштабирование
База данных
 Варианты масштабирования базы данных
   Репликация
     Дублирование данных на серверах
   Шардинг
     Распределение данных между серверами




                                       Track # – Session #   9
Техники горизонтального
масштабированияv
Shared Databases

 Общий SAN с базой данных
 До восьми инстансов SQL Server
 База данных – только для чтения




                                   Track # – Session #   11
Partitioned Tables

 Таблица разбивается на секции
 В пределах одной физической
 машины




                                 Track # – Session #   12
Distributed Partitioned Views

 Секционированное представление
 Linked Server




                                Track # – Session #   13
Репликация
             v
Master-Slave репликация

 Пишем на Master, читаем со Slave-ов
 Масштабирование чтения
 Запись не масштабируюется
 Блокировки на всех серверах




                                 Track # – Session #   15
Peer-to-Peer репликация

 Пишем на все сервера
 Читаем со всех серверов
 Синхронизация данных




                           Track # – Session #   16
AlwaysOn




      A

               A
           A            A




                   Track # – Session #   17
AlwaysOn – Механизм работы


             1
   Commit               Подтверждение
                   7             Подтверждение
                                          6
                                                          Запись данных
                             2
                                                          в базу
             2          Передача данных           4
 Запись в
 локальный             Сохранено в     Запись в
                 3     локальном log        log       5
 Log
    DB       Log                                  Log                   DB


                                                      Track # – Session #   18
AlwaysOn

 Переключение нескольких баз
 (концепция Availability Groups)
 Автоматическое переключение
 Несколько копий базы
 Чтение с копий
 Перенаправление соединения
 пользователя в случае отказа
 основной базы

                                   Track # – Session #   19
SQL Server

Шардинг
             v
Резервирование                    Управление
• Рост и уменьшение объѐма        • ПО, Обновление, Высокая
  данных (покупка/продажа           доступность
  серверов)


                              Шардинг

Маршрутизация                     Управление секциями
• Где находятся мои данные?       • Разбиение и слияние
                                  • Распределение данных




                                               Track # – Session #   21
Варианты шардинга данных

 Диапазон – разбиение диапазона на секции
   Диапазоны могут иметь разный размер
   Хороший выбор для запросов по диапазону
   Может не выдержать большой нагрузки
 Хеширование – использование хэша в качестве
 ключа
   Отличное решение для распределения данных
   Хорошее решение для выборки по ключу


                                     Track # – Session #   22
Управление схемой

 Дизайн схемы должен исключать взаимодействие
 между базами данных
 Процесс обновление схемы должен быть устойчивым




                                    Track # – Session #   23
Распределѐнные запросы

 Задумайтесь можно ли обойтись без них
 Запускайте запросы к разным базам
 параллельно и агрегируйте результаты
 Используйте несколько соединений и
 многопоточность для увеличения
 производительности




                                Track # – Session #   24
SQL Server and SQL Azure shard library




                             Track # – Session #   25
SQL Azure

Шардинг
            v
SQL Azure Federations

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

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


                                   Track # – Session #   27
Концепция Fеderations
                                                   Federations

      SalesDB
                                     CustomerFederationeration
                                       CustomerFederationeration
                                           CustomerFederation



                    Federation Root
                                                                   Federation Members
 Federation Root
     База данных в которой находится объект Federation

 Federation
     Federation – объект Root базы данных, который знает как распределены данные между шардами

 Federation Member (aka Шард):
     Отдельная база данных SQL Azure. Каждая такая база данных, хранит в себе часть общего набора
     данных.




                                                                         Track # – Session #   28
Концепция Fеderations

                                    Federations                                 member: Range [1000, 2000)

SalesDB                                                                         AU                  AU                     AU

                      CustomerFederationeration
                        CustomerFederationeration
                                                                               PK=5
                                                                                       AU
                                                                                                   PK=25
                                                                                                            AU
                                                                                                                          PK=35
                                                                                                                                   AU

                            CustomerFederation                                        PK=5
                                                                                           AU
                                                                                         PK=1005
                                                                                                           PK=25
                                                                                                                 AU
                                                                                                               PK=1025
                                                                                                                                  PK=35
                                                                                                                                        AU
                                                                                                                                      PK=1035




            Federation Root                                                                  Atomic Units


   Federation Distribution Key
          Ключ, используемый для распределения данных внутри федерации. Он определяет тип
          данных ключа (uniqueidentifier, int, bigint, varbinary), и способ распределения данных (range).
          Его значение определяет Federation Member, на котором будут находиться данные.

   Atomic Unit
          Все данные имеющие одинаковый Federation Distribution Key. Например это все строки
          федеративных таблиц, которые имеют один федеративный ключ. Эта коллекция данных
          гарантированно будет находиться на одном и том-же шарде (federation member).




                                                                                  Track # – Session #                    29
Концепция Fеderations
                                                                              Central Tables
                                                         Federations

 SalesDB
                                                                                             Federated Tables
                          CustomerFederationeration
                            CustomerFederationeration
                                CustomerFederation
                                                                                             Reference Tables

                     User Database and
                     Federation root                  Federation members
 Federated Tables
      Содержат кусочек распределѐнных данные. Federated tables создаются в federation members и
      содержат federation distribution key.

 Reference Tables
      Содержат данные необходимые для lookup запросов. Создаются в Federation Member. Данные таблиц
      реплицируются между всеми Federation Members.

 Central Table
      Таблицы, созданные в federation root базе данных. Используются в основном как набор метаданных.




                                                                            Track # – Session #   30
Маршрутизация
USE FEDERATION CustomerFederation(customer_id = 5075) …



              SalesDB
                                          CustomerFederationeration
                                            CustomerFederationeration
                                                CustomerFederation




            Range Distribution [min,1000, 2000, 3000 …..                     5000, 10000, Max]


     Приложение всегда вначале соединяется с ROOT database
     USE FEDERATION – переключает в контекст конкретного
     federation member
     Данные с одинаковым значением federation key (atomic unit)
     всегда находятся в пределах одного federation member


                                                                        Track # – Session #   31
Маршрутизация – Member Connection
USE FEDERATION CustomerFederation(cid = 55)
WITH RESET, FILTERING=OFF
GO
                                                                                         member: Range [100,200)
                                                                                          Products
                                                                                         (referece)   Customer_id=55
SalesDB
                                CustomerFederation
                                  CustomerFederation                                      Customers                  Orders
                                                                                          (federated)             (federated)
                                                                Microsoft Confidential

    FILTERING=OFF

    Работаем с данными всего Federation member

          Неограниченный доступ к данным базы: Всѐ равно что соединиться по имени БД

                DDL, DML и доступ ко всем Atomic Units внутри Federation Member


    Хорошо для…

          Management Tasks: Обновление схемы данных

          Fan-out Querying – получение данных нескольких atomic units




                                                                                          Track # – Session #          32
Маршрутизация – Filtering connection
 USE FEDERATION CustomerFederation(cid = 55)
 WITH RESET, FILTERING=ON
 GO
                                                                               member: Range [100,200)

                                                                                Products
                                                                                            Customer_id=55
                                                                               (referece)
SalesDB
                            CustomerFederation
                              CustomerFederation                                Customers                  Orders
                                                                                (federated)Customer_id=55
                                                                                                        (federated)
                                                    Microsoft Confidential

     FILTERING=ON

     Работаем с данными одного Atomic Unit

           Полностью доступны данные Reference Tables

           Запрещены любые изменения глобального состояния Federation Member

     Хорошо для…

           Безопасной модели разработки

           Предотвращения утечки данных




                                                                                Track # – Session #          33
Разделение шарда
              ALTER FEDERATION CustomerFederation SPLIT AT (CustomerId=7500)



   SalesDB
                                  Orders_federation
                                 CustomerFederationeration
                                      CustomerFederation




 Range Distribution [min,1000, 2000, 3000 …..                5000, 10000, Max]


  Разделение шарда делается при помощи T-SQL
  команды SPLIT.
  Разделение шарда происходит без остановки
  работы приложения. Данные шарда недоступны
  в течении очень короткого промежутка времени.

                                                                   Track # – Session #   34
Сценарий применения

 Приложение, обрабатывающее заказы
 множества покупателей и обслуживающее
 большую базу продуктов.
   Database Name = SalesDB
   Federations = CustomerFederation (CustomerId int
   RANGE)
        Federation distribution key = CustomerId
        Federated Tables = Customers, Orders
        Reference Tables = Products

                                               Track # – Session #   35
SQL Azure Federations

Демонстрация
                        v
БД размером 75 Тб




                    Track # – Session #   37
SQL Azure Federations vNext

 Управление схемой данных
    Поддержка управления схемами членов федерации. Больший контроль
    процесса обновления схемы
 Эмуляция Federations
    Локальная эмуляция Federations, для того, чтобы разрабатывать
    приложения под Federations, не используя SQL Azure
 Автоматический шардинг
    Автоматическое разбиение базы данных в зависимости от
    определѐнного критерия (время отклика, размер базы данных и т.п.)
 Распределѐнные запросы
    Получение данных с нескольких Federation Members одним запросом




                                                     Track # – Session #   38
Масштабирование

 Способность справляться с увеличением
 нагрузки без влияния на производительность
 Высокая доступность и отказоустойчивость
 Управляемость и сопровождаемость




                                Track # – Session #   39
Масштабирование
 Масштабирование в SQL Azure – Шардинг
 http://reznik.uneta.com.ua/post/2011/05/16/sql-azure-federations-sharding-in-sql-azure.aspx

 Знакомимся с SQL Azure Federations
 http://reznik.uneta.com.ua/post/2011/05/25/introducing-to-sql-azure-federations.aspx

 SQL Azure - Your Data in the Cloud (Cihan Biyikoglu)
 http://blogs.msdn.com/b/cbiyikoglu/

 Peer-to-Peer Replication
 http://www.sql-server-performance.com/2008/peertopeer-replication-in-sql-server-2008/

 How to setup Availability Groups
 http://www.brentozar.com/archive/2011/07/how-set-up-sql-server-denali-availability-groups/

 Multi-tenant SQL Azure Federations Sample
 http://shard.codeplex.com/

 SQL Azure Federation Data Migration Wizard
 http://sqlazurefedmw.codeplex.com/

 SQL Server and SQL Azure Shard Library
 http://enzosqlshard.codeplex.com/



                                                                         Track # – Session #   40
Спасибо!
           v

Contenu connexe

Plus de UNETA

18/03/2016 UNETA Spring! Vitaliy Livnov - Communications Protocols
18/03/2016 UNETA Spring! Vitaliy Livnov - Communications Protocols18/03/2016 UNETA Spring! Vitaliy Livnov - Communications Protocols
18/03/2016 UNETA Spring! Vitaliy Livnov - Communications ProtocolsUNETA
 
Uneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEW
Uneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEWUneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEW
Uneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEWUNETA
 
Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?
Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?
Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?UNETA
 
Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.
Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.
Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.UNETA
 
Система анализа уязвимостей программных продуктов
Система анализа уязвимостей программных продуктовСистема анализа уязвимостей программных продуктов
Система анализа уязвимостей программных продуктовUNETA
 
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...UNETA
 
Gamification
GamificationGamification
GamificationUNETA
 
Преимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDBПреимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDBUNETA
 

Plus de UNETA (8)

18/03/2016 UNETA Spring! Vitaliy Livnov - Communications Protocols
18/03/2016 UNETA Spring! Vitaliy Livnov - Communications Protocols18/03/2016 UNETA Spring! Vitaliy Livnov - Communications Protocols
18/03/2016 UNETA Spring! Vitaliy Livnov - Communications Protocols
 
Uneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEW
Uneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEWUneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEW
Uneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEW
 
Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?
Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?
Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?
 
Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.
Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.
Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.
 
Система анализа уязвимостей программных продуктов
Система анализа уязвимостей программных продуктовСистема анализа уязвимостей программных продуктов
Система анализа уязвимостей программных продуктов
 
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
 
Gamification
GamificationGamification
Gamification
 
Преимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDBПреимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDB
 

SQL Rally 2012 - масштабируемость SQL Server и SQL Azure

  • 1. МАСШТАБИРУЕМОСТЬ SQL SERVER И SQL AZURE Денис Резник reznik@dct.ua
  • 2. О себе Руководитель департамента веб-разработки компании Digital Cloud Technologies Тренер Microsoft Innovation Center Microsoft MVP (SQL Server) Microsoft Certified Trainer USSUG Lead Блог: http://reznik.uneta.com.ua Твиттер: @DenisReznik Email: DenisReznik@live.ru Track # – Session # 2
  • 4. Масштабирование Способность справляться с увеличением нагрузки без влияния на производительность Высокая доступность и отказоустойчивость Управляемость и сопровождаемость Track # – Session # 4
  • 5. Вертикальное масштабирование Scale Up Купить мощный сервер Добавлять серверу ресурсы Есть потолок масштабируемости Track # – Session # 5
  • 6. Вертикальное масштабирование SQL Server Горячее добавление памяти и процессоров Поддержка до 256 ядер Track # – Session # 6
  • 7. Вертикальное масштабирование SQL Azure Scale Up в SQL Azure нет! 32 GB RAM, 8 cores Track # – Session # 7
  • 8. Горизонтальное масштабирование Scale Out Распределить данные и нагрузку между несколькими серверами Не имеет границ масштабирования Track # – Session # 8
  • 9. Горизонтальное масштабирование База данных Варианты масштабирования базы данных Репликация Дублирование данных на серверах Шардинг Распределение данных между серверами Track # – Session # 9
  • 11. Shared Databases Общий SAN с базой данных До восьми инстансов SQL Server База данных – только для чтения Track # – Session # 11
  • 12. Partitioned Tables Таблица разбивается на секции В пределах одной физической машины Track # – Session # 12
  • 13. Distributed Partitioned Views Секционированное представление Linked Server Track # – Session # 13
  • 15. Master-Slave репликация Пишем на Master, читаем со Slave-ов Масштабирование чтения Запись не масштабируюется Блокировки на всех серверах Track # – Session # 15
  • 16. Peer-to-Peer репликация Пишем на все сервера Читаем со всех серверов Синхронизация данных Track # – Session # 16
  • 17. AlwaysOn A A A A Track # – Session # 17
  • 18. AlwaysOn – Механизм работы 1 Commit Подтверждение 7 Подтверждение 6 Запись данных 2 в базу 2 Передача данных 4 Запись в локальный Сохранено в Запись в 3 локальном log log 5 Log DB Log Log DB Track # – Session # 18
  • 19. AlwaysOn Переключение нескольких баз (концепция Availability Groups) Автоматическое переключение Несколько копий базы Чтение с копий Перенаправление соединения пользователя в случае отказа основной базы Track # – Session # 19
  • 21. Резервирование Управление • Рост и уменьшение объѐма • ПО, Обновление, Высокая данных (покупка/продажа доступность серверов) Шардинг Маршрутизация Управление секциями • Где находятся мои данные? • Разбиение и слияние • Распределение данных Track # – Session # 21
  • 22. Варианты шардинга данных Диапазон – разбиение диапазона на секции Диапазоны могут иметь разный размер Хороший выбор для запросов по диапазону Может не выдержать большой нагрузки Хеширование – использование хэша в качестве ключа Отличное решение для распределения данных Хорошее решение для выборки по ключу Track # – Session # 22
  • 23. Управление схемой Дизайн схемы должен исключать взаимодействие между базами данных Процесс обновление схемы должен быть устойчивым Track # – Session # 23
  • 24. Распределѐнные запросы Задумайтесь можно ли обойтись без них Запускайте запросы к разным базам параллельно и агрегируйте результаты Используйте несколько соединений и многопоточность для увеличения производительности Track # – Session # 24
  • 25. SQL Server and SQL Azure shard library Track # – Session # 25
  • 27. SQL Azure Federations С точки зрения базы данных это объект, который позволяет масштабировать базу данных и распределять еѐ данные между отдельными базами данных. С точки зрения пользователя это набор метаданных о том как распределены данные между базами данных и удобная модель работы с этими данными Track # – Session # 27
  • 28. Концепция Fеderations Federations SalesDB CustomerFederationeration CustomerFederationeration CustomerFederation Federation Root Federation Members Federation Root База данных в которой находится объект Federation Federation Federation – объект Root базы данных, который знает как распределены данные между шардами Federation Member (aka Шард): Отдельная база данных SQL Azure. Каждая такая база данных, хранит в себе часть общего набора данных. Track # – Session # 28
  • 29. Концепция Fеderations Federations member: Range [1000, 2000) SalesDB AU AU AU CustomerFederationeration CustomerFederationeration PK=5 AU PK=25 AU PK=35 AU CustomerFederation PK=5 AU PK=1005 PK=25 AU PK=1025 PK=35 AU PK=1035 Federation Root Atomic Units Federation Distribution Key Ключ, используемый для распределения данных внутри федерации. Он определяет тип данных ключа (uniqueidentifier, int, bigint, varbinary), и способ распределения данных (range). Его значение определяет Federation Member, на котором будут находиться данные. Atomic Unit Все данные имеющие одинаковый Federation Distribution Key. Например это все строки федеративных таблиц, которые имеют один федеративный ключ. Эта коллекция данных гарантированно будет находиться на одном и том-же шарде (federation member). Track # – Session # 29
  • 30. Концепция Fеderations Central Tables Federations SalesDB Federated Tables CustomerFederationeration CustomerFederationeration CustomerFederation Reference Tables User Database and Federation root Federation members Federated Tables Содержат кусочек распределѐнных данные. Federated tables создаются в federation members и содержат federation distribution key. Reference Tables Содержат данные необходимые для lookup запросов. Создаются в Federation Member. Данные таблиц реплицируются между всеми Federation Members. Central Table Таблицы, созданные в federation root базе данных. Используются в основном как набор метаданных. Track # – Session # 30
  • 31. Маршрутизация USE FEDERATION CustomerFederation(customer_id = 5075) … SalesDB CustomerFederationeration CustomerFederationeration CustomerFederation Range Distribution [min,1000, 2000, 3000 ….. 5000, 10000, Max] Приложение всегда вначале соединяется с ROOT database USE FEDERATION – переключает в контекст конкретного federation member Данные с одинаковым значением federation key (atomic unit) всегда находятся в пределах одного federation member Track # – Session # 31
  • 32. Маршрутизация – Member Connection USE FEDERATION CustomerFederation(cid = 55) WITH RESET, FILTERING=OFF GO member: Range [100,200) Products (referece) Customer_id=55 SalesDB CustomerFederation CustomerFederation Customers Orders (federated) (federated) Microsoft Confidential FILTERING=OFF Работаем с данными всего Federation member Неограниченный доступ к данным базы: Всѐ равно что соединиться по имени БД DDL, DML и доступ ко всем Atomic Units внутри Federation Member Хорошо для… Management Tasks: Обновление схемы данных Fan-out Querying – получение данных нескольких atomic units Track # – Session # 32
  • 33. Маршрутизация – Filtering connection USE FEDERATION CustomerFederation(cid = 55) WITH RESET, FILTERING=ON GO member: Range [100,200) Products Customer_id=55 (referece) SalesDB CustomerFederation CustomerFederation Customers Orders (federated)Customer_id=55 (federated) Microsoft Confidential FILTERING=ON Работаем с данными одного Atomic Unit Полностью доступны данные Reference Tables Запрещены любые изменения глобального состояния Federation Member Хорошо для… Безопасной модели разработки Предотвращения утечки данных Track # – Session # 33
  • 34. Разделение шарда ALTER FEDERATION CustomerFederation SPLIT AT (CustomerId=7500) SalesDB Orders_federation CustomerFederationeration CustomerFederation Range Distribution [min,1000, 2000, 3000 ….. 5000, 10000, Max] Разделение шарда делается при помощи T-SQL команды SPLIT. Разделение шарда происходит без остановки работы приложения. Данные шарда недоступны в течении очень короткого промежутка времени. Track # – Session # 34
  • 35. Сценарий применения Приложение, обрабатывающее заказы множества покупателей и обслуживающее большую базу продуктов. Database Name = SalesDB Federations = CustomerFederation (CustomerId int RANGE) Federation distribution key = CustomerId Federated Tables = Customers, Orders Reference Tables = Products Track # – Session # 35
  • 37. БД размером 75 Тб Track # – Session # 37
  • 38. SQL Azure Federations vNext Управление схемой данных Поддержка управления схемами членов федерации. Больший контроль процесса обновления схемы Эмуляция Federations Локальная эмуляция Federations, для того, чтобы разрабатывать приложения под Federations, не используя SQL Azure Автоматический шардинг Автоматическое разбиение базы данных в зависимости от определѐнного критерия (время отклика, размер базы данных и т.п.) Распределѐнные запросы Получение данных с нескольких Federation Members одним запросом Track # – Session # 38
  • 39. Масштабирование Способность справляться с увеличением нагрузки без влияния на производительность Высокая доступность и отказоустойчивость Управляемость и сопровождаемость Track # – Session # 39
  • 40. Масштабирование Масштабирование в SQL Azure – Шардинг http://reznik.uneta.com.ua/post/2011/05/16/sql-azure-federations-sharding-in-sql-azure.aspx Знакомимся с SQL Azure Federations http://reznik.uneta.com.ua/post/2011/05/25/introducing-to-sql-azure-federations.aspx SQL Azure - Your Data in the Cloud (Cihan Biyikoglu) http://blogs.msdn.com/b/cbiyikoglu/ Peer-to-Peer Replication http://www.sql-server-performance.com/2008/peertopeer-replication-in-sql-server-2008/ How to setup Availability Groups http://www.brentozar.com/archive/2011/07/how-set-up-sql-server-denali-availability-groups/ Multi-tenant SQL Azure Federations Sample http://shard.codeplex.com/ SQL Azure Federation Data Migration Wizard http://sqlazurefedmw.codeplex.com/ SQL Server and SQL Azure Shard Library http://enzosqlshard.codeplex.com/ Track # – Session # 40