SlideShare a Scribd company logo
1 of 41
mrys@microsoft.com









MySpace: the Business Problem
 223M users

 900 Terabytes of data

 450 SQL Servers
 Required (eventual) data
  consistency across databases
MySpace’s Data Consistency Problem




    1-1000     1001-2000




   2001-3000   3001-4000




   4001-5000   5001-6000
MySpace’s Solution


 Propagate data changes from one DB to
  other DBs using reliable, async Message
  Service (Service Broker)




 And also used for
MySpace’s Service Dispatcher
 Coordination point between all SQL Servers


 Load-balanced across 30 SQL Servers

 Enables multicast/broadcast functionality

 18,000 ~2k msgs/sec per dispatcher SQL
  Server
MySpace Architecture


1-1000          3001-4000
                                               My DB                I change
                                               gets updated          my status
                      Service
          Service
   TX3    Broker
                    TX2                TX1
                    Dispatcher Service                              userId=1024
                                Broker
2001-3000     Service
                                         1001-2000
              Broker


    TX4                 TX5

4001-5000       5001-6000                                     Web Tier
               Data Tier
Many other customers using similar
patterns
 Online electronic stores (cannot give names
  )
 Travel reservation systems (e.g. Choice
  International)







Social
                                                          Social
                                                       Networks
                                                         Network
                     Management                             s
 Ops                   Services


                                  Data Backend
                                    Data Backend
                                    Services
                                      Data Backend
                                       Services
                                         Services
          MSN
 MSN     Games
Games         l
        Web Portal


                                  Front Door
                      GameBar       Router
          WLM                      Services
 WLM     Games
                        Host
Games   Web Portal




          Bing
 Bing                   Auth
         Games                       STS
                                      STS
Games         l
        Web Portal


                                  Azure Data Centers





•

•
•
Partitioned over 100 SQL Azure DBs
                                                                                  Find Friends’ Profiles
                                                                Social            Get my Profile
                                                                  Social
                                                               Services
     User     …     DB                                           Service          Publish feed, read feed
                                 Find Friends’ Profiles


                                     Get Friends highscores

                                                                Gamer             Last Played
                                                                  Gamer
                                                               Services           Favorites
            STS                                                  Services         Game Preferences
              STS
                             Leaderb      …                                       Social Leaderboards
                                                DB
                               oard

                         Partitioned over 298 SQL Azure DBs         Game
                                                                      Game        Disable/Enable
                                                                  Ingestion       Games from
       Front Door             Write user specific game infos        Ingestion
                                                                                  accessing services
         Router
        Services

                                                                   Game
                                                                                  Game binaries
                              User       …     DB                 Catalog
                                                                                  Game metadata
        250 instances

                         Partitioned over 100 SQL Azure DBs       250 instances
• Fanout: Parallel calls to
   multiple database
   partitions

• Quorum: Able to
   tolerate a percentage of
   request failures during
   Fanout

• Retry: Retry on database
   requests error
Statistics per game







































Readable
                                         Replica


                        Primary Shard


                                        Readable
                                         Replica   Dynamic OLAP
                                                   Workloads
                                                   (Scale-out queries,
OLTP Workloads                                     often using
(mostly touching 1 to                              eventual consistent
                                        Readable   scale-out
low number of shards)                    Replica
                                                   frameworks like
                                                   Hadoop)
                        Primary Shard


                                        Readable
                                         Replica




                                        Readable
                                         Replica


                        Primary Shard


                                        Readable
                                         Replica








   Federation
                                                              Azure DB with Federation Root
        Represents the data being sharded
   Federation Root
                                                             Federation Directories, Federation Users,
        Database that logically houses federations,
        contains federation meta data                        Federation Distributions, …
   Federation Key
        Value that determines the routing of a piece
        of data (defines a Federation Distribution)
   Federation Member (aka Shard)
                                                              Federation “Orders_Fed”
        A physical container for a set of federated          (Federation Key: CustomerID)
        tables for a specific key range and reference
        tables
                                                                    Member: PK [min, 100)
   Federated Table
        Table that contains only atomic units for the             AU           AU           AU
        member’s key range                                       PK=5         PK=25        PK=35
   Reference Table
        Non-sharded table
   Atomic Unit                                                      Member: PK [100, 488)
        All rows with the same federation
        key value: always together!                                AU           AU           AU
                                                Connection



                                                                 PK=105       PK=235       PK=365
                                                 Gateway




                                                                    Member: PK [488, max)

                                                                   AU          AU            AU
                             Sharded                             PK=555      PK=2545       PK=3565

                            Application                                               25
•
•


•










    http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseSt
    udyID=4000008310

                           http://cacm.acm.org/magazines/2011/6/108663-
       scalable-sql

       http://download.microsoft.com/download/9/E/9/9E9F240D-0EB6-472E-
       B4DE-
       6D9FCBB505DD/Windows%20Azure%20No%20SQL%20White%20Paper.p
       df

       http://blogs.msdn.com/b/cbiyikoglu/archive/2011/03/03/nosql-genes-in-
       sql-azure-federations.aspx

       mrys@microsoft.com

       http://sqlblog.com/blogs/michael_rys/default.aspx
Connection:
     Server=az1cl321.db.windows.net;
     Database=MyDB;
     User=AppUser;
     Passwd=****;



                                   Gateway
                                                                                              CREATE FEDERATION
                                                                          Existing Database


                                             CREATE FEDERATION sales
                                             (customer_id bigint RANGE)




30
Federation with a Single Shard
                                                    Existing Database

                                                                           CREATE FEDERATION sales
                                                                           (customer_id bigint RANGE)

                                                                           Database root contains:
                                                              sales
                                                                           • Federation root = DB level object
                                                                             containing federation scheme
                                          Gateway




                                                                           • Federation users
                                                                           • Federation metadata incl. federation
                            Connection:




                                                                             map
Server=az1cl321.db.windows.net;




                                                        Range: Min...Max
