SlideShare a Scribd company logo
1 of 24
Download to read offline
SQL and NoSQL
in the Context of SQL Server
Michael Rys
Program Manager, Microsoft Corp.
@SQLServerMike
Key Session Takeaways

 Scaling your Business is important
 What are the NoSQL paradigms
 You can use NoSQL Paradigms with SQL
  Server and SQL Azure
 We are working on moving the paradigms
  into SQL Server
The Web 2.0 Business Architecture


Attract Individual
Consumers:
- Provide interesting
  service
- Provide mobility
- Provide social

Monetize Individual:
- Upsell service
                          Online      Monetize the Social:
                                      - Improve individual
    - VIP
    - Speed
                         Business       experience
                                      - Re-sell Aggregate Data
    - Extra
       Capabilities
                        Application     (e.g., Advertisers)
Social Networking: the Business Problem
 100s of million of users
   10s of million of users
    concurrently
 Terabytes to petabytes of
  data
   Structured and unstructured
 Required (eventual) data
  consistency across users
   E.g. show your updated state
    in your friends’ profile pages
Solution
 Shard/Partition user data across
  hundreds to thousands of SQL
  Databases
 Propagate data changes using
  reliable, async Message Service
    No Global Transactions! Hinder scale
     and availability!
 Provide a caching layer for
  performance
 Also used for
       Clean-up state (e.g. on account close)
       Deploy business logic (stored procedures)
Example Architecture (MySpace.com)



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

    TX4            TX5

4001-5000      5001-6000                                    Web Tier
              Data Tier
Many Large Scale Customers using Similar Patterns

 Patterns
   Sharding and reliable messaging
   Sharding and fan/out query layer
   Caching layer

 Customer Examples
     Social Networking: Facebook, MySpace, etc
     Online electronic stores (cannot give names )
     Travel reservation systems (e.g. Choice International)
     MSN Casual Gaming
     etc.
Lessons Learned from these Scenarios

 Require high availability
 Be able to scale out
    Functional and Data Partitioning Architecture
    Provide scale-out processing
    Be able to deal with failures
 Be able to quickly grow and change
    Elastic scale
    Flexible, open schema
    Multi-version schema support

Move better support for these patterns into the Data
Platform!
What is NoSQL about?
 NoSQL = operational and developer agility at low CapEx and OpEx!
 Low Cost
    Free Software and Support
    Scale CapEx cost below customer growth rate
    Web friendly developer model and tool chain, Easy to use
 Processing Paradigms
      High Availability
      Data and Processing Scale-out
      Performance
      Tunable/Eventual Consistency
 Data Model Paradigms
    Data first: Flexible Schema
    Low-impedance mismatch between programming and data model
From devices, over OLTP Web 2.0 applications to BigData Analytics
Data Models
Data Model                  Example Stores
Simple Key-Value Pairs      Memcache, Redis, Dynamo, Voldermort, LevelDB,
                            Azure Caching
Wide Sparse Column Sets     HyperTable, Big Table, Cassandra, HBASE,
                            Hyperbase, Amazon DynamoDB, Windows Azure
                            Tables, SQL Server/Azure Sparse columns
BLOBs                       Amazon S3, Oracle Berkeley NoSQL, Windows
                            Azure Blob Store, SQL Server RBS/FileTable
JSON Documents              MongoDB, CouchBase, Riak, RavenDB
Graph                       Neo4J, GraphDB, HypergraphDB, Stig,
                            Intellidimension
Objects and XML Documents   Versant, Oracle Berkeley NoSQL, MarkLogic,
                            existDB, EMC HiveDB, SQL Server/Azure, Oracle,
                            IBM DB2
Extended Relational         Oracle, EMC SQLFire, IBM DB2, MySQL, Postgres,
                            SQL Server/Azure/Parallel DW
Operational Agility
 You want:
   Availability of service (scalability)
   Global consistency
   Network Partition Tolerance
 You can only get 2 of 3 (CAP Theorem)
 In Brave New World:
     Online businesses need availability
     It is distributed, because it is big
     thus Network Partitioning is unavoidable
     Hence global consistency must be relaxed
      → BASE vs ACID
BASE vs ACID Consistency
 ACID :
  Atomicity, Consistency, Isolation, Durability
    Full Serializability provides all 4
    Distributed transactions providing all 4 limits
     service availability, throughput and scalability
 BASE: Basically Available, Soft state, Eventual
  consistency
    Relaxes ACID properties to increase                          Replica
     availability, throughput and scalability
                                                        Primary
    Replica consistency:
                                                                  Replica
       Impacts recoverability
    Cross-node consistency:                                      Replica
       Impacts globally consistent view of the world
                                                        Primary
                                                                  Replica
Operational Agility
   Performance and Scale
   Automate management lifecycle (or fail)
   Simple deployment lifecycle
   No DB or OS Admin telling me what to do
Developer Agility

   Code First and revise quickly
   Application-model first (before database)
   Flexible open data models
   You don’t know exactly what you are looking for
   Lower Pain of adoption and maintenance
   No DB or OS Admin telling me what to do
