The Lightning Way XIV Encontro da comunidade SQLPort LX
When all you have is a hammer, you tend to see every problem as a nail. Abraham Maslow 2
“Next“Next Generation Databases mostly addressing some of the points: being non- relational, distributed, open- source and horizontally source and horizontally scalable. scalable. (…)” from nosql-databases.org 3
Non-relational AKA “Structured Storage”Non-relational AKA “Structured Storage” No fixed Table SchemasNo fixed Table Schemas No (or minimal) JOIN operationsNo (or minimal) JOIN operations Usually low-level record-at-a-time instead of SQL clausesUsually low-level record-at-a-time instead of SQL clauses Scale horizontallyScale horizontally 4
“Most” modern applications are web-based“Most” modern applications are web-based As such, must be able to scale out by simply adding commodity serversAs such, must be able to scale out by simply adding commodity servers NoSQL DBMS are built to be able to scale outNoSQL DBMS are built to be able to scale out No fixed schema provides flexibility of design and development – no “schema written in stone syndrome”No fixed schema provides flexibility of design and development – no “schema written in stone syndrome” 5
RDBSRDBS are mostly all about ACID Atomicity,Atomicity, Consistency, Consistency, Isolation, Isolation, Durability NoSQLNoSQL are mostly BASE BasicallyBasically Available, Available, Soft Soft state, Eventual consistency 6
It’sIt’s like a teenager: –Always –Always Basically Available (open to new relationships) –in –in a Soft state (none of the relationships last very long) –and –and Eventually consistent (one day he/she will get he/she will get a girlfriend/boyfriend and eventually eventually get married). 7
Key ValueKey Value –Amazon Dynamo, Voldemort, Dynomite, Azure Table Storage Document OrientedDocument Oriented –Couch DB, MongoDB 8
Wide Column StoreWide Column Store –Google BigTable, HBase GraphGraph –Twitter’s FlockDB, Neo4J 9
Loosely typed extensible data schemaLoosely typed extensible data schema Consistency gives place to scalability and availabilityConsistency gives place to scalability and availability Designed for horizontal scaling through data distribution model across multiple nodesDesigned for horizontal scaling through data distribution model across multiple nodes Support various 'Non-SQL' interfaces (REST, Get/Put, API,etc.)Support various 'Non-SQL' interfaces (REST, Get/Put, API,etc.) 10
NoSQL - Your Ultimate Guide to the Non - Relational UniverseNoSQL - Your Ultimate Guide to the Non - Relational Universe NoSQL in the EnterpriseNoSQL in the Enterprise Whitepaper on NoSQL and the Windows Azure PlatformWhitepaper on NoSQL and the Windows Azure Platform NoSQL EcosystemNoSQL Ecosystem Why NoSQL?Why NoSQL? BASE: An Acid AlternativeBASE: An Acid Alternative 11
12
How to find me… if you care to know! (really? don’t you have anything better to do?) 13