Database=MyDB;
User=AppUser;
Passwd=****;




                                                    Federation Member
                                                                                                            31
Introducing Two Connection Modes

 • Filtered Connection
    – Guarantees that any queries or DML will produce the
      same results independent of changes to the physical
      layout of the federation members
    – Scoped to an “Atomic Unit”
 • Unfiltered Connection
    – Scoped to a Federation Member
    – Management Connection




                                                       32
Create Schema on Member: Management Connection
                                                                            Existing Database




                                                                                             sales
                                          Gateway




                                                    USE FEDEDERATION sales (customer_id=0)
                            Connection:




                                                    WITH FILTERING=OFF, RESET;
Server=az1cl321.db.windows.net;




                                                        CREATE TABLE …


                                                                                                     Range: Min...Max


                                                                                 Customer                   Order        Product
Database=MyDB;
User=AppUser;
Passwd=****;




                                                                                                     Federation Member
                                                                © 2011 Microsoft Corporation. Microsoft Materials
                                                                     - Confidential. All rights reserved. CITA #                   33
                                                                                  MSFT101120_A
DDL
 CREATE TABLE customer (
   c_id bigint PRIMARY KEY,
   …
   )
   FEDERATED ON (customer_id=c_id);

 CREATE TABLE order (
   item_num int,
   customer_id bigint,
   date_sold datetime2,
   …,
   CONSTRAINT PK_Order PRIMARY KEY (item_num, customer_id, date_sold),
   CONSTRAINT FK_Cust FOREIGN KEY customer_id REFERENCES
   customer (customer_id)
   )
   FEDERATED ON (customer_id=customer_id);

 CREATE TABLE product (
   product_name varchar(100) NOT NULL,
   unit_price money,
   item_num int PRIMARY KEY,
   …
   );

                                                                         34
More Detail
 • Supported data types for federation key : bigint, int, GUID, and varbinary
   (900)
     – Only range partitioning
 • Federation key must be part of unique index
 • Foreign key constraints only allowed between federated tables and from
   federated table to reference table
 • Not all Azure programmability features supported
     – Sequence, timestamp
 • Additional surface area restrictions
     – Indexed views, drop database (members)
 • Schemas are allowed to diverge over time
     – Furthermore, in v1, schema updates to existing members must be done in each
       member (where the change is needed)
 • USE FEDERATION “rewires a connection”
     – Connection is reestablished
     – All existing settings and context of the connection is lost (sp_reset_connection)
     – Must be in a batch by itself



                                                                                           35
Connect to Atomic Unit: Filtered
                                                                       Existing Database



                                                                                                          When using into a specific key
                                                                                                          value, SELECT will only return
                                                                                       sales
                                                                                                          records from federated tables that
                                                                                                          match that value. It will still return
                                          Gateway




                                                                                                          all records from non-federated
                                                                                                          tables.
                                                    USE FEDEDERATION sales (customer_id=3)
                            Connection:




                                                                                                          Inserts and UPDATES operating
                                                    WITH FILTERING=ON, RESET;
                                                                                                          outside of the value will fail.
Server=az1cl321.db.windows.net;




                                                                                 Range: Min...Max

                                                                       customer        order    product

                                                                                        3
Database=MyDB;




                                            SELECT * from customer           3
User=AppUser;
Passwd=****;




                                                                                                                  SELECT * from product

                                                       SELECT * from order


                                                                       Federation Member
                                                                                                                                          36
More on Connection Filtering

 • Most operations behave differently in filtered vs
   unfiltered connections
 • Connection filtering is a property of the session
    – Filter injected dynamically at runtime
    – Cannot inspect source code to determine how it behaves
       • E.g., running stored proc written for filtered mode on unfiltered
         connection could lead to unintended results
 • There are several operations that will not work in
   filtered connection in v1
    – DDL, DML on reference tables, …
 • Fan-out, bulk operations not efficient in filtered mode
    – For now, filter=off is our best offer


                                                                             37
Support Matrix

                    Connection Type Filtered Unfiltered Named
              Operation                                (unfiltered)
                     Dynamic SELECT     P        P          P
           DML* (federated tables)      P        P          P
           DML* (reference tables)      X        P          P
                                 DDL    X        P          P
                Views (not indexed)     P        P          P
                       UDF - activate   P        P          P
              Stored Proc - activate    P        P          P
       Trigger (all modes) - activate   P        P          P
              CREATE/UPDATE Stats       X        P          P
   Bulk Ops
        openrowset bulk, bcp, bulk
                               insert   X        P          P


   * not including SELECT & modules
    ^ autostats will work on all connections
   System stored procs, intrinsics will be unaffected (run unfiltered)


                                                                         38
Splitting a Member
                                                                          Existing Database



                                                                                                     ALTER FEDERATION sales
                                                                                       sales         SPLIT AT (customer_id=50)
                                          Gateway




                                                    USE FEDERATION ROOT
                            Connection:




                                                    WITH RESET

                                                    Using to the
Server=az1cl321.db.windows.net;




                                                    federation ROOT
                                                    will pop you out of
                                                    a member back                Range: Min...Max
                                                    into the database
                                                    that hosts the        customer     order    product

                                                    federation               3          3
Database=MyDB;
User=AppUser;
Passwd=****;




                                                                            40          58
                                                                            58          58



                                                                          Federation Member
                                                                                                                            39
Two New Members
                                                                              Existing Database



                                                                                                      ALTER FEDERATION sales
                                                                                              sales   SPLIT AT (customer_id=50)
                                          Gateway




                                                    USE FEDEDERATION ROOT
                                                    WITH RESET
                            Connection:
Server=az1cl321.db.windows.net;




                                                                  Range: Min...50                                 Range: 51...Max

                                                           customer     order       product                customer     order       product

                                                                          3
Database=MyDB;




                                                              3
User=AppUser;




                                                                                                                         58
Passwd=****;




                                                             40                                              58          58




                                                            Federation Member                              Federation Member
                                                                                                                                        40