NoSQL and BigData: Two sides of the same coin

  BigData:
    Origin: large unstructured data processing
     (sensor data, scientific research, web stream analysis)
    Analytics focused (“new” OLAP, Map-Reduce, Hadoop)
    Scale-out data and processing paradigm at low cost
  NoSQL:
    Origin: developing agile, scalable web applications
    Realtime customer transaction focused (“new” OLTP)
    Scale-out data and processing paradigm with flexible
     data model at low cost
  Both use many of the same paradigms
The Web 2.0 Business Architecture


Attract Individual
Consumers:
- Provide interesting
  service
- Provide mobility
- Provide social

Monetize Individual:
- Upsell service
                          Online      Monetize the Social:
                                      - Improve individual
    - VIP
    - Speed
                         Business       experience
                                      - Re-sell Aggregate Data
    - Extra
       Capabilities
                        Application     (e.g., Advertisers)
Scale-Out Data PLATFORM Architecture

                              Readable
                               Replica

                    Primary              Copy
                     Shard

OLTP Workloads                Readable
                               Replica
                                                 Traditional OLAP Workloads
Highly Available
                                                 known schema
High Scale
                                                 Data warehouse, “Star joins”
High Flexibility              Readable
                               Replica
mostly touching 1   Primary
to low number of     Shard                       Dynamic OLAP Workloads
shards                        Readable
                               Replica           3Vs (Volume, Velocity, Variety)
                                                 Exploratory

                              Readable           Scale-out queries, often using
                               Replica           eventual consistent scale-out
                                                 frameworks like Hadoop
                    Primary
                     Shard               Query
                              Readable
                               Replica
What does SQL Server provide today?
   Scale-programming models
        Service Broker provides:
              Functional, service-oriented architecture
              Scale out on demand
              Async reliable messaging provides for true eventual consistency
        SQL Azure Federations provides Sharding support
        Distributed Queries
        SQL Server Parallel Data Warehouse
   Programmer Agility
        XML, XQuery for XML documents
        FileTable for documents (but what is equivalent solution in the cloud?)
        Open Schema: Sparse Columns and column sets (but still schema first)
        CLR extensibility, but
              No indexing, bad cost-models
              Difficult to deploy (and DB Admins often do not allow it!)
   Failure Resilience
        SQL Azure has local automatic HA, self-healing
   Rich Services
        Semantic Extraction and Similarity Search in SQL Server 2012
   DB/OS Admin “interference”
        SQL Azure: Self-maintaining and Self-provisioning
Introducing SQL Azure Federations

 Provides Data Partitioning/Sharding
  at the Data Platform
 Enables applications to build elastic
  scale-out applications
 Provides non-blocking SPLIT/DROP for
  shards (MERGE to come later)
 Auto-connect to right shard based on
  sharding keyvalue
 Provides SPLIT resilient query mode
SQL Azure Federation Concepts
 Federation
                                                              Azure DB with Federation Root
         Represents the data being sharded
 Federation Root                                             Federation Directories, Federation
         Database that logically houses                       Users, Federation Distributions, …
         federations, contains federation meta data
 Federation Key
         Value that determines the routing of a piece         Federation “Orders_Fed”
         of data (defines a Federation Distribution)          (Federation Key: CustomerID)
 Federation Member (aka Shard)
         Physical container for a set of federated
         tables of a specific key range and reference               Member: PK [min, 100)
         tables
 Atomic Unit                                                     AU
                                                                 PK=5
                                                                               AU
                                                                              PK=25
                                                                                          AU
                                                                                         PK=35
         All rows with the same federation
         key value: always together!
 Federated Table
                                                                     Member: PK [100, 488)
         Table that contains only atomic units
         for the member’s key range
                                                                   AU           AU          AU

                                                 Connection


    Reference Table                                              PK=105       PK=235      PK=365
                                                  Gateway




         Non-sharded table

                                                                    Member: PK [488, max)

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

    20                       Application
Demo
Map-Reduce scale-out
over SQL Azure Federations
SQL Azure: A Not Only SQL Data Platform
SQL Azure adds support for NoSQL paradigms in the data platform:
   No CapEx, Low OpEx (which should/will be even lower )
   High-Availability (each DB has two replicas)
   Sharding support with federations:
      Data platform provides online SPLIT/DROP
      Filtered connection to provide split resilient programming model
   Flexible Data Models:
      XML support
      Sparse columns/Column sets
   More to come in the future…
        More scale and tunable HA (to support OLTP/OLAP model)
        Taking Federations further (orthogonality, merge, fanout)
        Integration with Hadoop eco-system
        More data-first (data-driven columnsets, JSON)
Call to Action

 Download the Presentation from:
  http://www.slideshare.net/MichaelRys/presentations
 Fill out SQL Azure Federation Survey:
  http://connect.microsoft.com/BusinessPlatform/Survey/S
  urvey.aspx?SurveyID=13625
Related Content
   Related Whitepapers and Presentations:
        CACM: Scalable SQL: http://cacm.acm.org/magazines/2011/6/108663-scalable-sql
        NoSQL and the Windows Azure Platform:
         http://download.microsoft.com/download/9/E/9/9E9F240D-0EB6-472E-B4DE-
         6D9FCBB505DD/Windows%20Azure%20No%20SQL%20White%20Paper.pdf
        SQL Federation blog: http://blogs.msdn.com/b/cbiyikoglu/archive/2011/03/03/nosql-genes-in-
         sql-azure-federations.aspx
      Windows Gaming Experience Case Study:
       http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4
       000008310
      NoSQL Presentations: http://www.slideshare.net/MichaelRys/presentations

   Contact me:
        mrys@microsoft.com
        @SQLServerMike
        http://sqlblog.com/blogs/michael_rys/default.aspx

