The Trouble with NoSQL Databases - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

The Trouble with NoSQL Databases

Description:

Iran Hutchinson If I could choose a face for the NoSQL campaign, I would start here. * Rule 1: Relational systems tell you exactly how your data is represented. – PowerPoint PPT presentation

Number of Views:118
Avg rating:3.0/5.0
Slides: 27
Provided by: globalsdb
Category:

less

Transcript and Presenter's Notes

Title: The Trouble with NoSQL Databases


1
The Trouble with NoSQL Databases
Iran Hutchinson
2
Coordinates
  • I work for InterSystems who drives the new
    http//globalsdb.org NoSQL project.
  • Email iran.hutchinson_at_intersystems.com
  • Twitter iranic
  • Skype chatwithiran

3
The Trouble
  • NoSQL Databases
  • Understanding what they are
  • Understanding how to leverage their strengths
  • Understanding their weaknesses
  • Staying away from hype and religious wars
  • Fighting your developer demon

4
Who is this Guy?
  • Edgar Frank Ted Codd
  • Known for 12 Rules (0 12) for Relational Data
    Systems

5
NoSQL Breaking the Rules
  • Rule 1 The information Rule
  • All information is represented in 1 and only 1
    way, namely by values in column positions within
    rows of tables
  • Rule 12 The no subversion Rule
  • If the system provides a low-level
    (record-at-a-time) interface, then that interface
    cannot be used to subvert the system i.e.
    relational security or integrity constraints.

6
NoSQL Advantages
  • Simple APIs
  • Java Example Document.save(myObject)
  • Seamless language integration
  • No impedance mismatch
  • Designed to be horizontally scalable (elastic)
  • Flexible data model
  • Majority free and/or Open Source
  • Free and Commercial production support

7
RDBMS Advantages
  • Proven
  • Available talent / Well-known
  • AD-Hoc querying
  • Scalable (limits?)
  • Free and Commercial production support

8
Troubles with RDBMS
  • Interface for data access
  • Limited horizontal scalability?
  • Impedance mismatches
  • Programming model
  • In-flexible data model

9
Troubles with RDBMS
  • Does not include the underlying data structure.
  • B-tree and B-trees can be fast and efficient
  • The relational model SQL can limit B-trees

10
What is NoSQL?
  • Class of data management systems inherently
  • Non-relational
  • Distributed
  • Horizontally scalable
  • With optional schemas
  • Providing simple APIs
  • Term Not-Only-SQL recently embraced
  • Dave Kellogs Blog Post

11
Why NoSQL?
  • No to ACID
  • No to the impedance mismatch with SQL
  • Dealing with Big Data and Web Scale
  • High prices from RDBMS vendors
  • Use commodity hardware
  • Flexible data models
  • Its a cool movement .

12
Is NoSQL a new Concept?
  • No
  • Remember MUMPS?
  • SET Car("Door","Color")"BLUE
  • Remember Multi-value/PICK
  • MATWRITE array.variable ON file.variable,id. .
  • Ever heard of the NoSQL RDB?

13
NoSQL Trouble Which Model to Use?
14
NoSQL Trouble Which Model to Use
  • This depends on your use case.
  • Example
  • http//www.mongodb.org/display/DOCS/UseCases
  • Compare your problems to others.
  • Example
  • http//wiki.apache.org/hadoop/PoweredBy

15
NoSQL Trouble Which project?
  • http//nosql-database.org/ lists 122 today.
  • Depends on your model selection.
  • Most likely choose well-known project.
  • Dont forget about shared risk!

16
NoSQL Trouble Querying
  • Some solutions have no querying
  • When available query languages differ
  • Lack of general AD-Hoc querying no SQL
  • NOTE Toad for Cloud

17
NoSQL Trouble Portability
  • Skills
  • Data Model
  • Data format
  • Tools
  • Standards?

18
NoSQL Trouble Maturity
  • Some databases are not as proven
  • Incomplete NoSQL solutions
  • You write a larger data management tier
  • You maintain your business code and
    infrastructure code
  • You have to customize management and deployment
    technology and procedures

19
NoSQL How to Succeed?
  • Know your application
  • Dont forget the past lessons
  • Consider a hybrid approach
  • Fight the desire to Roll-Your-Own-DB
  • Start small but significant

20
NoSQL Hybrid Approach 1
  • Two Systems
  • NoSQL SQL/RDBMS
  • Updates
  • Real-time
  • Asynchronous or Batch

21
NoSQL Hybrid Approach 2
  • One system does both NoSQL and SQL

22
Caché Hybrid Approach 2
  • InterSystems Caché supports SQL and NoSQL
  • Production NoSQL for 20 years
  • APIs for .NET, Java, Perl, Python, etc.
  • Expanding paradigms for more use cases.
  • Comes the closest to approach 2

23
GlobalsDB NoSQL Building Block
  • Core of InterSystems Caché
  • Free for development and production
  • Simple APIs Java and JavaScript
  • http//globalsdb.org
  • Sponsored by InterSystems

24
A look to the future
  • Over time I think we will see
  • NoSQL features in mainstream databases
  • NoSQL offerings by more commercial companies
  • Dominant open source / free NoSQL projects
  • New definitions of enterprise databases

25
NoSQL Contenders Open Source
  • Hadoop/Hbase
  • Cassandra
  • MongoDB
  • CouchDB
  • Riak
  • Couchbase
  • Neo4J

26
NoSQL Contenders Commerical
  • InterSystems Caché
  • SimpleDB
  • Azure Table Storage
  • Google App Engine Data Storage
  • Mark Logic Server
  • Infinite Graph
  • Riak (has open source version)
  • Berkely DB
Write a Comment
User Comments (0)
About PowerShow.com