Two New Members
                                                                                Existing Database




                                                                                                sales
                                            Gateway




                                                      USE FEDEDERATION sales (customer_id=40)
                            Connection:




                                                      WITH FILTERING=ON, RESET;
Server=az1cl321.db.windows.net;




                                                                    Range: Min...50                            Range: 51...Max

                                                             customer     order       product           customer     order       product
Database=MyDB;




                                          SELECT *
User=AppUser;




                                                                                                                      58
Passwd=****;




                                          from customer                    40
                                                               40                                         58          58

                                                SELECT * from order




                                                                                                                                     41

More Related Content

What's hot

Performance and scalability of Informix ultimate warehouse edtion on Intel Xe...
Performance and scalability of Informix ultimate warehouse edtion on Intel Xe...Performance and scalability of Informix ultimate warehouse edtion on Intel Xe...
Performance and scalability of Informix ultimate warehouse edtion on Intel Xe...Keshav Murthy
 
Power management: Lenovo ThinkServer Smart Grid Technology
Power management: Lenovo ThinkServer Smart Grid TechnologyPower management: Lenovo ThinkServer Smart Grid Technology
Power management: Lenovo ThinkServer Smart Grid TechnologyPrincipled Technologies
 
9sept2009 concept electronics
9sept2009 concept electronics9sept2009 concept electronics
9sept2009 concept electronicsAgora Group
 
Microsoft Unified Communications - Outlook/Exchange Better Together Presentation
Microsoft Unified Communications - Outlook/Exchange Better Together PresentationMicrosoft Unified Communications - Outlook/Exchange Better Together Presentation
Microsoft Unified Communications - Outlook/Exchange Better Together PresentationMicrosoft Private Cloud
 
Lucene in the Cloud: Learn how GCE leveraged the power of search and Big Data...
Lucene in the Cloud: Learn how GCE leveraged the power of search and Big Data...Lucene in the Cloud: Learn how GCE leveraged the power of search and Big Data...
Lucene in the Cloud: Learn how GCE leveraged the power of search and Big Data...lucenerevolution
 
NoSQL Databases for Implementing Data Services – Should I Care?
NoSQL Databases for Implementing Data Services – Should I Care?NoSQL Databases for Implementing Data Services – Should I Care?
NoSQL Databases for Implementing Data Services – Should I Care?Guido Schmutz
 
VNSISPL_DBMS_Concepts_ch4
VNSISPL_DBMS_Concepts_ch4VNSISPL_DBMS_Concepts_ch4
VNSISPL_DBMS_Concepts_ch4sriprasoon
 
distilling the Web of Data drop by drop (with Java)
distilling the Web of Data drop by drop (with Java)distilling the Web of Data drop by drop (with Java)
distilling the Web of Data drop by drop (with Java)Davide Palmisano
 
SUPPORTING QUERYING ON MULTI-MILLION EVENTS PER SECOND from Structure:Data 2012
SUPPORTING QUERYING ON MULTI-MILLION EVENTS PER SECOND from Structure:Data 2012SUPPORTING QUERYING ON MULTI-MILLION EVENTS PER SECOND from Structure:Data 2012
SUPPORTING QUERYING ON MULTI-MILLION EVENTS PER SECOND from Structure:Data 2012Gigaom
 
[NHN] 성공적인 소셜게임 런칭과 기술
[NHN] 성공적인 소셜게임 런칭과 기술[NHN] 성공적인 소셜게임 런칭과 기술
[NHN] 성공적인 소셜게임 런칭과 기술GAMENEXT Works
 
Cache-partitioning
Cache-partitioningCache-partitioning
Cache-partitioningdavidkftam
 
Introduction to NoSQL and Couchbase
Introduction to NoSQL and CouchbaseIntroduction to NoSQL and Couchbase
Introduction to NoSQL and CouchbaseDipti Borkar
 
Ph.D. thesis presentation
Ph.D. thesis presentationPh.D. thesis presentation
Ph.D. thesis presentationdavidkftam
 

What's hot (15)

Performance and scalability of Informix ultimate warehouse edtion on Intel Xe...
Performance and scalability of Informix ultimate warehouse edtion on Intel Xe...Performance and scalability of Informix ultimate warehouse edtion on Intel Xe...
Performance and scalability of Informix ultimate warehouse edtion on Intel Xe...
 
Power management: Lenovo ThinkServer Smart Grid Technology
Power management: Lenovo ThinkServer Smart Grid TechnologyPower management: Lenovo ThinkServer Smart Grid Technology
Power management: Lenovo ThinkServer Smart Grid Technology
 
9sept2009 concept electronics
9sept2009 concept electronics9sept2009 concept electronics
9sept2009 concept electronics
 
Microsoft Unified Communications - Outlook/Exchange Better Together Presentation
Microsoft Unified Communications - Outlook/Exchange Better Together PresentationMicrosoft Unified Communications - Outlook/Exchange Better Together Presentation
Microsoft Unified Communications - Outlook/Exchange Better Together Presentation
 
XenDesktop Presentations 25022010
XenDesktop Presentations 25022010XenDesktop Presentations 25022010
XenDesktop Presentations 25022010
 
Lucene in the Cloud: Learn how GCE leveraged the power of search and Big Data...
Lucene in the Cloud: Learn how GCE leveraged the power of search and Big Data...Lucene in the Cloud: Learn how GCE leveraged the power of search and Big Data...
Lucene in the Cloud: Learn how GCE leveraged the power of search and Big Data...
 
NoSQL Databases for Implementing Data Services – Should I Care?
NoSQL Databases for Implementing Data Services – Should I Care?NoSQL Databases for Implementing Data Services – Should I Care?
NoSQL Databases for Implementing Data Services – Should I Care?
 
VNSISPL_DBMS_Concepts_ch4
VNSISPL_DBMS_Concepts_ch4VNSISPL_DBMS_Concepts_ch4
VNSISPL_DBMS_Concepts_ch4
 