More Related Content

What's hot

Design Concepts For Xml Applications That Will Perform
Design Concepts For Xml Applications That Will PerformDesign Concepts For Xml Applications That Will Perform
Design Concepts For Xml Applications That Will PerformMarco Gralike
 
Eo gaddis java_chapter_16_5e
Eo gaddis java_chapter_16_5eEo gaddis java_chapter_16_5e
Eo gaddis java_chapter_16_5eGina Bullock
 
White paper for High Performance Messaging App Dev with Oracle AQ
White paper for High Performance Messaging App Dev with Oracle AQWhite paper for High Performance Messaging App Dev with Oracle AQ
White paper for High Performance Messaging App Dev with Oracle AQJeff Jacobs
 
Easy Data Object Relational Mapping Tool
Easy Data Object Relational Mapping ToolEasy Data Object Relational Mapping Tool
Easy Data Object Relational Mapping ToolHasitha Guruge
 
B.Vinithamani,II-M.sc.,Computer science,Bon Secours college for women,thanjavur.
B.Vinithamani,II-M.sc.,Computer science,Bon Secours college for women,thanjavur.B.Vinithamani,II-M.sc.,Computer science,Bon Secours college for women,thanjavur.
B.Vinithamani,II-M.sc.,Computer science,Bon Secours college for women,thanjavur.vinithamaniB
 
HIgh Performance Messaging App Development with Oracle Advance Queuing
HIgh Performance Messaging App Development with Oracle Advance QueuingHIgh Performance Messaging App Development with Oracle Advance Queuing
HIgh Performance Messaging App Development with Oracle Advance QueuingJeff Jacobs
 
Intro to T-SQL - 1st session
Intro to T-SQL - 1st sessionIntro to T-SQL - 1st session
Intro to T-SQL - 1st sessionMedhat Dawoud
 
A comparison between several no sql databases with comments and notes
A comparison between several no sql databases with comments and notesA comparison between several no sql databases with comments and notes
A comparison between several no sql databases with comments and notesJoão Gabriel Lima
 
Ogh Ace Case, Part 1 and 2, Oracle Xml Database, Marco Gralike
Ogh Ace Case, Part 1 and 2, Oracle Xml Database, Marco GralikeOgh Ace Case, Part 1 and 2, Oracle Xml Database, Marco Gralike
Ogh Ace Case, Part 1 and 2, Oracle Xml Database, Marco GralikeMarco Gralike
 
Database Programming Techniques
Database Programming TechniquesDatabase Programming Techniques
Database Programming TechniquesRaji Ghawi
 
Data Migration with Spark to Hive
Data Migration with Spark to HiveData Migration with Spark to Hive
Data Migration with Spark to HiveDatabricks
 
UKOUG 2010 (Birmingham) - XML Indexing strategies - Choosing the Right Index ...
UKOUG 2010 (Birmingham) - XML Indexing strategies - Choosing the Right Index ...UKOUG 2010 (Birmingham) - XML Indexing strategies - Choosing the Right Index ...
UKOUG 2010 (Birmingham) - XML Indexing strategies - Choosing the Right Index ...Marco Gralike
 
Developing Dynamic Reports for TMS Using Crystal Reports
Developing Dynamic Reports for TMS Using Crystal ReportsDeveloping Dynamic Reports for TMS Using Crystal Reports
Developing Dynamic Reports for TMS Using Crystal ReportsChad Petrovay
 
New T-SQL Features in SQL Server 2012
New T-SQL Features in SQL Server 2012 New T-SQL Features in SQL Server 2012
New T-SQL Features in SQL Server 2012 Richie Rump
 

What's hot (20)

Design Concepts For Xml Applications That Will Perform
Design Concepts For Xml Applications That Will PerformDesign Concepts For Xml Applications That Will Perform
Design Concepts For Xml Applications That Will Perform
 
Oracle SQL Basics
Oracle SQL BasicsOracle SQL Basics
Oracle SQL Basics
 
Eo gaddis java_chapter_16_5e
Eo gaddis java_chapter_16_5eEo gaddis java_chapter_16_5e
Eo gaddis java_chapter_16_5e
 
MYSQL.ppt
MYSQL.pptMYSQL.ppt
MYSQL.ppt
 
White paper for High Performance Messaging App Dev with Oracle AQ
White paper for High Performance Messaging App Dev with Oracle AQWhite paper for High Performance Messaging App Dev with Oracle AQ
White paper for High Performance Messaging App Dev with Oracle AQ
 
Easy Data Object Relational Mapping Tool
Easy Data Object Relational Mapping ToolEasy Data Object Relational Mapping Tool
Easy Data Object Relational Mapping Tool
 
