+ All Categories
Home > Technology > Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

Date post: 12-May-2015
Category:
Upload: brianlangbecker
View: 326 times
Download: 2 times
Share this document with a friend
Description:
FatDB is the only windows NoSQL database that focuses on Polyglot persistence and contains a full integration with SQL Server.
Popular Tags:
17
WEBINAR Why does Microsoft care about SQL + NoSQL and Polyglot Persistence?
Transcript
Page 1: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

WEBINARWhy does Microsoft care about SQL + NoSQL and Polyglot Persistence?

Page 2: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

• Microsoft published a book on 10/15/13 on the benefits of combining SQL data and unstructured data

• This webinar explores the practical implementation of this strategy

SQL, NOSQL, AND POLYGLOT PERSISTENCE

Page 3: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

QUESTIONS TO ANSWER

• What is NoSQL?• What is Polyglot Persistence (aka hybrid)?• How do you integrate SQL and NoSQL?• Why is it important?• How does a hybrid .NET, SQL and NoSQL Database

benefit your applications?• What are the steps to enable your apps to use a

hybrid solution?

Page 4: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

WHAT IS NOSQL?A NoSQL (Not Only SQL) database provides a mechanism for storage and retrieval of data that employs less constrained consistency models than traditional relational databases. Motivations for this approach include simplicity of design, horizontal scaling and finer control over availability. (Source: Wikipedia)

• Distributed computing – scale out versus scale up• Fault tolerance through mirroring/replication• Ability to be schema-less and handle unstructured data• Eventually consistent as opposed to fully consistent• Several approaches – Key Value, Document, Graph etc

Page 5: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

NOSQL EXAMPLES

Page 6: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

COMPARISON OF SQL AND NOSQLA NoSQL database, as the name implies, provides a different storage and processing model than a traditional SQL based relational database.

RELATIONAL DOCUMENT KEY-VALUE

Page 7: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

NOSQL STRENGTHS AND WEAKNESSES

StrengthMulti-node scalability

WeaknessGuaranteed data consistency

Source: Data Access for Highly-Scalable Solutions: Using SQL, NoSQL, and Polyglot Persistence

Page 8: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

COMPARISON OF SQL AND NOSQLSQL Server NoSQL

Consistency Model

Fully consistent Eventually Consistent

Scalability Single Server (Scale up) Multiple Servers (Scale out)

Fault ToleranceHA through Secondary fail over Server

Fault tolerance through Mirroring/Replication

Data Design DBA does data design firstStart schema-less and implement data structure as you code

Data types SQL/Relational Data Table and/or unstructured data

StrengthsTransactions/data consistency/Robust BI/Reporting and tooling

Scale/performance/ease of development and adaptation

So, which is best? BOTH!

Page 9: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

WHAT IS POLYGLOT PERSISTENCE?

Polyglot Persistence, like polyglot programming, is all about choosing the right persistence option for the task at hand. Scott Leberknight

Different databases are designed to solve different problems. Using a single database engine for all of the requirements usually leads to non- performant solutions.Martin Fowler

Polyglot Persistence is about using hybrid storage approach (RDBMS, NOSQL,BLOB,FILE) that allows you to use the best tool for the job versus being locked into one approach.FatCloud

Page 10: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

WHAT DOES POLYGLOT PERSISTENCE LOOK LIKE?

Source: Data Access for Highly-Scalable Solutions: Using SQL, NoSQL, and Polyglot Persistence

Page 11: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

METHOD 1: HOW TO INTEGRATE SQL WITH NOSQL

SQL Server

Invoice024

Invoice175

Invoice832

Invoice936

Invoice492

Invoice751

Invoice595

Invoice037

Invoice275

Invoice024

Invoice175

Invoice832

Invoice936

Invoice492

Invoice751

Invoice595

Invoice037

Invoice275

NoSQL Server Cluster

Invoice832

Invoice492

Invoice751

Invoice275

Invoice037

Invoice175

Invoice024

Invoice936

Invoice595Invoice

832Invoice

492

Invoice751

Invoice275

Invoice037