distilling the Web of Data drop by drop (with Java)
distilling the Web of Data drop by drop (with Java)distilling the Web of Data drop by drop (with Java)
distilling the Web of Data drop by drop (with Java)
 
SUPPORTING QUERYING ON MULTI-MILLION EVENTS PER SECOND from Structure:Data 2012
SUPPORTING QUERYING ON MULTI-MILLION EVENTS PER SECOND from Structure:Data 2012SUPPORTING QUERYING ON MULTI-MILLION EVENTS PER SECOND from Structure:Data 2012
SUPPORTING QUERYING ON MULTI-MILLION EVENTS PER SECOND from Structure:Data 2012
 
[NHN] 성공적인 소셜게임 런칭과 기술
[NHN] 성공적인 소셜게임 런칭과 기술[NHN] 성공적인 소셜게임 런칭과 기술
[NHN] 성공적인 소셜게임 런칭과 기술
 
Cache-partitioning
Cache-partitioningCache-partitioning
Cache-partitioning
 
Dell latitude 2120-specsheet
Dell latitude 2120-specsheetDell latitude 2120-specsheet
Dell latitude 2120-specsheet
 
Introduction to NoSQL and Couchbase
Introduction to NoSQL and CouchbaseIntroduction to NoSQL and Couchbase
Introduction to NoSQL and Couchbase
 
Ph.D. thesis presentation
Ph.D. thesis presentationPh.D. thesis presentation
Ph.D. thesis presentation
 

Similar to Scaling with SQL Server and SQL Azure Federations

SQLBits X Scaling out with SQL Azure Federations
SQLBits X Scaling out with SQL Azure FederationsSQLBits X Scaling out with SQL Azure Federations
SQLBits X Scaling out with SQL Azure FederationsMichael Rys
 
Take the spaghetti out of windows azure – an insight for it pro techies part 1
Take the spaghetti out of windows azure – an insight for it pro techies part 1Take the spaghetti out of windows azure – an insight for it pro techies part 1
Take the spaghetti out of windows azure – an insight for it pro techies part 1Microsoft TechNet - Belgium and Luxembourg
 
Xldb2011 tue 1005_linked_in
Xldb2011 tue 1005_linked_inXldb2011 tue 1005_linked_in
Xldb2011 tue 1005_linked_inliqiang xu
 
Arquitectura dos Serviços da plataforma Windows Azure
Arquitectura dos Serviços da plataforma Windows AzureArquitectura dos Serviços da plataforma Windows Azure
Arquitectura dos Serviços da plataforma Windows AzureComunidade NetPonto
 
Clojure at BackType
Clojure at BackTypeClojure at BackType
Clojure at BackTypenathanmarz
 
[NetPonto] Arquitectura dos Serviços da plataforma Windows Azure
[NetPonto] Arquitectura dos Serviços da plataforma Windows Azure[NetPonto] Arquitectura dos Serviços da plataforma Windows Azure
[NetPonto] Arquitectura dos Serviços da plataforma Windows AzureVitor Tomaz
 
Databases for Storage Engineers
Databases for Storage EngineersDatabases for Storage Engineers
Databases for Storage EngineersThomas Kejser
 
Windows Azure Uzerinden Alinabilen Hizmetler
Windows Azure Uzerinden Alinabilen HizmetlerWindows Azure Uzerinden Alinabilen Hizmetler
Windows Azure Uzerinden Alinabilen HizmetlerMustafa
 
Windows Azure Üzerinden Alınabilecek Hizmetler
Windows Azure Üzerinden Alınabilecek HizmetlerWindows Azure Üzerinden Alınabilecek Hizmetler
Windows Azure Üzerinden Alınabilecek HizmetlerMSHOWTO Bilisim Toplulugu
 
[AzurePT] Desenvolvimento para o Windows Azure: Diferença para o developer
[AzurePT] Desenvolvimento para o Windows Azure: Diferença para o developer[AzurePT] Desenvolvimento para o Windows Azure: Diferença para o developer
[AzurePT] Desenvolvimento para o Windows Azure: Diferença para o developerVitor Tomaz
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure PlatformAsmTrash
 
High Performance Cloud Computing
High Performance Cloud ComputingHigh Performance Cloud Computing
High Performance Cloud ComputingAmazon Web Services
 
Windows Azure platform overview
Windows Azure platform overviewWindows Azure platform overview
Windows Azure platform overviewFrédéric Harper
 
NYC Amazon Web Services Meetup: How Glue uses AWS
NYC Amazon Web Services Meetup: How Glue uses AWSNYC Amazon Web Services Meetup: How Glue uses AWS
NYC Amazon Web Services Meetup: How Glue uses AWSAlex Iskold
 
The Art & Sience of Optimization
The Art & Sience of OptimizationThe Art & Sience of Optimization
The Art & Sience of OptimizationHertzel Karbasi
 
A Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual GameA Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual Gameaction.vn
 
Denial of Service in Software Defined Netoworks
Denial of Service in Software Defined NetoworksDenial of Service in Software Defined Netoworks
Denial of Service in Software Defined NetoworksMohammad Faraji
 
Balancing Replication and Partitioning in a Distributed Java Database
Balancing Replication and Partitioning in a Distributed Java DatabaseBalancing Replication and Partitioning in a Distributed Java Database
Balancing Replication and Partitioning in a Distributed Java DatabaseBen Stopford
 
AWS Summit 2011: AWS 101 Overview
AWS Summit 2011: AWS 101 OverviewAWS Summit 2011: AWS 101 Overview
AWS Summit 2011: AWS 101 OverviewAmazon Web Services
 

Similar to Scaling with SQL Server and SQL Azure Federations (20)

SQLBits X Scaling out with SQL Azure Federations
SQLBits X Scaling out with SQL Azure FederationsSQLBits X Scaling out with SQL Azure Federations
SQLBits X Scaling out with SQL Azure Federations
 