B.Vinithamani,II-M.sc.,Computer science,Bon Secours college for women,thanjavur.
B.Vinithamani,II-M.sc.,Computer science,Bon Secours college for women,thanjavur.B.Vinithamani,II-M.sc.,Computer science,Bon Secours college for women,thanjavur.
B.Vinithamani,II-M.sc.,Computer science,Bon Secours college for women,thanjavur.
 
HIgh Performance Messaging App Development with Oracle Advance Queuing
HIgh Performance Messaging App Development with Oracle Advance QueuingHIgh Performance Messaging App Development with Oracle Advance Queuing
HIgh Performance Messaging App Development with Oracle Advance Queuing
 
Intro to T-SQL - 1st session
Intro to T-SQL - 1st sessionIntro to T-SQL - 1st session
Intro to T-SQL - 1st session
 
Module02
Module02Module02
Module02
 
A comparison between several no sql databases with comments and notes
A comparison between several no sql databases with comments and notesA comparison between several no sql databases with comments and notes
A comparison between several no sql databases with comments and notes
 
Ogh Ace Case, Part 1 and 2, Oracle Xml Database, Marco Gralike
Ogh Ace Case, Part 1 and 2, Oracle Xml Database, Marco GralikeOgh Ace Case, Part 1 and 2, Oracle Xml Database, Marco Gralike
Ogh Ace Case, Part 1 and 2, Oracle Xml Database, Marco Gralike
 
Database Programming Techniques
Database Programming TechniquesDatabase Programming Techniques
Database Programming Techniques
 
T-SQL Overview
T-SQL OverviewT-SQL Overview
T-SQL Overview
 
Sql server T-sql basics ppt-3
Sql server T-sql basics  ppt-3Sql server T-sql basics  ppt-3
Sql server T-sql basics ppt-3
 
Data Migration with Spark to Hive
Data Migration with Spark to HiveData Migration with Spark to Hive
Data Migration with Spark to Hive
 
Chapter 1 introduction to sql server
Chapter 1 introduction to sql serverChapter 1 introduction to sql server
Chapter 1 introduction to sql server
 
UKOUG 2010 (Birmingham) - XML Indexing strategies - Choosing the Right Index ...
UKOUG 2010 (Birmingham) - XML Indexing strategies - Choosing the Right Index ...UKOUG 2010 (Birmingham) - XML Indexing strategies - Choosing the Right Index ...
UKOUG 2010 (Birmingham) - XML Indexing strategies - Choosing the Right Index ...
 
Developing Dynamic Reports for TMS Using Crystal Reports
Developing Dynamic Reports for TMS Using Crystal ReportsDeveloping Dynamic Reports for TMS Using Crystal Reports
Developing Dynamic Reports for TMS Using Crystal Reports
 
New T-SQL Features in SQL Server 2012
New T-SQL Features in SQL Server 2012 New T-SQL Features in SQL Server 2012
New T-SQL Features in SQL Server 2012
 

Viewers also liked

Introduction To Work Item Customisation
Introduction To Work Item CustomisationIntroduction To Work Item Customisation
Introduction To Work Item Customisationwbarthol
 
Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]Louis Göhl
 
Understanding AzMan In Hyper-V
Understanding AzMan In Hyper-VUnderstanding AzMan In Hyper-V
Understanding AzMan In Hyper-VLai Yoong Seng
 
Windows Server 2008 R2 Hyper-V SP1 Component Architecture
Windows Server 2008 R2 Hyper-V SP1 Component Architecture Windows Server 2008 R2 Hyper-V SP1 Component Architecture
Windows Server 2008 R2 Hyper-V SP1 Component Architecture Tũi Wichets
 
Rodc features
Rodc featuresRodc features
Rodc featurespothurajr
 
Class graph neo4j and software metrics
Class graph neo4j and software metricsClass graph neo4j and software metrics
Class graph neo4j and software metricsjexp
 
Getting Started With The TFS API
Getting Started With The TFS APIGetting Started With The TFS API
Getting Started With The TFS APIwbarthol
 
Attacking Web Applications
Attacking Web ApplicationsAttacking Web Applications
Attacking Web ApplicationsSasha Goldshtein
 
Storage and hyper v - the choices you can make and the things you need to kno...
Storage and hyper v - the choices you can make and the things you need to kno...Storage and hyper v - the choices you can make and the things you need to kno...
Storage and hyper v - the choices you can make and the things you need to kno...Louis Göhl
 
Managing Hyper-V With PowerShell
Managing Hyper-V With PowerShellManaging Hyper-V With PowerShell
Managing Hyper-V With PowerShellRavikanth Chaganti
 
Network analysis with Hadoop and Neo4j
Network analysis with Hadoop and Neo4jNetwork analysis with Hadoop and Neo4j
Network analysis with Hadoop and Neo4jfvanvollenhoven
 
Hyper-V Best Practices & Tips and Tricks
Hyper-V Best Practices & Tips and TricksHyper-V Best Practices & Tips and Tricks
Hyper-V Best Practices & Tips and TricksAmit Gatenyo
 
DeltaV Development Systems in a Virtualized Environment
DeltaV Development Systems in a Virtualized EnvironmentDeltaV Development Systems in a Virtualized Environment
DeltaV Development Systems in a Virtualized EnvironmentEmerson Exchange
 