Invoice175

Invoice024

Invoice936

Invoice595Invoice

832Invoice

492

Invoice751

Invoice275

Invoice037

Invoice175

Invoice024

Invoice936

Invoice595

Web / Mobile or other Client appCalls for relational and

transactional dataCalls for unstructuredand scale sensitive data

Data Driven Request Routing

Page 12: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

SQL Server FatDB Server Cluster

Invoice024

Invoice175

Invoice832

Invoice936

Invoice492

Invoice751

Invoice595

Invoice037

Invoice275

Invoice832

Invoice492

Invoice751

Invoice275

Invoice037

Invoice175

Invoice024

Invoice936

Invoice595Invoice

832Invoice

492

Invoice751

Invoice275

Invoice037

Invoice175

Invoice024

Invoice936

Invoice595Invoice

832Invoice

492

Invoice751

Invoice275

Invoice037

Invoice175

Invoice024

Invoice936

Invoice595

Invoice024

Invoice175

Invoice832

Invoice936

Invoice492

Invoice751

Invoice595

Invoice037

Invoice275

Automate routine synchronization tasks for effortless data consistency.

1. Changes to SQL Server automatically sent to FatDB

2. Changes to FatDB automatically sent to SQL Server

SQL Write Back

Automatic Synchronization

METHOD 2: HOW TO INTEGRATE SQL WITH NOSQL

Page 13: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

EXAMPLE OF A POLYGLOT DATA STORE

SQL Server

FatDB Server Cluster (In house or In cloud)

Invoice832

Invoice492

Invoice751

Invoice275

Invoice037

Invoice175

Invoice024

Invoice936

Invoice595

Invoice832

Invoice492

Invoice751

Invoice275

Invoice037

Invoice175

Invoice024

Invoice936

Invoice595

Invoice832

Invoice492

Invoice751

Invoice275

Invoice037

Invoice175

Invoice024

Invoice936

Invoice595

Invoice024

Invoice175

Invoice832

Invoice936

Invoice492

Invoice751

Invoice595

Invoice037

Invoice275

Invoice024

Invoice175

Invoice832

Invoice936

Invoice492

Invoice751

Invoice595

Invoice037

Invoice275

New Web AppMobile Clients

Legacy Apps BI & Reporting1 5

2 4

31.Legacy apps continue

unchanged updating SQL Server

2.Changes in SQL Server are transmitted to FatDB

3.FatDB is accessed by mobile, web, cloud clients delivering scale and fault tolerance

4.Updates to FatDB are transmitted back to SQL Server

5.BI and Reporting tools can continue accessing SQL Server as an accurate data repository

Page 14: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

WHY IS POLYGLOT (a.k.a HYBRID) IMPORTANT?

“…the advent of NoSQL databases has meant that many application developers, designers, and architects are now looking to apply the most appropriate means of data storage to each specific aspect of their systems, and this may involve implementing multiple types of database and integrating them into a single solution.”Microsoft, “Data Access for Highly Scalable Solutions”, 2013

• One size may not fit all that well• We can now use the best tools or toolset for the job

Page 15: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

HOW DOES A HYBRID SOLUTION BENEFIT YOU

1. More scalable, less cost2. Preserve legacy apps3. Accelerate time to market4. New application functionality5. Preserve proven BI and reporting tools6. Improved data mining7. Superior elasticity

Page 16: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

10 TIPS FOR CREATING A HYBRID SOLUTION

1. Think holistically, do your traffic and data analysis2. Test and meter3. Minimize architectural complexity, “Missions” trump “Services”4. Minimize “glue” code and impedance mismatches, standardize5. Don’t paint yourself into a corner, be “Agile”6. Minimize maintenance and configuration overhead7. Look for portability and flexibility8. Look for strong RDBMS integration9. Look for an integrated extensible framework10.Look for good support and resources

Page 17: Why does Microsoft care about NoSQL, SQL and Polyglot Persistence?

QUESTIONSChander Dhall, Microsoft [email protected]@csdhall

Justin Weiler, [email protected]@fatcloudllc


Recommended