Take the spaghetti out of windows azure – an insight for it pro techies part 1
Take the spaghetti out of windows azure – an insight for it pro techies part 1Take the spaghetti out of windows azure – an insight for it pro techies part 1
Take the spaghetti out of windows azure – an insight for it pro techies part 1
 
Xldb2011 tue 1005_linked_in
Xldb2011 tue 1005_linked_inXldb2011 tue 1005_linked_in
Xldb2011 tue 1005_linked_in
 
Arquitectura dos Serviços da plataforma Windows Azure
Arquitectura dos Serviços da plataforma Windows AzureArquitectura dos Serviços da plataforma Windows Azure
Arquitectura dos Serviços da plataforma Windows Azure
 
Clojure at BackType
Clojure at BackTypeClojure at BackType
Clojure at BackType
 
[NetPonto] Arquitectura dos Serviços da plataforma Windows Azure
[NetPonto] Arquitectura dos Serviços da plataforma Windows Azure[NetPonto] Arquitectura dos Serviços da plataforma Windows Azure
[NetPonto] Arquitectura dos Serviços da plataforma Windows Azure
 
Databases for Storage Engineers
Databases for Storage EngineersDatabases for Storage Engineers
Databases for Storage Engineers
 
Windows Azure Uzerinden Alinabilen Hizmetler
Windows Azure Uzerinden Alinabilen HizmetlerWindows Azure Uzerinden Alinabilen Hizmetler
Windows Azure Uzerinden Alinabilen Hizmetler
 
Windows Azure Üzerinden Alınabilecek Hizmetler
Windows Azure Üzerinden Alınabilecek HizmetlerWindows Azure Üzerinden Alınabilecek Hizmetler
Windows Azure Üzerinden Alınabilecek Hizmetler
 
[AzurePT] Desenvolvimento para o Windows Azure: Diferença para o developer
[AzurePT] Desenvolvimento para o Windows Azure: Diferença para o developer[AzurePT] Desenvolvimento para o Windows Azure: Diferença para o developer
[AzurePT] Desenvolvimento para o Windows Azure: Diferença para o developer
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure Platform
 
High Performance Cloud Computing
High Performance Cloud ComputingHigh Performance Cloud Computing
High Performance Cloud Computing
 
Introduction to AWS tools
Introduction to AWS toolsIntroduction to AWS tools
Introduction to AWS tools
 
Windows Azure platform overview
Windows Azure platform overviewWindows Azure platform overview
Windows Azure platform overview
 
NYC Amazon Web Services Meetup: How Glue uses AWS
NYC Amazon Web Services Meetup: How Glue uses AWSNYC Amazon Web Services Meetup: How Glue uses AWS
NYC Amazon Web Services Meetup: How Glue uses AWS
 
The Art & Sience of Optimization
The Art & Sience of OptimizationThe Art & Sience of Optimization
The Art & Sience of Optimization
 
A Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual GameA Practical Architecture Design for MMO Casual Game
A Practical Architecture Design for MMO Casual Game
 
Denial of Service in Software Defined Netoworks
Denial of Service in Software Defined NetoworksDenial of Service in Software Defined Netoworks
Denial of Service in Software Defined Netoworks
 
Balancing Replication and Partitioning in a Distributed Java Database
Balancing Replication and Partitioning in a Distributed Java DatabaseBalancing Replication and Partitioning in a Distributed Java Database
Balancing Replication and Partitioning in a Distributed Java Database
 
AWS Summit 2011: AWS 101 Overview
AWS Summit 2011: AWS 101 OverviewAWS Summit 2011: AWS 101 Overview
AWS Summit 2011: AWS 101 Overview
 

More from Michael Rys

Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...
Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...
Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...Michael Rys
 
Big Data Processing with .NET and Spark (SQLBits 2020)
Big Data Processing with .NET and Spark (SQLBits 2020)Big Data Processing with .NET and Spark (SQLBits 2020)
Big Data Processing with .NET and Spark (SQLBits 2020)Michael Rys
 