Master the Mystery and Marvels of DeltaV MPC
Master the Mystery and Marvels of DeltaV MPCMaster the Mystery and Marvels of DeltaV MPC
Master the Mystery and Marvels of DeltaV MPCEmerson Exchange
 
Building The Virtual Plant For DeltaV
Building The Virtual Plant For DeltaVBuilding The Virtual Plant For DeltaV
Building The Virtual Plant For DeltaVJim Cahill
 
Thinking Outside the Table
Thinking Outside the TableThinking Outside the Table
Thinking Outside the TableOntotext
 
Hyper V And Scvmm Best Practis
Hyper V And Scvmm Best PractisHyper V And Scvmm Best Practis
Hyper V And Scvmm Best PractisBlauge
 
Microsoft Test Manager
Microsoft Test ManagerMicrosoft Test Manager
Microsoft Test ManagerMitchDenny
 

Viewers also liked (19)

Introduction To Work Item Customisation
Introduction To Work Item CustomisationIntroduction To Work Item Customisation
Introduction To Work Item Customisation
 
Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]
 
Understanding AzMan In Hyper-V
Understanding AzMan In Hyper-VUnderstanding AzMan In Hyper-V
Understanding AzMan In Hyper-V
 
Windows Server 2008 R2 Hyper-V SP1 Component Architecture
Windows Server 2008 R2 Hyper-V SP1 Component Architecture Windows Server 2008 R2 Hyper-V SP1 Component Architecture
Windows Server 2008 R2 Hyper-V SP1 Component Architecture
 
Rodc features
Rodc featuresRodc features
Rodc features
 
Class graph neo4j and software metrics
Class graph neo4j and software metricsClass graph neo4j and software metrics
Class graph neo4j and software metrics
 
Getting Started With The TFS API
Getting Started With The TFS APIGetting Started With The TFS API
Getting Started With The TFS API
 
Attacking Web Applications
Attacking Web ApplicationsAttacking Web Applications
Attacking Web Applications
 
Storage and hyper v - the choices you can make and the things you need to kno...
Storage and hyper v - the choices you can make and the things you need to kno...Storage and hyper v - the choices you can make and the things you need to kno...
Storage and hyper v - the choices you can make and the things you need to kno...
 
Managing Hyper-V With PowerShell
Managing Hyper-V With PowerShellManaging Hyper-V With PowerShell
Managing Hyper-V With PowerShell
 
Network analysis with Hadoop and Neo4j
Network analysis with Hadoop and Neo4jNetwork analysis with Hadoop and Neo4j
Network analysis with Hadoop and Neo4j
 
Hyper-V Best Practices & Tips and Tricks
Hyper-V Best Practices & Tips and TricksHyper-V Best Practices & Tips and Tricks
Hyper-V Best Practices & Tips and Tricks
 
DeltaV Development Systems in a Virtualized Environment
DeltaV Development Systems in a Virtualized EnvironmentDeltaV Development Systems in a Virtualized Environment
DeltaV Development Systems in a Virtualized Environment
 
Master the Mystery and Marvels of DeltaV MPC
Master the Mystery and Marvels of DeltaV MPCMaster the Mystery and Marvels of DeltaV MPC
Master the Mystery and Marvels of DeltaV MPC
 
Building The Virtual Plant For DeltaV
Building The Virtual Plant For DeltaVBuilding The Virtual Plant For DeltaV
Building The Virtual Plant For DeltaV
 
Thinking Outside the Table
Thinking Outside the TableThinking Outside the Table
Thinking Outside the Table
 
Hyper V And Scvmm Best Practis
Hyper V And Scvmm Best PractisHyper V And Scvmm Best Practis
Hyper V And Scvmm Best Practis
 
Microsoft Test Manager
Microsoft Test ManagerMicrosoft Test Manager
Microsoft Test Manager
 
Improvements in Failover Clustering in Windows Server 2012
Improvements in Failover Clustering in Windows Server 2012Improvements in Failover Clustering in Windows Server 2012
Improvements in Failover Clustering in Windows Server 2012
 

Similar to SQL and NoSQL in the Context of SQL Server: Understanding Data Models and Scaling Techniques

Microsoft Openness Mongo DB
Microsoft Openness Mongo DBMicrosoft Openness Mongo DB
Microsoft Openness Mongo DBHeriyadi Janwar
 
Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2Amazon Web Services
 
GWAB 2015 - Data Plaraform
GWAB 2015 - Data PlaraformGWAB 2015 - Data Plaraform
GWAB 2015 - Data PlaraformMarcelo Paiva
 
Prague data management meetup 2018-03-27
Prague data management meetup 2018-03-27Prague data management meetup 2018-03-27
Prague data management meetup 2018-03-27Martin Bém
 
Azure data platform overview
Azure data platform overviewAzure data platform overview
Azure data platform overviewJames Serra
 
DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012Amazon Web Services
 
NOSQL Database: Apache Cassandra
NOSQL Database: Apache CassandraNOSQL Database: Apache Cassandra
NOSQL Database: Apache CassandraFolio3 Software
 
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...Felix Gessert
 
MySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion QueriesMySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion QueriesBernd Ocklin
 
Scalable Database Options on AWS
Scalable Database Options on AWSScalable Database Options on AWS
Scalable Database Options on AWSAmazon Web Services
 
