trouble with nosql_dbs

Post on 14-May-2015

452 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Iran Hutchinson

I work for InterSystems who drives the new http://globalsdb.org NoSQL project.

Email: iran.hutchinson@intersystems.com

Twitter: #iranicSkype: chatwithiran

… 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

Edgar Frank “Ted” Codd Known for 12 Rules (0 ~ 12) for Relational Data

Systems

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.

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

ProvenAvailable talent / Well-knownAD-Hoc queryingScalable (limits?)Free and Commercial production

support

Interface for data accessLimited horizontal scalability? Impedance mismatchesProgramming model In-flexible data model

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

Class of data management systems inherently Non-relational Distributed Horizontally scalable With optional schemas Providing simple APIs

Term Not-Only-SQL recently embraced

Dave Kellog’s Blog Post

No to ACIDNo to the impedance mismatch with

SQLDealing with Big Data and Web ScaleHigh prices from RDBMS vendorsUse commodity hardwareFlexible data models It’s a cool movement ….

NoRemember MUMPS?

SET ^Car("Door","Color")="BLUE”Remember Multi-value/PICK

MATWRITE array.variable ON file.variable,id. ….

Ever heard of the NoSQL RDB?

This depends on your use case.Example

http://www.mongodb.org/display/DOCS/Use+Cases

Compare your problems to others.Example:

http://wiki.apache.org/hadoop/PoweredBy

http://nosql-database.org/ lists 122 today.

Depends on your model selection.Most likely choose well-known

project.Don’t forget about shared risk!

Some solutions have no queryingWhen available query languages

differLack of general AD-Hoc querying –

“no” SQLNOTE: Toad for Cloud

SkillsData ModelData formatToolsStandards?

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

Know your applicationDon’t forget the past lessonsConsider a hybrid approachFight the desire to Roll-Your-Own-DBStart small but significant

Two Systems NoSQL + SQL/RDBMS

Updates Real-time Asynchronous or Batch

NoSQLNoSQL SQL/RDBMS

SQL/RDBMS

Data Mapper

/ Translat

or

Data Mapper

/ Translat

or

One system does both NoSQL and SQL

InterSystems Caché supports SQL and NoSQL

Production NoSQL for 20+ yearsAPIs for .NET, Java, Perl, Python, etc.Expanding paradigms for more use

cases.Comes the closest to approach 2

Core of InterSystems CachéFree for development and productionSimple APIs Java and JavaScripthttp://globalsdb.orgSponsored by InterSystems

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

Hadoop/HbaseCassandraMongoDBCouchDBRiakCouchbaseNeo4J

InterSystems CachéSimpleDBAzure Table StorageGoogle App Engine Data StorageMark Logic Server Infinite GraphRiak (has open source version)Berkely DB

top related