Running cost effective big data workloads with Azure Synapse and ADLS (MS Ign...
Running cost effective big data workloads with Azure Synapse and ADLS (MS Ign...Running cost effective big data workloads with Azure Synapse and ADLS (MS Ign...
Running cost effective big data workloads with Azure Synapse and ADLS (MS Ign...Michael Rys
 
Running cost effective big data workloads with Azure Synapse and Azure Data L...
Running cost effective big data workloads with Azure Synapse and Azure Data L...Running cost effective big data workloads with Azure Synapse and Azure Data L...
Running cost effective big data workloads with Azure Synapse and Azure Data L...Michael Rys
 
Big Data Processing with Spark and .NET - Microsoft Ignite 2019
Big Data Processing with Spark and .NET - Microsoft Ignite 2019Big Data Processing with Spark and .NET - Microsoft Ignite 2019
Big Data Processing with Spark and .NET - Microsoft Ignite 2019Michael Rys
 
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...Michael Rys
 
Building data pipelines for modern data warehouse with Apache® Spark™ and .NE...
Building data pipelines for modern data warehouse with Apache® Spark™ and .NE...Building data pipelines for modern data warehouse with Apache® Spark™ and .NE...
Building data pipelines for modern data warehouse with Apache® Spark™ and .NE...Michael Rys
 
Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...
Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...
Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...Michael Rys
 
Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...
Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...
Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...Michael Rys
 
Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...
Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...
Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...Michael Rys
 
Best practices on Building a Big Data Analytics Solution (SQLBits 2018 Traini...
Best practices on Building a Big Data Analytics Solution (SQLBits 2018 Traini...Best practices on Building a Big Data Analytics Solution (SQLBits 2018 Traini...
Best practices on Building a Big Data Analytics Solution (SQLBits 2018 Traini...Michael Rys
 
U-SQL Killer Scenarios: Custom Processing, Big Cognition, Image and JSON Proc...
U-SQL Killer Scenarios: Custom Processing, Big Cognition, Image and JSON Proc...U-SQL Killer Scenarios: Custom Processing, Big Cognition, Image and JSON Proc...
U-SQL Killer Scenarios: Custom Processing, Big Cognition, Image and JSON Proc...Michael Rys
 
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)Michael Rys
 
U-SQL Killer Scenarios: Taming the Data Science Monster with U-SQL and Big Co...
U-SQL Killer Scenarios: Taming the Data Science Monster with U-SQL and Big Co...U-SQL Killer Scenarios: Taming the Data Science Monster with U-SQL and Big Co...
U-SQL Killer Scenarios: Taming the Data Science Monster with U-SQL and Big Co...Michael Rys
 
The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)
The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)
The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)Michael Rys
 
Introducing U-SQL (SQLPASS 2016)
Introducing U-SQL (SQLPASS 2016)Introducing U-SQL (SQLPASS 2016)
Introducing U-SQL (SQLPASS 2016)Michael Rys
 
Tuning and Optimizing U-SQL Queries (SQLPASS 2016)
Tuning and Optimizing U-SQL Queries (SQLPASS 2016)Tuning and Optimizing U-SQL Queries (SQLPASS 2016)
Tuning and Optimizing U-SQL Queries (SQLPASS 2016)Michael Rys
 
Taming the Data Science Monster with A New ‘Sword’ – U-SQL
Taming the Data Science Monster with A New ‘Sword’ – U-SQLTaming the Data Science Monster with A New ‘Sword’ – U-SQL
Taming the Data Science Monster with A New ‘Sword’ – U-SQLMichael Rys
 
Killer Scenarios with Data Lake in Azure with U-SQL
Killer Scenarios with Data Lake in Azure with U-SQLKiller Scenarios with Data Lake in Azure with U-SQL
Killer Scenarios with Data Lake in Azure with U-SQLMichael Rys
 
ADL/U-SQL Introduction (SQLBits 2016)
ADL/U-SQL Introduction (SQLBits 2016)ADL/U-SQL Introduction (SQLBits 2016)
ADL/U-SQL Introduction (SQLBits 2016)Michael Rys
 

More from Michael Rys (20)

Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...
Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...
Big Data and Data Warehousing Together with Azure Synapse Analytics (SQLBits ...
 
Big Data Processing with .NET and Spark (SQLBits 2020)
Big Data Processing with .NET and Spark (SQLBits 2020)Big Data Processing with .NET and Spark (SQLBits 2020)
Big Data Processing with .NET and Spark (SQLBits 2020)
 
Running cost effective big data workloads with Azure Synapse and ADLS (MS Ign...
Running cost effective big data workloads with Azure Synapse and ADLS (MS Ign...Running cost effective big data workloads with Azure Synapse and ADLS (MS Ign...
Running cost effective big data workloads with Azure Synapse and ADLS (MS Ign...
 
Running cost effective big data workloads with Azure Synapse and Azure Data L...
Running cost effective big data workloads with Azure Synapse and Azure Data L...Running cost effective big data workloads with Azure Synapse and Azure Data L...
Running cost effective big data workloads with Azure Synapse and Azure Data L...
 
Big Data Processing with Spark and .NET - Microsoft Ignite 2019
Big Data Processing with Spark and .NET - Microsoft Ignite 2019Big Data Processing with Spark and .NET - Microsoft Ignite 2019
Big Data Processing with Spark and .NET - Microsoft Ignite 2019
 
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
 
Building data pipelines for modern data warehouse with Apache® Spark™ and .NE...
Building data pipelines for modern data warehouse with Apache® Spark™ and .NE...Building data pipelines for modern data warehouse with Apache® Spark™ and .NE...
Building data pipelines for modern data warehouse with Apache® Spark™ and .NE...
 
Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...
Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...
Modernizing ETL with Azure Data Lake: Hyperscale, multi-format, multi-platfor...
 
Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...
Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...
Best Practices and Performance Tuning of U-SQL in Azure Data Lake (SQL Konfer...
 
Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...
Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...
Bring your code to explore the Azure Data Lake: Execute your .NET/Python/R co...
 
Best practices on Building a Big Data Analytics Solution (SQLBits 2018 Traini...
Best practices on Building a Big Data Analytics Solution (SQLBits 2018 Traini...Best practices on Building a Big Data Analytics Solution (SQLBits 2018 Traini...
Best practices on Building a Big Data Analytics Solution (SQLBits 2018 Traini...
 
U-SQL Killer Scenarios: Custom Processing, Big Cognition, Image and JSON Proc...
U-SQL Killer Scenarios: Custom Processing, Big Cognition, Image and JSON Proc...U-SQL Killer Scenarios: Custom Processing, Big Cognition, Image and JSON Proc...
U-SQL Killer Scenarios: Custom Processing, Big Cognition, Image and JSON Proc...
 
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
 
U-SQL Killer Scenarios: Taming the Data Science Monster with U-SQL and Big Co...
U-SQL Killer Scenarios: Taming the Data Science Monster with U-SQL and Big Co...U-SQL Killer Scenarios: Taming the Data Science Monster with U-SQL and Big Co...
U-SQL Killer Scenarios: Taming the Data Science Monster with U-SQL and Big Co...
 
The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)
The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)
The Road to U-SQL: Experiences in Language Design (SQL Konferenz 2017 Keynote)
 
Introducing U-SQL (SQLPASS 2016)
Introducing U-SQL (SQLPASS 2016)Introducing U-SQL (SQLPASS 2016)
Introducing U-SQL (SQLPASS 2016)
 
Tuning and Optimizing U-SQL Queries (SQLPASS 2016)
Tuning and Optimizing U-SQL Queries (SQLPASS 2016)Tuning and Optimizing U-SQL Queries (SQLPASS 2016)
Tuning and Optimizing U-SQL Queries (SQLPASS 2016)
 
Taming the Data Science Monster with A New ‘Sword’ – U-SQL
Taming the Data Science Monster with A New ‘Sword’ – U-SQLTaming the Data Science Monster with A New ‘Sword’ – U-SQL
Taming the Data Science Monster with A New ‘Sword’ – U-SQL
 
Killer Scenarios with Data Lake in Azure with U-SQL
Killer Scenarios with Data Lake in Azure with U-SQLKiller Scenarios with Data Lake in Azure with U-SQL
Killer Scenarios with Data Lake in Azure with U-SQL
 
ADL/U-SQL Introduction (SQLBits 2016)
ADL/U-SQL Introduction (SQLBits 2016)ADL/U-SQL Introduction (SQLBits 2016)
ADL/U-SQL Introduction (SQLBits 2016)
 

Recently uploaded

CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...RKavithamani
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 

Recently uploaded (20)

CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 

Scaling with SQL Server and SQL Azure Federations

  • 3. MySpace: the Business Problem  223M users  900 Terabytes of data  450 SQL Servers  Required (eventual) data consistency across databases
  • 4. MySpace’s Data Consistency Problem 1-1000 1001-2000 2001-3000 3001-4000 4001-5000 5001-6000
  • 5. MySpace’s Solution  Propagate data changes from one DB to other DBs using reliable, async Message Service (Service Broker)  And also used for
  • 6. MySpace’s Service Dispatcher  Coordination point between all SQL Servers  Load-balanced across 30 SQL Servers  Enables multicast/broadcast functionality  18,000 ~2k msgs/sec per dispatcher SQL Server
  • 7. MySpace Architecture 1-1000 3001-4000 My DB I change gets updated my status Service Service TX3 Broker TX2 TX1 Dispatcher Service userId=1024 Broker 2001-3000 Service 1001-2000 Broker TX4 TX5 4001-5000 5001-6000 Web Tier Data Tier
  • 8. Many other customers using similar patterns  Online electronic stores (cannot give names )  Travel reservation systems (e.g. Choice International)
  • 9.
  • 11. Social Social Networks Network Management s Ops Services Data Backend Data Backend Services Data Backend Services Services MSN MSN Games Games l Web Portal Front Door GameBar Router WLM Services WLM Games Host Games Web Portal Bing Bing Auth Games STS STS Games l Web Portal Azure Data Centers
  • 13.
  • 15. Partitioned over 100 SQL Azure DBs Find Friends’ Profiles Social Get my Profile Social Services User … DB Service Publish feed, read feed Find Friends’ Profiles Get Friends highscores Gamer Last Played Gamer Services Favorites STS Services Game Preferences STS Leaderb … Social Leaderboards DB oard Partitioned over 298 SQL Azure DBs Game Game Disable/Enable Ingestion Games from Front Door Write user specific game infos Ingestion accessing services Router Services Game Game binaries User … DB Catalog Game metadata 250 instances Partitioned over 100 SQL Azure DBs 250 instances
  • 16. • Fanout: Parallel calls to multiple database partitions • Quorum: Able to tolerate a percentage of request failures during Fanout • Retry: Retry on database requests error
  • 23. Readable Replica Primary Shard Readable Replica Dynamic OLAP Workloads (Scale-out queries, OLTP Workloads often using (mostly touching 1 to eventual consistent Readable scale-out low number of shards) Replica frameworks like Hadoop) Primary Shard Readable Replica Readable Replica Primary Shard Readable Replica
  • 25. Federation Azure DB with Federation Root Represents the data being sharded  Federation Root Federation Directories, Federation Users, Database that logically houses federations, contains federation meta data Federation Distributions, …  Federation Key Value that determines the routing of a piece of data (defines a Federation Distribution)  Federation Member (aka Shard) Federation “Orders_Fed” A physical container for a set of federated (Federation Key: CustomerID) tables for a specific key range and reference tables Member: PK [min, 100)  Federated Table Table that contains only atomic units for the AU AU AU member’s key range PK=5 PK=25 PK=35  Reference Table Non-sharded table  Atomic Unit Member: PK [100, 488) All rows with the same federation key value: always together! AU AU AU Connection PK=105 PK=235 PK=365 Gateway Member: PK [488, max) AU AU AU Sharded PK=555 PK=2545 PK=3565 Application 25
  • 28. http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseSt udyID=4000008310  http://cacm.acm.org/magazines/2011/6/108663- scalable-sql http://download.microsoft.com/download/9/E/9/9E9F240D-0EB6-472E- B4DE- 6D9FCBB505DD/Windows%20Azure%20No%20SQL%20White%20Paper.p df http://blogs.msdn.com/b/cbiyikoglu/archive/2011/03/03/nosql-genes-in- sql-azure-federations.aspx  mrys@microsoft.com http://sqlblog.com/blogs/michael_rys/default.aspx
  • 29.
  • 30. Connection: Server=az1cl321.db.windows.net; Database=MyDB; User=AppUser; Passwd=****; Gateway CREATE FEDERATION Existing Database CREATE FEDERATION sales (customer_id bigint RANGE) 30
  • 31. Federation with a Single Shard Existing Database CREATE FEDERATION sales (customer_id bigint RANGE) Database root contains: sales • Federation root = DB level object containing federation scheme Gateway • Federation users • Federation metadata incl. federation Connection: map Server=az1cl321.db.windows.net; Range: Min...Max Database=MyDB; User=AppUser; Passwd=****; Federation Member 31
  • 32. Introducing Two Connection Modes • Filtered Connection – Guarantees that any queries or DML will produce the same results independent of changes to the physical layout of the federation members – Scoped to an “Atomic Unit” • Unfiltered Connection – Scoped to a Federation Member – Management Connection 32
  • 33. Create Schema on Member: Management Connection Existing Database sales Gateway USE FEDEDERATION sales (customer_id=0) Connection: WITH FILTERING=OFF, RESET; Server=az1cl321.db.windows.net; CREATE TABLE … Range: Min...Max Customer Order Product Database=MyDB; User=AppUser; Passwd=****; Federation Member © 2011 Microsoft Corporation. Microsoft Materials - Confidential. All rights reserved. CITA # 33 MSFT101120_A
  • 34. DDL CREATE TABLE customer ( c_id bigint PRIMARY KEY, … ) FEDERATED ON (customer_id=c_id); CREATE TABLE order ( item_num int, customer_id bigint, date_sold datetime2, …, CONSTRAINT PK_Order PRIMARY KEY (item_num, customer_id, date_sold), CONSTRAINT FK_Cust FOREIGN KEY customer_id REFERENCES customer (customer_id) ) FEDERATED ON (customer_id=customer_id); CREATE TABLE product ( product_name varchar(100) NOT NULL, unit_price money, item_num int PRIMARY KEY, … ); 34
  • 35. More Detail • Supported data types for federation key : bigint, int, GUID, and varbinary (900) – Only range partitioning • Federation key must be part of unique index • Foreign key constraints only allowed between federated tables and from federated table to reference table • Not all Azure programmability features supported – Sequence, timestamp • Additional surface area restrictions – Indexed views, drop database (members) • Schemas are allowed to diverge over time – Furthermore, in v1, schema updates to existing members must be done in each member (where the change is needed) • USE FEDERATION “rewires a connection” – Connection is reestablished – All existing settings and context of the connection is lost (sp_reset_connection) – Must be in a batch by itself 35
  • 36. Connect to Atomic Unit: Filtered Existing Database When using into a specific key value, SELECT will only return sales records from federated tables that match that value. It will still return Gateway all records from non-federated tables. USE FEDEDERATION sales (customer_id=3) Connection: Inserts and UPDATES operating WITH FILTERING=ON, RESET; outside of the value will fail. Server=az1cl321.db.windows.net; Range: Min...Max customer order product 3 Database=MyDB; SELECT * from customer 3 User=AppUser; Passwd=****; SELECT * from product SELECT * from order Federation Member 36
  • 37. More on Connection Filtering • Most operations behave differently in filtered vs unfiltered connections • Connection filtering is a property of the session – Filter injected dynamically at runtime – Cannot inspect source code to determine how it behaves • E.g., running stored proc written for filtered mode on unfiltered connection could lead to unintended results • There are several operations that will not work in filtered connection in v1 – DDL, DML on reference tables, … • Fan-out, bulk operations not efficient in filtered mode – For now, filter=off is our best offer 37
  • 38. Support Matrix Connection Type Filtered Unfiltered Named Operation (unfiltered) Dynamic SELECT P P P DML* (federated tables) P P P DML* (reference tables) X P P DDL X P P Views (not indexed) P P P UDF - activate P P P Stored Proc - activate P P P Trigger (all modes) - activate P P P CREATE/UPDATE Stats X P P Bulk Ops openrowset bulk, bcp, bulk insert X P P * not including SELECT & modules ^ autostats will work on all connections System stored procs, intrinsics will be unaffected (run unfiltered) 38
  • 39. Splitting a Member Existing Database ALTER FEDERATION sales sales SPLIT AT (customer_id=50) Gateway USE FEDERATION ROOT Connection: WITH RESET Using to the Server=az1cl321.db.windows.net; federation ROOT will pop you out of a member back Range: Min...Max into the database that hosts the customer order product federation 3 3 Database=MyDB; User=AppUser; Passwd=****; 40 58 58 58 Federation Member 39
  • 40. Two New Members Existing Database ALTER FEDERATION sales sales SPLIT AT (customer_id=50) Gateway USE FEDEDERATION ROOT WITH RESET Connection: Server=az1cl321.db.windows.net; Range: Min...50 Range: 51...Max customer order product customer order product 3 Database=MyDB; 3 User=AppUser; 58 Passwd=****; 40 58 58 Federation Member Federation Member 40
  • 41. Two New Members Existing Database sales Gateway USE FEDEDERATION sales (customer_id=40) Connection: WITH FILTERING=ON, RESET; Server=az1cl321.db.windows.net; Range: Min...50 Range: 51...Max customer order product customer order product Database=MyDB; SELECT * User=AppUser; 58 Passwd=****; from customer 40 40 58 58 SELECT * from order 41

Editor's Notes

  1. 3000 web servers WS2003 IISThere is an app tier between the data and the web tier (not shown to focus on the partitioning aspect).A component in the app tier uses the partitioning function to connect to the relevant database in the data tier
  2. For multicast/broadcast and feedback functionality: messages include a header (as part of the payload) that contains the target list and the initiator database
  3. MyDB sends a message with my status change and a target list specifying the DBs that store my friends data.The Service Dispatcher forwards the message these DBs.Each DB processes the message updating my status in a partitioned tableTalk about other MySpace scenarios: Clean state (e.g. on account close) Deploy business logic (stored procedures)
  4. 250 Router Services
  5. Note: Big-sized companies invest resources in building these platforms instead of using existing relational platforms!
  6. Note: Big-sized companies invest resources in building these platforms instead of using existing relational platforms!
  7. Performance and Scale:Map/Reduce PatternsEventual consistency (trade-off due to CAP)ShardingCachingAutomate management Lifecycle:Elastic Scale on demand (no need to pay for resources until needed)Automatic Fail-overScalable Schema version rolloutPerf troubleshootingAuto alertingAuto loadbalancingAuto resourcing (e.g., auto splits based on policies)Declarative policy-based management
  8. Code First and revise quicklyWorking software over comprehensive documentationResponding to change over following a planApplication-model first (before database) Dictates the data model and queriesFlexible data modelsNo a priori modeling: Data first, schema later/Open SchemaKey/Value storesReduced impedance mismatch: JSON, XML, YAMLYou don’t know exactly what you are looking forMap/Reduce for adhoc analysisProvide Search across all your data instead of just queryLower Pain of adoption and maintenance From code to deployment & “monetization” of data, services, apps and tenantsRich Services out of the BoxData and services mashupEasy troubleshooting of deployed appsNo DB or OS Admin telling me what to do
  9. Update syntax