NO SQL: What, Why, How
NO SQL: What, Why, HowNO SQL: What, Why, How
NO SQL: What, Why, HowIgor Moochnick
 
Aws for Startups Building Cloud Enabled Apps
Aws for Startups Building Cloud Enabled AppsAws for Startups Building Cloud Enabled Apps
Aws for Startups Building Cloud Enabled AppsAmazon Web Services
 
Open Source für den geschäftskritischen Einsatz
Open Source für den geschäftskritischen EinsatzOpen Source für den geschäftskritischen Einsatz
Open Source für den geschäftskritischen EinsatzMariaDB plc
 
CodeFutures - Scaling Your Database in the Cloud
CodeFutures - Scaling Your Database in the CloudCodeFutures - Scaling Your Database in the Cloud
CodeFutures - Scaling Your Database in the CloudRightScale
 
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmurTobias Koprowski
 

Similar to SQL and NoSQL in the Context of SQL Server: Understanding Data Models and Scaling Techniques (20)

Microsoft Openness Mongo DB
Microsoft Openness Mongo DBMicrosoft Openness Mongo DB
Microsoft Openness Mongo DB
 
Why you should(n't) run your databases in the cloud
Why you should(n't) run your databases in the cloudWhy you should(n't) run your databases in the cloud
Why you should(n't) run your databases in the cloud
 
Nosql seminar
Nosql seminarNosql seminar
Nosql seminar
 
Azure and cloud design patterns
Azure and cloud design patternsAzure and cloud design patterns
Azure and cloud design patterns
 
Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2Databases in the Cloud - DevDay Austin 2017 Day 2
Databases in the Cloud - DevDay Austin 2017 Day 2
 
GWAB 2015 - Data Plaraform
GWAB 2015 - Data PlaraformGWAB 2015 - Data Plaraform
GWAB 2015 - Data Plaraform
 
Prague data management meetup 2018-03-27
Prague data management meetup 2018-03-27Prague data management meetup 2018-03-27
Prague data management meetup 2018-03-27
 
Azure data platform overview
Azure data platform overviewAzure data platform overview
Azure data platform overview
 
DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012
 
NOSQL Database: Apache Cassandra
NOSQL Database: Apache CassandraNOSQL Database: Apache Cassandra
NOSQL Database: Apache Cassandra
 
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
 
MySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion QueriesMySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion Queries
 
Scalable Database Options on AWS
Scalable Database Options on AWSScalable Database Options on AWS
Scalable Database Options on AWS
 
NO SQL: What, Why, How
NO SQL: What, Why, HowNO SQL: What, Why, How
NO SQL: What, Why, How
 
NoSql Databases
NoSql DatabasesNoSql Databases
NoSql Databases
 
Aws for Startups Building Cloud Enabled Apps
Aws for Startups Building Cloud Enabled AppsAws for Startups Building Cloud Enabled Apps
Aws for Startups Building Cloud Enabled Apps
 
Using Data Lakes
Using Data LakesUsing Data Lakes
Using Data Lakes
 
Open Source für den geschäftskritischen Einsatz
Open Source für den geschäftskritischen EinsatzOpen Source für den geschäftskritischen Einsatz
Open Source für den geschäftskritischen Einsatz
 
CodeFutures - Scaling Your Database in the Cloud
CodeFutures - Scaling Your Database in the CloudCodeFutures - Scaling Your Database in the Cloud
CodeFutures - Scaling Your Database in the Cloud
 
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
 

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

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sectoritnewsafrica
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 

Recently uploaded (20)

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 

SQL and NoSQL in the Context of SQL Server: Understanding Data Models and Scaling Techniques

  • 1. SQL and NoSQL in the Context of SQL Server Michael Rys Program Manager, Microsoft Corp. @SQLServerMike
  • 2. Key Session Takeaways  Scaling your Business is important  What are the NoSQL paradigms  You can use NoSQL Paradigms with SQL Server and SQL Azure  We are working on moving the paradigms into SQL Server
  • 3. The Web 2.0 Business Architecture Attract Individual Consumers: - Provide interesting service - Provide mobility - Provide social Monetize Individual: - Upsell service Online Monetize the Social: - Improve individual - VIP - Speed Business experience - Re-sell Aggregate Data - Extra Capabilities Application (e.g., Advertisers)
  • 4. Social Networking: the Business Problem  100s of million of users  10s of million of users concurrently  Terabytes to petabytes of data  Structured and unstructured  Required (eventual) data consistency across users  E.g. show your updated state in your friends’ profile pages
  • 5. Solution  Shard/Partition user data across hundreds to thousands of SQL Databases  Propagate data changes using reliable, async Message Service  No Global Transactions! Hinder scale and availability!  Provide a caching layer for performance  Also used for  Clean-up state (e.g. on account close)  Deploy business logic (stored procedures)
  • 6. Example Architecture (MySpace.com) 1-1000 3001-4000 Async My DB I change Message gets updated my status Service TX1 TX3 TX2 Dispatcher Async userId=1024 Message Async 2001-3000 Message 1001-2000 TX4 TX5 4001-5000 5001-6000 Web Tier Data Tier
  • 7. Many Large Scale Customers using Similar Patterns  Patterns  Sharding and reliable messaging  Sharding and fan/out query layer  Caching layer  Customer Examples  Social Networking: Facebook, MySpace, etc  Online electronic stores (cannot give names )  Travel reservation systems (e.g. Choice International)  MSN Casual Gaming  etc.
  • 8. Lessons Learned from these Scenarios  Require high availability  Be able to scale out  Functional and Data Partitioning Architecture  Provide scale-out processing  Be able to deal with failures  Be able to quickly grow and change  Elastic scale  Flexible, open schema  Multi-version schema support Move better support for these patterns into the Data Platform!
  • 9. What is NoSQL about?  NoSQL = operational and developer agility at low CapEx and OpEx!  Low Cost  Free Software and Support  Scale CapEx cost below customer growth rate  Web friendly developer model and tool chain, Easy to use  Processing Paradigms  High Availability  Data and Processing Scale-out  Performance  Tunable/Eventual Consistency  Data Model Paradigms  Data first: Flexible Schema  Low-impedance mismatch between programming and data model From devices, over OLTP Web 2.0 applications to BigData Analytics
  • 10. Data Models Data Model Example Stores Simple Key-Value Pairs Memcache, Redis, Dynamo, Voldermort, LevelDB, Azure Caching Wide Sparse Column Sets HyperTable, Big Table, Cassandra, HBASE, Hyperbase, Amazon DynamoDB, Windows Azure Tables, SQL Server/Azure Sparse columns BLOBs Amazon S3, Oracle Berkeley NoSQL, Windows Azure Blob Store, SQL Server RBS/FileTable JSON Documents MongoDB, CouchBase, Riak, RavenDB Graph Neo4J, GraphDB, HypergraphDB, Stig, Intellidimension Objects and XML Documents Versant, Oracle Berkeley NoSQL, MarkLogic, existDB, EMC HiveDB, SQL Server/Azure, Oracle, IBM DB2 Extended Relational Oracle, EMC SQLFire, IBM DB2, MySQL, Postgres, SQL Server/Azure/Parallel DW
  • 11. Operational Agility  You want:  Availability of service (scalability)  Global consistency  Network Partition Tolerance  You can only get 2 of 3 (CAP Theorem)  In Brave New World:  Online businesses need availability  It is distributed, because it is big  thus Network Partitioning is unavoidable  Hence global consistency must be relaxed → BASE vs ACID
  • 12. BASE vs ACID Consistency  ACID : Atomicity, Consistency, Isolation, Durability  Full Serializability provides all 4  Distributed transactions providing all 4 limits service availability, throughput and scalability  BASE: Basically Available, Soft state, Eventual consistency  Relaxes ACID properties to increase Replica availability, throughput and scalability Primary  Replica consistency: Replica  Impacts recoverability  Cross-node consistency: Replica  Impacts globally consistent view of the world Primary Replica
  • 13. Operational Agility  Performance and Scale  Automate management lifecycle (or fail)  Simple deployment lifecycle  No DB or OS Admin telling me what to do
  • 14. Developer Agility  Code First and revise quickly  Application-model first (before database)  Flexible open data models  You don’t know exactly what you are looking for  Lower Pain of adoption and maintenance  No DB or OS Admin telling me what to do
  • 15. NoSQL and BigData: Two sides of the same coin  BigData:  Origin: large unstructured data processing (sensor data, scientific research, web stream analysis)  Analytics focused (“new” OLAP, Map-Reduce, Hadoop)  Scale-out data and processing paradigm at low cost  NoSQL:  Origin: developing agile, scalable web applications  Realtime customer transaction focused (“new” OLTP)  Scale-out data and processing paradigm with flexible data model at low cost  Both use many of the same paradigms
  • 16. The Web 2.0 Business Architecture Attract Individual Consumers: - Provide interesting service - Provide mobility - Provide social Monetize Individual: - Upsell service Online Monetize the Social: - Improve individual - VIP - Speed Business experience - Re-sell Aggregate Data - Extra Capabilities Application (e.g., Advertisers)
  • 17. Scale-Out Data PLATFORM Architecture Readable Replica Primary Copy Shard OLTP Workloads Readable Replica Traditional OLAP Workloads Highly Available known schema High Scale Data warehouse, “Star joins” High Flexibility Readable Replica mostly touching 1 Primary to low number of Shard Dynamic OLAP Workloads shards Readable Replica 3Vs (Volume, Velocity, Variety) Exploratory Readable Scale-out queries, often using Replica eventual consistent scale-out frameworks like Hadoop Primary Shard Query Readable Replica
  • 18. What does SQL Server provide today?  Scale-programming models  Service Broker provides:  Functional, service-oriented architecture  Scale out on demand  Async reliable messaging provides for true eventual consistency  SQL Azure Federations provides Sharding support  Distributed Queries  SQL Server Parallel Data Warehouse  Programmer Agility  XML, XQuery for XML documents  FileTable for documents (but what is equivalent solution in the cloud?)  Open Schema: Sparse Columns and column sets (but still schema first)  CLR extensibility, but  No indexing, bad cost-models  Difficult to deploy (and DB Admins often do not allow it!)  Failure Resilience  SQL Azure has local automatic HA, self-healing  Rich Services  Semantic Extraction and Similarity Search in SQL Server 2012  DB/OS Admin “interference”  SQL Azure: Self-maintaining and Self-provisioning
  • 19. Introducing SQL Azure Federations  Provides Data Partitioning/Sharding at the Data Platform  Enables applications to build elastic scale-out applications  Provides non-blocking SPLIT/DROP for shards (MERGE to come later)  Auto-connect to right shard based on sharding keyvalue  Provides SPLIT resilient query mode
  • 20. SQL Azure Federation Concepts  Federation Azure DB with Federation Root Represents the data being sharded  Federation Root Federation Directories, Federation Database that logically houses Users, Federation Distributions, … federations, contains federation meta data  Federation Key Value that determines the routing of a piece Federation “Orders_Fed” of data (defines a Federation Distribution) (Federation Key: CustomerID)  Federation Member (aka Shard) Physical container for a set of federated tables of a specific key range and reference Member: PK [min, 100) tables  Atomic Unit AU PK=5 AU PK=25 AU PK=35 All rows with the same federation key value: always together!  Federated Table Member: PK [100, 488) Table that contains only atomic units for the member’s key range AU AU AU  Connection Reference Table PK=105 PK=235 PK=365 Gateway Non-sharded table Member: PK [488, max) AU AU AU Sharded PK=555 PK=2545 PK=3565 20 Application
  • 22. SQL Azure: A Not Only SQL Data Platform SQL Azure adds support for NoSQL paradigms in the data platform:  No CapEx, Low OpEx (which should/will be even lower )  High-Availability (each DB has two replicas)  Sharding support with federations:  Data platform provides online SPLIT/DROP  Filtered connection to provide split resilient programming model  Flexible Data Models:  XML support  Sparse columns/Column sets  More to come in the future…  More scale and tunable HA (to support OLTP/OLAP model)  Taking Federations further (orthogonality, merge, fanout)  Integration with Hadoop eco-system  More data-first (data-driven columnsets, JSON)
  • 23. Call to Action  Download the Presentation from: http://www.slideshare.net/MichaelRys/presentations  Fill out SQL Azure Federation Survey: http://connect.microsoft.com/BusinessPlatform/Survey/S urvey.aspx?SurveyID=13625
  • 24. Related Content  Related Whitepapers and Presentations:  CACM: Scalable SQL: http://cacm.acm.org/magazines/2011/6/108663-scalable-sql  NoSQL and the Windows Azure Platform: http://download.microsoft.com/download/9/E/9/9E9F240D-0EB6-472E-B4DE- 6D9FCBB505DD/Windows%20Azure%20No%20SQL%20White%20Paper.pdf  SQL Federation blog: http://blogs.msdn.com/b/cbiyikoglu/archive/2011/03/03/nosql-genes-in- sql-azure-federations.aspx  Windows Gaming Experience Case Study: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4 000008310  NoSQL Presentations: http://www.slideshare.net/MichaelRys/presentations  Contact me:  mrys@microsoft.com  @SQLServerMike  http://sqlblog.com/blogs/michael_rys/default.aspx

Editor's Notes

  1. Example MySpace architecture:Service Dispatcher coordination point between all SQL ServersCentralizes route managementAvoids routes explosion Load-balanced across 30 SQL ServersMessages are sent randomly to theseEnables multicast/broadcast functionalitySupports destination lists and wildcards e.g. [DB1,DB3, DB4], DB%18,000 ~2k msgs/sec per dispatcher SQL ServerMyDB 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 table
  2. Example MSN Casual Gaming:~2 Million users at launch~86 Million services requests/day 135 Windows Azure Data Services Hosting VMs ca. 18K connections in Connection Pools, this could grow with trafficCa. 1200 SQL Azure requests/second spread across all partitions during peak load~ 90% reads vs 10% writes (this varies per storage type)~ 200 bytes of storage per user~ 20% of database storage is currently used, but expect this to growSharded over 400 SQL Azure Databases
  3. Requirehigh availabilityBe able to scale out:Functional and Data Partitioning ArchitectureProvide scale-out processing:Function shippingFanout and Map/Reduce processingBe able to deal with failures:QuorumRetriesEventual Consistency (similar to Read-consistent Snapshot Isolation)Be able to quickly grow and change:Elastic scaleFlexible, open schemaMulti-version schema supportMove better support for these patterns into the Data Platform!
  4. Note: Big-sized companies invest resources in building these platforms instead of using existing relational platforms!Low CostFree Open Source Stores, Community SupportScale cost below customer growth rateWeb friendly developer model and tool chain, Easy to useProcessing ParadigmsHigh Availability (scalable Replication, Fast Failover, DR/GeoDR, tunable latency)Scale-out (Sharding, Map-Reduce, Elasticity)Performance (tuned for workloads, Caching, co-located compute with partitioned state)Tunable/Eventual ConsistencyData Model ParadigmsData first: Flexible SchemaLow-impedance mismatch between programming and data model:Key-Documents and Objects (BLOBS, JSON, XML, POJO)Key-Wide Sparse Column SetsGraphs (e.g., RDF)
  5. 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
  6. 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
  7. ShardedGamesInfo table using SQL Azure FederationsUse a C# library that does implement a Map/Reduce processor on top SQL Azure FederationsMapper and Reducer are specified using SQL