trouble with nosql_dbs
TRANSCRIPT
![Page 1: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/1.jpg)
Iran Hutchinson
![Page 2: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/2.jpg)
I work for InterSystems who drives the new http://globalsdb.org NoSQL project.
Email: [email protected]
Twitter: #iranicSkype: chatwithiran
![Page 3: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/3.jpg)
… 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
![Page 4: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/4.jpg)
Edgar Frank “Ted” Codd Known for 12 Rules (0 ~ 12) for Relational Data
Systems
![Page 5: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/5.jpg)
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.
![Page 6: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/6.jpg)
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
![Page 7: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/7.jpg)
ProvenAvailable talent / Well-knownAD-Hoc queryingScalable (limits?)Free and Commercial production
support
![Page 8: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/8.jpg)
Interface for data accessLimited horizontal scalability? Impedance mismatchesProgramming model In-flexible data model
![Page 9: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/9.jpg)
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
![Page 10: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/10.jpg)
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
![Page 11: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/11.jpg)
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 ….
![Page 12: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/12.jpg)
NoRemember MUMPS?
SET ^Car("Door","Color")="BLUE”Remember Multi-value/PICK
MATWRITE array.variable ON file.variable,id. ….
Ever heard of the NoSQL RDB?
![Page 13: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/13.jpg)
![Page 14: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/14.jpg)
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
![Page 15: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/15.jpg)
http://nosql-database.org/ lists 122 today.
Depends on your model selection.Most likely choose well-known
project.Don’t forget about shared risk!
![Page 16: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/16.jpg)
Some solutions have no queryingWhen available query languages
differLack of general AD-Hoc querying –
“no” SQLNOTE: Toad for Cloud
![Page 17: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/17.jpg)
SkillsData ModelData formatToolsStandards?
![Page 18: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/18.jpg)
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
![Page 19: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/19.jpg)
Know your applicationDon’t forget the past lessonsConsider a hybrid approachFight the desire to Roll-Your-Own-DBStart small but significant
![Page 20: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/20.jpg)
Two Systems NoSQL + SQL/RDBMS
Updates Real-time Asynchronous or Batch
NoSQLNoSQL SQL/RDBMS
SQL/RDBMS
Data Mapper
/ Translat
or
Data Mapper
/ Translat
or
![Page 21: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/21.jpg)
One system does both NoSQL and SQL
![Page 22: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/22.jpg)
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
![Page 23: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/23.jpg)
Core of InterSystems CachéFree for development and productionSimple APIs Java and JavaScripthttp://globalsdb.orgSponsored by InterSystems
![Page 24: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/24.jpg)
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
![Page 25: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/25.jpg)
Hadoop/HbaseCassandraMongoDBCouchDBRiakCouchbaseNeo4J
![Page 26: Trouble with nosql_dbs](https://reader035.vdocument.in/reader035/viewer/2022070315/5553bb6db4c905d9448b5043/html5/thumbnails/26.jpg)
InterSystems CachéSimpleDBAzure Table StorageGoogle App Engine Data StorageMark Logic Server Infinite GraphRiak (has open source version)Berkely DB