SlideShare uma empresa Scribd logo
1 de 33
Introduction to NoSQL
Omid Vahdaty, Cloud Ninja
What is ACID ?
Atomic - all or nothing. Either query completed or not. (transaction)
Consistency - once transaction committed - that must conform with with the constraints of the schema.
Requires
a well defined schema (anti pattern to NoSQL). Great for READ intensive and AD HOC
queries.
Locking of data until transaction is finished. → performance bottleneck.
Consistency uses cases
“Strongly consistent” : bank transactions must be ACCURATE
“Eventually consistent”: social media feed updates. (not all users must see same results
at the same time.
Isolations - concurrent queries - must run in isolation, this ensuring same result.
Durable - once transaction is executed, data will preserved. E.g. power failure
NoSql Advantages
● Advantages?
a. Non-relational and schema-less data model
b. Low latency and high performance
c. Highly scalable
d. SQL queries are not well suited for the object oriented data structures
that are used in most applications now.
e. Some application operations require multiple and/or very complex
queries. In that case, data mapping and query generation complexity
raises too much and becomes difficult to maintain on the application side.
NoSQL DB types
● Key value store.
● Document store - e.g json. document stores are used for aggregate objects that have no shared
complex data between them and to quickly search or filter by some object properties.
● column family. These are used for organizing data based on individual columns where actual
data is used as a key to refer to whole data collection. This particular approach is used for very
large scalable databases to greatly reduce time for searching data
● Graph databases map more directly to object oriented programming models and are faster for
highly associative data sets and graph queries. Furthermore they typically support ACID
transaction properties in the same way as most RDBMS.
TradeOff?
Brands?
Big Data Landscape
Key value document colunar graph OLTP OLAP Hadoop
OpenSource Redis,
Riak
Mongo,
CouchDB
Cassandra
, Hbase
Neo4J MySQL
Postgrtess
hadoop
AWS Dynamo DynamoD
B
Aurora Redshift EMR
GCP BigTable BigQuery
Azure Tables Document
DB
“Hbase” Azure SQL HDInsights
NoSQL uses cases
● Usecases
a. Application requiring horizontal scaling : Entity-attribute-value = fetch by distinct value
i. Mobile APP with millions of users - for each user: READ/WRITE
ii. The equivalent in OLTP is sharding - VERY COMPLEX.
b. User Preferences, fetch by distinct value
i. (structure may change dynamically)
ii. Per user do something.
c. Low latency / session state
i. Ad tech , and large scale web servers- capturing cookie state
ii. Gaming - game state
d. Thousand of requests per seconds (WRITE only)
i. Reality - voting
ii. Application monitoring and IoT- logs and json.
NoSQL AntiPattern
● AntiPatterns:
○ Ad hoc Queries
○ OLAP
○ BLOB
Use cases simplified- DB family
● Key value = large amount of data, fast access, simple relations: online
shopping carts.
● Documents DB = User info , web applications. Each user = document, with
attributes. May differ from user to user
● Column Store = hbase/cassandra , billion of web pages index.
● Graph DB = when complex relationship matters: social networks.
When do you normalize your tables?
● eliminate redundant data, utilize space efficiently
● reduce update errors.
● in situations where we are storing immutable data such as financial
transactions or a particular day's price list.
When Not to normalize?
● Not to normalize?
a. Could you denormalize your schema to create flatter data structures that
are easier to scale?
b. When Multiple Joins are Needed to Produce a Commonly Accessed
View
c. decided to go with database partitioning/sharding then you will likely end
up resorting to denormalization
d. Normalization saves space, but space is cheap!
e. Normalization simplifies updates, but reads are more common!
f. Performance, performance, Performance
Document DB
● Database = multiple
collections, schema
less
● A collection of Json
files = table
● Notice that unlike a
relational table, not
all “rows” have a
value for all
“columns”
● Each json = “row”.
● Use Case: web
Document DB:
● Schema free, not relational
● Replications support
● Simple API
● Eventually consistent
● Distributed - scale horizontally (scale out)
● Open source? :)
Document DB: Mongo DB
● Document : Json / Binary Json = Bson
● Schema free
● Performance
○ Indexes
○ No transaction - (has atomic operations)
○ Memory mapped files (delayed writing)
● Scale
○ Auto sharding
○ Replication
● Commercially supported (10gen)
Document DB: Mongo DB
● Querying
○ MapReduce
○ Aggregations
○ Run in parallel on all nodes
● GridFS
○ Ability to store large files easily
● Geospatial Indexing
○ Add location easily
○ Find nearest node
● OS:
○ mac , linux, windows
Document DB: Mongo DB
● Collection = table
● Document = row, not each json is the same (schema less)
● Embedded = think “pre joined relationship”
● References = analog to foreign key, think “relationship”
● Sample Queries
○ db.orders.find ( {“state”: “bad”})
○ db.orders.find ({“state_nested.layer2”: “mostly bad”})
○ db .orders.find ({“sub_total”: {$gt : 1999}})
● Indexing:
○ db.orders.ensureIndex ({“state”:”1”})
Document DB: Mongo DB
● Inserting
○ db.orders.save({“id”: “abcd” , “state”:”good” “state_nested”: {“state”: “bad” , “frequency”:
”sometimes” } })
● Updating
○ Query/modify/save
■ Query document
■ Save to variable
■ Modify
■ save(variable)
○ Atomic Operations
■ db.orders.update(....)
● Components: Server, Shell, Sharing router, Rest API
Document DB: Mongo DB
● Replication
○ master /slave
○ Master / master (limited, unsafe for concurrent updates)
○ Failover support
○ Rack aware
○ DC aware
● Sharding
○ Define a shard key
○ Auto balance
○ Failover via replicas
○ Query run in parallel
AWS DynamoDB
● http://cloudacademy.com/blog/amazon-dynamodb-ten-things/
● Is a document DB and key value DB
● Amazon DynamoDB
○ is a managed, NoSQL database service (multi AZ)
○ has Predictable Performance
○ is designed for massive scalability (auto partition)
○ Data types
■ Scalar
■ Documents: (lists/maps/json like)
■ Multi valued: binary. String , int
○ Data models: table, items , attributes →
■ Tables are collections of Items, and Items are collections of Attributes.
■ Attributes : key value
■ Schema less, primary key
AWS DynamoDB
● Primary keys
○ Hash type key
○ Has and range type key
● Indexing
○ Local Secondary Index (LSI) --> upto 10GB, range key is mandatory
○ a Global Secondary Index (GSI). → only eventual consistency, either hash or hash+range. Key will be used for partitions.
● Partitions
○ auto by hash key
○ Logic of partitions
■ Size
■ Throughput,
■ Need to understand formula’s of partions for cost...
AWS DynamoDB
● Read about Dynamo streams
● Native integration with EMR and redshift
● Java script shell CLI for development
Key Value store
● Simple relations
● Very fast
● cheap
● Use case:
Shopping cart
Caching
Key Value store
● Most common brands
○ Redis
○ Memcache
○ Riak
○ AeroSpike
○ AWS simpleDB
● Sub categories of KV db: Eventually consistent (DynamoDB), RAM (redis),
ordered (memcache, InfiniDB)
● 4 common use cases
○ Dynamic Attributes
○ Calculating distinct values quickly
○ Top N calculation
○ Cache / Message Queue
Comparing redis and memcache
Redis memcache
usecase Database and caching (better for geographic caching/
multi DC caching/ huge caching)
Primarily for caching for large websites.
Simple, light, fast.
Distribution VERY HARD, performance impact. Single threaded. Very easy. Multi threaded.
Persistence to disk Yes, every 2 sec. No.volatile RAM. very costly to restart
service
Overload policy none LRU ?
Cache consistency none Check and set
Data Types Strings, ints,hashes, binary safe strings, lists, sets,
sorted sets.
Strings, ints, arrays require
serializations.
Length Upto 2GB 250 bytes
replication master/slave Not supported
Comparing redis and memcache
Redis memcache
installation easy
Mem consumption Efficient in hash data types Efficient in simple key value, less
metadata
Load of read /write Good read write supported.
Services reads & writes from DB
.(slower)
heavy read/writes as designed
for large websites load ,service
read writes from RAM. (not
though DB)
Performance Slightly faster on small objects.
Geo oriented.
Heavy load oriented
TTL (time to leave) yes.
Publish , subscribe for messaging Yes!
Columnar store
● The column families in a
table must be defined up
front, so HBase does
have a little schema, but
the columns in a particular
column family are not
● Notice that unlike a
relational table, not all
rows have a value for all
columns
● Use case: billions of
records, e.g index of all
websites pages. With
attributes.
Columnar HBASE
● There are no data types, for instance. Every table holds nothing but bytestrings. And each cell can contain
multiple time-stamped versions of a value, which is useful when applications might need to access older
information
● the rows in a table are broken into regions, each of which can be stored on a different machine. This is how an
HBase table scales to hold more data than will fit on a single machine
● HBase automatically partitions data across machines.
● HBase doesn’t provide a query language. Instead, an application can access the value of a particular cell by
providing three things: a column family, a column qualifier (i.e., a column name), and a row key. The request
can also specify the timestamp for a specific version of a cell’s data if desired
● because the rows are sorted by their keys, there’s no need for the client to know which region contains a
particular row; HBase can figure this out by itself. This approach is similar to a key/value store, and it provides
fast access
● doesn’t support secondary indexes;
Graph DB
● Represents data as graph
● When relationships are important
● E.g social graph
● Least common DB family
Neo4J
● ACID
● Super fasts on querying connections
● Scale Billions of nodes
● Infinite depth of connections
● 60% faster for friends of friends query
● On friends of friend 
. Friend in fifth
depth: SQL chokes, neo4j is X2000
faster
● Graph: nodes, relationships, properties
● Cypher Query Language: create,
update, remove nodes, relationships,
properties
In depth comparison of NoSql DB families

Mais conteĂșdo relacionado

Mais procurados

Hadoop Networking at Datasift
Hadoop Networking at DatasiftHadoop Networking at Datasift
Hadoop Networking at Datasifthuguk
 
Powering a Graph Data System with Scylla + JanusGraph
Powering a Graph Data System with Scylla + JanusGraphPowering a Graph Data System with Scylla + JanusGraph
Powering a Graph Data System with Scylla + JanusGraphScyllaDB
 
AWS Redshift Introduction - Big Data Analytics
AWS Redshift Introduction - Big Data AnalyticsAWS Redshift Introduction - Big Data Analytics
AWS Redshift Introduction - Big Data AnalyticsKeeyong Han
 
Emr spark tuning demystified
Emr spark tuning demystifiedEmr spark tuning demystified
Emr spark tuning demystifiedOmid Vahdaty
 
ScyllaDB's Avi Kivity on UDF, UDA, and the Future
ScyllaDB's Avi Kivity on UDF, UDA, and the FutureScyllaDB's Avi Kivity on UDF, UDA, and the Future
ScyllaDB's Avi Kivity on UDF, UDA, and the FutureScyllaDB
 
Cassandra
Cassandra Cassandra
Cassandra Pooja GV
 
Amazon RedShift - Ianni Vamvadelis
Amazon RedShift - Ianni VamvadelisAmazon RedShift - Ianni Vamvadelis
Amazon RedShift - Ianni Vamvadelishuguk
 
Writing powerful stored procedures in PL/SQL
Writing powerful stored procedures in PL/SQLWriting powerful stored procedures in PL/SQL
Writing powerful stored procedures in PL/SQLMariaDB plc
 
Dynamo db pros and cons
Dynamo db  pros and consDynamo db  pros and cons
Dynamo db pros and consSaniya Khalsa
 
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...ScyllaDB
 
Argus Production Monitoring at Salesforce
Argus Production Monitoring at SalesforceArgus Production Monitoring at Salesforce
Argus Production Monitoring at SalesforceHBaseCon
 
Best Practices for Data Warehousing with Amazon Redshift | AWS Public Sector ...
Best Practices for Data Warehousing with Amazon Redshift | AWS Public Sector ...Best Practices for Data Warehousing with Amazon Redshift | AWS Public Sector ...
Best Practices for Data Warehousing with Amazon Redshift | AWS Public Sector ...Amazon Web Services
 
Introduction to Apache Cassandra
Introduction to Apache CassandraIntroduction to Apache Cassandra
Introduction to Apache CassandraIntan Marselly
 
SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013
SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013
SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013Amazon Web Services
 
Scylla Summit 2018: Adventures in AdTech: Processing 50 Billion User Profiles...
Scylla Summit 2018: Adventures in AdTech: Processing 50 Billion User Profiles...Scylla Summit 2018: Adventures in AdTech: Processing 50 Billion User Profiles...
Scylla Summit 2018: Adventures in AdTech: Processing 50 Billion User Profiles...ScyllaDB
 
Cloudera Impala + PostgreSQL
Cloudera Impala + PostgreSQLCloudera Impala + PostgreSQL
Cloudera Impala + PostgreSQLliuknag
 
Deep Dive: Amazon DynamoDB
Deep Dive: Amazon DynamoDBDeep Dive: Amazon DynamoDB
Deep Dive: Amazon DynamoDBAmazon Web Services
 
Empowering the AWS DynamoDBℱ application developer with Alternator
Empowering the AWS DynamoDBℱ application developer with AlternatorEmpowering the AWS DynamoDBℱ application developer with Alternator
Empowering the AWS DynamoDBℱ application developer with AlternatorScyllaDB
 
Amazon Elastic Map Reduce - Ian Meyers
Amazon Elastic Map Reduce - Ian MeyersAmazon Elastic Map Reduce - Ian Meyers
Amazon Elastic Map Reduce - Ian Meyershuguk
 
Apache Sqoop: A Data Transfer Tool for Hadoop
Apache Sqoop: A Data Transfer Tool for HadoopApache Sqoop: A Data Transfer Tool for Hadoop
Apache Sqoop: A Data Transfer Tool for HadoopCloudera, Inc.
 

Mais procurados (20)

Hadoop Networking at Datasift
Hadoop Networking at DatasiftHadoop Networking at Datasift
Hadoop Networking at Datasift
 
Powering a Graph Data System with Scylla + JanusGraph
Powering a Graph Data System with Scylla + JanusGraphPowering a Graph Data System with Scylla + JanusGraph
Powering a Graph Data System with Scylla + JanusGraph
 
AWS Redshift Introduction - Big Data Analytics
AWS Redshift Introduction - Big Data AnalyticsAWS Redshift Introduction - Big Data Analytics
AWS Redshift Introduction - Big Data Analytics
 
Emr spark tuning demystified
Emr spark tuning demystifiedEmr spark tuning demystified
Emr spark tuning demystified
 
ScyllaDB's Avi Kivity on UDF, UDA, and the Future
ScyllaDB's Avi Kivity on UDF, UDA, and the FutureScyllaDB's Avi Kivity on UDF, UDA, and the Future
ScyllaDB's Avi Kivity on UDF, UDA, and the Future
 
Cassandra
Cassandra Cassandra
Cassandra
 
Amazon RedShift - Ianni Vamvadelis
Amazon RedShift - Ianni VamvadelisAmazon RedShift - Ianni Vamvadelis
Amazon RedShift - Ianni Vamvadelis
 
Writing powerful stored procedures in PL/SQL
Writing powerful stored procedures in PL/SQLWriting powerful stored procedures in PL/SQL
Writing powerful stored procedures in PL/SQL
 
Dynamo db pros and cons
Dynamo db  pros and consDynamo db  pros and cons
Dynamo db pros and cons
 
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
MongoDB vs Scylla: Production Experience from Both Dev & Ops Standpoint at Nu...
 
Argus Production Monitoring at Salesforce
Argus Production Monitoring at SalesforceArgus Production Monitoring at Salesforce
Argus Production Monitoring at Salesforce
 
Best Practices for Data Warehousing with Amazon Redshift | AWS Public Sector ...
Best Practices for Data Warehousing with Amazon Redshift | AWS Public Sector ...Best Practices for Data Warehousing with Amazon Redshift | AWS Public Sector ...
Best Practices for Data Warehousing with Amazon Redshift | AWS Public Sector ...
 
Introduction to Apache Cassandra
Introduction to Apache CassandraIntroduction to Apache Cassandra
Introduction to Apache Cassandra
 
SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013
SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013
SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013
 
Scylla Summit 2018: Adventures in AdTech: Processing 50 Billion User Profiles...
Scylla Summit 2018: Adventures in AdTech: Processing 50 Billion User Profiles...Scylla Summit 2018: Adventures in AdTech: Processing 50 Billion User Profiles...
Scylla Summit 2018: Adventures in AdTech: Processing 50 Billion User Profiles...
 
Cloudera Impala + PostgreSQL
Cloudera Impala + PostgreSQLCloudera Impala + PostgreSQL
Cloudera Impala + PostgreSQL
 
Deep Dive: Amazon DynamoDB
Deep Dive: Amazon DynamoDBDeep Dive: Amazon DynamoDB
Deep Dive: Amazon DynamoDB
 
Empowering the AWS DynamoDBℱ application developer with Alternator
Empowering the AWS DynamoDBℱ application developer with AlternatorEmpowering the AWS DynamoDBℱ application developer with Alternator
Empowering the AWS DynamoDBℱ application developer with Alternator
 
Amazon Elastic Map Reduce - Ian Meyers
Amazon Elastic Map Reduce - Ian MeyersAmazon Elastic Map Reduce - Ian Meyers
Amazon Elastic Map Reduce - Ian Meyers
 
Apache Sqoop: A Data Transfer Tool for Hadoop
Apache Sqoop: A Data Transfer Tool for HadoopApache Sqoop: A Data Transfer Tool for Hadoop
Apache Sqoop: A Data Transfer Tool for Hadoop
 

Destaque

Top de la s10 herramientas
Top de la s10 herramientasTop de la s10 herramientas
Top de la s10 herramientasacj
 
How to Build the Ultimate Customer Demand Generation Machine
How to Build the Ultimate Customer Demand Generation MachineHow to Build the Ultimate Customer Demand Generation Machine
How to Build the Ultimate Customer Demand Generation MachineMarketo
 
Broschuere BSTA 410-110_EN_Ansicht_ES
Broschuere BSTA 410-110_EN_Ansicht_ESBroschuere BSTA 410-110_EN_Ansicht_ES
Broschuere BSTA 410-110_EN_Ansicht_ESRodrigo Caramello Silva
 
Culturas preincas
Culturas preincasCulturas preincas
Culturas preincasCynthiahh
 
YvonneTan_Resume[1]
YvonneTan_Resume[1]YvonneTan_Resume[1]
YvonneTan_Resume[1]Yvonne Tan
 
Rock Content Marketing In 2016 With Scripted
Rock Content Marketing In 2016 With ScriptedRock Content Marketing In 2016 With Scripted
Rock Content Marketing In 2016 With ScriptedScripted.com
 
How Sightlines Can Change the Conversation on Your Campus
How Sightlines Can Change the Conversation on Your CampusHow Sightlines Can Change the Conversation on Your Campus
How Sightlines Can Change the Conversation on Your CampusSightlines
 
Avaliação cardiorespiratoria (2)
Avaliação cardiorespiratoria (2)Avaliação cardiorespiratoria (2)
Avaliação cardiorespiratoria (2)Ezio Oliveira
 
MongoDB Management & Ansible
MongoDB Management & AnsibleMongoDB Management & Ansible
MongoDB Management & AnsibleMongoDB
 
Introduction to apache zoo keeper
Introduction to apache zoo keeper Introduction to apache zoo keeper
Introduction to apache zoo keeper Omid Vahdaty
 
Success with Predictive Content: The Story of Hatch Early Learning
Success with Predictive Content: The Story of Hatch Early LearningSuccess with Predictive Content: The Story of Hatch Early Learning
Success with Predictive Content: The Story of Hatch Early LearningMarketo
 
Flume vs. kafka
Flume vs. kafkaFlume vs. kafka
Flume vs. kafkaOmid Vahdaty
 

Destaque (15)

Intb3 vnomg
Intb3 vnomgIntb3 vnomg
Intb3 vnomg
 
Top de la s10 herramientas
Top de la s10 herramientasTop de la s10 herramientas
Top de la s10 herramientas
 
Bpcl
BpclBpcl
Bpcl
 
How to Build the Ultimate Customer Demand Generation Machine
How to Build the Ultimate Customer Demand Generation MachineHow to Build the Ultimate Customer Demand Generation Machine
How to Build the Ultimate Customer Demand Generation Machine
 
Broschuere BSTA 410-110_EN_Ansicht_ES
Broschuere BSTA 410-110_EN_Ansicht_ESBroschuere BSTA 410-110_EN_Ansicht_ES
Broschuere BSTA 410-110_EN_Ansicht_ES
 
Culturas preincas
Culturas preincasCulturas preincas
Culturas preincas
 
Resume
ResumeResume
Resume
 
YvonneTan_Resume[1]
YvonneTan_Resume[1]YvonneTan_Resume[1]
YvonneTan_Resume[1]
 
Rock Content Marketing In 2016 With Scripted
Rock Content Marketing In 2016 With ScriptedRock Content Marketing In 2016 With Scripted
Rock Content Marketing In 2016 With Scripted
 
How Sightlines Can Change the Conversation on Your Campus
How Sightlines Can Change the Conversation on Your CampusHow Sightlines Can Change the Conversation on Your Campus
How Sightlines Can Change the Conversation on Your Campus
 
Avaliação cardiorespiratoria (2)
Avaliação cardiorespiratoria (2)Avaliação cardiorespiratoria (2)
Avaliação cardiorespiratoria (2)
 
MongoDB Management & Ansible
MongoDB Management & AnsibleMongoDB Management & Ansible
MongoDB Management & Ansible
 
Introduction to apache zoo keeper
Introduction to apache zoo keeper Introduction to apache zoo keeper
Introduction to apache zoo keeper
 
Success with Predictive Content: The Story of Hatch Early Learning
Success with Predictive Content: The Story of Hatch Early LearningSuccess with Predictive Content: The Story of Hatch Early Learning
Success with Predictive Content: The Story of Hatch Early Learning
 
Flume vs. kafka
Flume vs. kafkaFlume vs. kafka
Flume vs. kafka
 

Semelhante a Introduction to NoSql

NoSQL
NoSQLNoSQL
NoSQLdbulic
 
DynamoDB Gluecon 2012
DynamoDB Gluecon 2012DynamoDB Gluecon 2012
DynamoDB Gluecon 2012Appirio
 
Gluecon 2012 - DynamoDB
Gluecon 2012 - DynamoDBGluecon 2012 - DynamoDB
Gluecon 2012 - DynamoDBJeff Douglas
 
Why no sql ? Why Couchbase ?
Why no sql ? Why Couchbase ?Why no sql ? Why Couchbase ?
Why no sql ? Why Couchbase ?Ahmed Rashwan
 
Mongo db transcript
Mongo db transcriptMongo db transcript
Mongo db transcriptfoliba
 
NoSQL.pptx
NoSQL.pptxNoSQL.pptx
NoSQL.pptxRithikRaj25
 
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Don Demcsak
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL DatabasesBADR
 
NoSQL and MongoDB
NoSQL and MongoDBNoSQL and MongoDB
NoSQL and MongoDBRajesh Menon
 
MongoDB
MongoDBMongoDB
MongoDBfsbrooke
 
Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databasesJames Serra
 
No sql bigdata and postgresql
No sql bigdata and postgresqlNo sql bigdata and postgresql
No sql bigdata and postgresqlZaid Shabbir
 
NoSql Databases
NoSql DatabasesNoSql Databases
NoSql DatabasesNimat Khattak
 
Front Range PHP NoSQL Databases
Front Range PHP NoSQL DatabasesFront Range PHP NoSQL Databases
Front Range PHP NoSQL DatabasesJon Meredith
 
Beyond Relational Databases
Beyond Relational DatabasesBeyond Relational Databases
Beyond Relational DatabasesGregory Boissinot
 
NoSQL Solutions - a comparative study
NoSQL Solutions - a comparative studyNoSQL Solutions - a comparative study
NoSQL Solutions - a comparative studyGuillaume Lefranc
 
A Presentation on MongoDB Introduction - Habilelabs
A Presentation on MongoDB Introduction - HabilelabsA Presentation on MongoDB Introduction - Habilelabs
A Presentation on MongoDB Introduction - HabilelabsHabilelabs
 

Semelhante a Introduction to NoSql (20)

Nosql seminar
Nosql seminarNosql seminar
Nosql seminar
 
NoSQL
NoSQLNoSQL
NoSQL
 
DynamoDB Gluecon 2012
DynamoDB Gluecon 2012DynamoDB Gluecon 2012
DynamoDB Gluecon 2012
 
Gluecon 2012 - DynamoDB
Gluecon 2012 - DynamoDBGluecon 2012 - DynamoDB
Gluecon 2012 - DynamoDB
 
Why no sql ? Why Couchbase ?
Why no sql ? Why Couchbase ?Why no sql ? Why Couchbase ?
Why no sql ? Why Couchbase ?
 
Mongo db transcript
Mongo db transcriptMongo db transcript
Mongo db transcript
 
Hbase: an introduction
Hbase: an introductionHbase: an introduction
Hbase: an introduction
 
NoSQL.pptx
NoSQL.pptxNoSQL.pptx
NoSQL.pptx
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 
NoSQL and MongoDB
NoSQL and MongoDBNoSQL and MongoDB
NoSQL and MongoDB
 
MongoDB
MongoDBMongoDB
MongoDB
 
Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databases
 
No sql bigdata and postgresql
No sql bigdata and postgresqlNo sql bigdata and postgresql
No sql bigdata and postgresql
 
NoSql Databases
NoSql DatabasesNoSql Databases
NoSql Databases
 
Front Range PHP NoSQL Databases
Front Range PHP NoSQL DatabasesFront Range PHP NoSQL Databases
Front Range PHP NoSQL Databases
 
Beyond Relational Databases
Beyond Relational DatabasesBeyond Relational Databases
Beyond Relational Databases
 
NoSQL Solutions - a comparative study
NoSQL Solutions - a comparative studyNoSQL Solutions - a comparative study
NoSQL Solutions - a comparative study
 
A Presentation on MongoDB Introduction - Habilelabs
A Presentation on MongoDB Introduction - HabilelabsA Presentation on MongoDB Introduction - Habilelabs
A Presentation on MongoDB Introduction - Habilelabs
 

Mais de Omid Vahdaty

Data Pipline Observability meetup
Data Pipline Observability meetup Data Pipline Observability meetup
Data Pipline Observability meetup Omid Vahdaty
 
Couchbase Data Platform | Big Data Demystified
Couchbase Data Platform | Big Data DemystifiedCouchbase Data Platform | Big Data Demystified
Couchbase Data Platform | Big Data DemystifiedOmid Vahdaty
 
Machine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data DemystifiedMachine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data DemystifiedOmid Vahdaty
 
Machine Learning Essentials Demystified part1 | Big Data Demystified
Machine Learning Essentials Demystified part1 | Big Data DemystifiedMachine Learning Essentials Demystified part1 | Big Data Demystified
Machine Learning Essentials Demystified part1 | Big Data DemystifiedOmid Vahdaty
 
The technology of fake news between a new front and a new frontier | Big Dat...
The technology of fake news  between a new front and a new frontier | Big Dat...The technology of fake news  between a new front and a new frontier | Big Dat...
The technology of fake news between a new front and a new frontier | Big Dat...Omid Vahdaty
 
Big Data in 200 km/h | AWS Big Data Demystified #1.3
Big Data in 200 km/h | AWS Big Data Demystified #1.3  Big Data in 200 km/h | AWS Big Data Demystified #1.3
Big Data in 200 km/h | AWS Big Data Demystified #1.3 Omid Vahdaty
 
Making your analytics talk business | Big Data Demystified
Making your analytics talk business | Big Data DemystifiedMaking your analytics talk business | Big Data Demystified
Making your analytics talk business | Big Data DemystifiedOmid Vahdaty
 
BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...
BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...
BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...Omid Vahdaty
 
AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...
AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...
AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...Omid Vahdaty
 
Aerospike meetup july 2019 | Big Data Demystified
Aerospike meetup july 2019 | Big Data DemystifiedAerospike meetup july 2019 | Big Data Demystified
Aerospike meetup july 2019 | Big Data DemystifiedOmid Vahdaty
 
ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...
ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...
ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...Omid Vahdaty
 
AWS Big Data Demystified #1.2 | Big Data architecture lessons learned
AWS Big Data Demystified #1.2 | Big Data architecture lessons learned AWS Big Data Demystified #1.2 | Big Data architecture lessons learned
AWS Big Data Demystified #1.2 | Big Data architecture lessons learned Omid Vahdaty
 
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | English
AWS big-data-demystified #1.1  | Big Data Architecture Lessons Learned | EnglishAWS big-data-demystified #1.1  | Big Data Architecture Lessons Learned | English
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | EnglishOmid Vahdaty
 
AWS Big Data Demystified #4 data governance demystified [security, networ...
AWS Big Data Demystified #4   data governance demystified   [security, networ...AWS Big Data Demystified #4   data governance demystified   [security, networ...
AWS Big Data Demystified #4 data governance demystified [security, networ...Omid Vahdaty
 
AWS Big Data Demystified #1: Big data architecture lessons learned
AWS Big Data Demystified #1: Big data architecture lessons learned AWS Big Data Demystified #1: Big data architecture lessons learned
AWS Big Data Demystified #1: Big data architecture lessons learned Omid Vahdaty
 
Emr zeppelin & Livy demystified
Emr zeppelin & Livy demystifiedEmr zeppelin & Livy demystified
Emr zeppelin & Livy demystifiedOmid Vahdaty
 
Zeppelin and spark sql demystified
Zeppelin and spark sql demystifiedZeppelin and spark sql demystified
Zeppelin and spark sql demystifiedOmid Vahdaty
 
Aws s3 security
Aws s3 securityAws s3 security
Aws s3 securityOmid Vahdaty
 
Introduction to streaming and messaging flume,kafka,SQS,kinesis
Introduction to streaming and messaging  flume,kafka,SQS,kinesis Introduction to streaming and messaging  flume,kafka,SQS,kinesis
Introduction to streaming and messaging flume,kafka,SQS,kinesis Omid Vahdaty
 
Introduction to aws dynamo db
Introduction to aws dynamo dbIntroduction to aws dynamo db
Introduction to aws dynamo dbOmid Vahdaty
 

Mais de Omid Vahdaty (20)

Data Pipline Observability meetup
Data Pipline Observability meetup Data Pipline Observability meetup
Data Pipline Observability meetup
 
Couchbase Data Platform | Big Data Demystified
Couchbase Data Platform | Big Data DemystifiedCouchbase Data Platform | Big Data Demystified
Couchbase Data Platform | Big Data Demystified
 
Machine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data DemystifiedMachine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data Demystified
 
Machine Learning Essentials Demystified part1 | Big Data Demystified
Machine Learning Essentials Demystified part1 | Big Data DemystifiedMachine Learning Essentials Demystified part1 | Big Data Demystified
Machine Learning Essentials Demystified part1 | Big Data Demystified
 
The technology of fake news between a new front and a new frontier | Big Dat...
The technology of fake news  between a new front and a new frontier | Big Dat...The technology of fake news  between a new front and a new frontier | Big Dat...
The technology of fake news between a new front and a new frontier | Big Dat...
 
Big Data in 200 km/h | AWS Big Data Demystified #1.3
Big Data in 200 km/h | AWS Big Data Demystified #1.3  Big Data in 200 km/h | AWS Big Data Demystified #1.3
Big Data in 200 km/h | AWS Big Data Demystified #1.3
 
Making your analytics talk business | Big Data Demystified
Making your analytics talk business | Big Data DemystifiedMaking your analytics talk business | Big Data Demystified
Making your analytics talk business | Big Data Demystified
 
BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...
BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...
BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...
 
AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...
AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...
AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...
 
Aerospike meetup july 2019 | Big Data Demystified
Aerospike meetup july 2019 | Big Data DemystifiedAerospike meetup july 2019 | Big Data Demystified
Aerospike meetup july 2019 | Big Data Demystified
 
ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...
ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...
ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...
 
AWS Big Data Demystified #1.2 | Big Data architecture lessons learned
AWS Big Data Demystified #1.2 | Big Data architecture lessons learned AWS Big Data Demystified #1.2 | Big Data architecture lessons learned
AWS Big Data Demystified #1.2 | Big Data architecture lessons learned
 
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | English
AWS big-data-demystified #1.1  | Big Data Architecture Lessons Learned | EnglishAWS big-data-demystified #1.1  | Big Data Architecture Lessons Learned | English
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | English
 
AWS Big Data Demystified #4 data governance demystified [security, networ...
AWS Big Data Demystified #4   data governance demystified   [security, networ...AWS Big Data Demystified #4   data governance demystified   [security, networ...
AWS Big Data Demystified #4 data governance demystified [security, networ...
 
AWS Big Data Demystified #1: Big data architecture lessons learned
AWS Big Data Demystified #1: Big data architecture lessons learned AWS Big Data Demystified #1: Big data architecture lessons learned
AWS Big Data Demystified #1: Big data architecture lessons learned
 
Emr zeppelin & Livy demystified
Emr zeppelin & Livy demystifiedEmr zeppelin & Livy demystified
Emr zeppelin & Livy demystified
 
Zeppelin and spark sql demystified
Zeppelin and spark sql demystifiedZeppelin and spark sql demystified
Zeppelin and spark sql demystified
 
Aws s3 security
Aws s3 securityAws s3 security
Aws s3 security
 
Introduction to streaming and messaging flume,kafka,SQS,kinesis
Introduction to streaming and messaging  flume,kafka,SQS,kinesis Introduction to streaming and messaging  flume,kafka,SQS,kinesis
Introduction to streaming and messaging flume,kafka,SQS,kinesis
 
Introduction to aws dynamo db
Introduction to aws dynamo dbIntroduction to aws dynamo db
Introduction to aws dynamo db
 

Último

CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxPurva Nikam
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniquesugginaramesh
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Call Us ≜ 8377877756 ≌ Call Girls In Shastri Nagar (Delhi)
Call Us ≜ 8377877756 ≌ Call Girls In Shastri Nagar (Delhi)Call Us ≜ 8377877756 ≌ Call Girls In Shastri Nagar (Delhi)
Call Us ≜ 8377877756 ≌ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 

Último (20)

CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
An introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptxAn introduction to Semiconductor and its types.pptx
An introduction to Semiconductor and its types.pptx
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniques
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Call Us ≜ 8377877756 ≌ Call Girls In Shastri Nagar (Delhi)
Call Us ≜ 8377877756 ≌ Call Girls In Shastri Nagar (Delhi)Call Us ≜ 8377877756 ≌ Call Girls In Shastri Nagar (Delhi)
Call Us ≜ 8377877756 ≌ Call Girls In Shastri Nagar (Delhi)
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 

Introduction to NoSql

  • 1. Introduction to NoSQL Omid Vahdaty, Cloud Ninja
  • 2. What is ACID ? Atomic - all or nothing. Either query completed or not. (transaction) Consistency - once transaction committed - that must conform with with the constraints of the schema. Requires a well defined schema (anti pattern to NoSQL). Great for READ intensive and AD HOC queries. Locking of data until transaction is finished. → performance bottleneck. Consistency uses cases “Strongly consistent” : bank transactions must be ACCURATE “Eventually consistent”: social media feed updates. (not all users must see same results at the same time. Isolations - concurrent queries - must run in isolation, this ensuring same result. Durable - once transaction is executed, data will preserved. E.g. power failure
  • 3. NoSql Advantages ● Advantages? a. Non-relational and schema-less data model b. Low latency and high performance c. Highly scalable d. SQL queries are not well suited for the object oriented data structures that are used in most applications now. e. Some application operations require multiple and/or very complex queries. In that case, data mapping and query generation complexity raises too much and becomes difficult to maintain on the application side.
  • 4. NoSQL DB types ● Key value store. ● Document store - e.g json. document stores are used for aggregate objects that have no shared complex data between them and to quickly search or filter by some object properties. ● column family. These are used for organizing data based on individual columns where actual data is used as a key to refer to whole data collection. This particular approach is used for very large scalable databases to greatly reduce time for searching data ● Graph databases map more directly to object oriented programming models and are faster for highly associative data sets and graph queries. Furthermore they typically support ACID transaction properties in the same way as most RDBMS.
  • 6.
  • 8. Big Data Landscape Key value document colunar graph OLTP OLAP Hadoop OpenSource Redis, Riak Mongo, CouchDB Cassandra , Hbase Neo4J MySQL Postgrtess hadoop AWS Dynamo DynamoD B Aurora Redshift EMR GCP BigTable BigQuery Azure Tables Document DB “Hbase” Azure SQL HDInsights
  • 9. NoSQL uses cases ● Usecases a. Application requiring horizontal scaling : Entity-attribute-value = fetch by distinct value i. Mobile APP with millions of users - for each user: READ/WRITE ii. The equivalent in OLTP is sharding - VERY COMPLEX. b. User Preferences, fetch by distinct value i. (structure may change dynamically) ii. Per user do something. c. Low latency / session state i. Ad tech , and large scale web servers- capturing cookie state ii. Gaming - game state d. Thousand of requests per seconds (WRITE only) i. Reality - voting ii. Application monitoring and IoT- logs and json.
  • 10. NoSQL AntiPattern ● AntiPatterns: ○ Ad hoc Queries ○ OLAP ○ BLOB
  • 11. Use cases simplified- DB family ● Key value = large amount of data, fast access, simple relations: online shopping carts. ● Documents DB = User info , web applications. Each user = document, with attributes. May differ from user to user ● Column Store = hbase/cassandra , billion of web pages index. ● Graph DB = when complex relationship matters: social networks.
  • 12. When do you normalize your tables? ● eliminate redundant data, utilize space efficiently ● reduce update errors. ● in situations where we are storing immutable data such as financial transactions or a particular day's price list.
  • 13. When Not to normalize? ● Not to normalize? a. Could you denormalize your schema to create flatter data structures that are easier to scale? b. When Multiple Joins are Needed to Produce a Commonly Accessed View c. decided to go with database partitioning/sharding then you will likely end up resorting to denormalization d. Normalization saves space, but space is cheap! e. Normalization simplifies updates, but reads are more common! f. Performance, performance, Performance
  • 14. Document DB ● Database = multiple collections, schema less ● A collection of Json files = table ● Notice that unlike a relational table, not all “rows” have a value for all “columns” ● Each json = “row”. ● Use Case: web
  • 15. Document DB: ● Schema free, not relational ● Replications support ● Simple API ● Eventually consistent ● Distributed - scale horizontally (scale out) ● Open source? :)
  • 16. Document DB: Mongo DB ● Document : Json / Binary Json = Bson ● Schema free ● Performance ○ Indexes ○ No transaction - (has atomic operations) ○ Memory mapped files (delayed writing) ● Scale ○ Auto sharding ○ Replication ● Commercially supported (10gen)
  • 17. Document DB: Mongo DB ● Querying ○ MapReduce ○ Aggregations ○ Run in parallel on all nodes ● GridFS ○ Ability to store large files easily ● Geospatial Indexing ○ Add location easily ○ Find nearest node ● OS: ○ mac , linux, windows
  • 18. Document DB: Mongo DB ● Collection = table ● Document = row, not each json is the same (schema less) ● Embedded = think “pre joined relationship” ● References = analog to foreign key, think “relationship” ● Sample Queries ○ db.orders.find ( {“state”: “bad”}) ○ db.orders.find ({“state_nested.layer2”: “mostly bad”}) ○ db .orders.find ({“sub_total”: {$gt : 1999}}) ● Indexing: ○ db.orders.ensureIndex ({“state”:”1”})
  • 19. Document DB: Mongo DB ● Inserting ○ db.orders.save({“id”: “abcd” , “state”:”good” “state_nested”: {“state”: “bad” , “frequency”: ”sometimes” } }) ● Updating ○ Query/modify/save ■ Query document ■ Save to variable ■ Modify ■ save(variable) ○ Atomic Operations ■ db.orders.update(....) ● Components: Server, Shell, Sharing router, Rest API
  • 20. Document DB: Mongo DB ● Replication ○ master /slave ○ Master / master (limited, unsafe for concurrent updates) ○ Failover support ○ Rack aware ○ DC aware ● Sharding ○ Define a shard key ○ Auto balance ○ Failover via replicas ○ Query run in parallel
  • 21.
  • 22. AWS DynamoDB ● http://cloudacademy.com/blog/amazon-dynamodb-ten-things/ ● Is a document DB and key value DB ● Amazon DynamoDB ○ is a managed, NoSQL database service (multi AZ) ○ has Predictable Performance ○ is designed for massive scalability (auto partition) ○ Data types ■ Scalar ■ Documents: (lists/maps/json like) ■ Multi valued: binary. String , int ○ Data models: table, items , attributes → ■ Tables are collections of Items, and Items are collections of Attributes. ■ Attributes : key value ■ Schema less, primary key
  • 23. AWS DynamoDB ● Primary keys ○ Hash type key ○ Has and range type key ● Indexing ○ Local Secondary Index (LSI) --> upto 10GB, range key is mandatory ○ a Global Secondary Index (GSI). → only eventual consistency, either hash or hash+range. Key will be used for partitions. ● Partitions ○ auto by hash key ○ Logic of partitions ■ Size ■ Throughput, ■ Need to understand formula’s of partions for cost...
  • 24. AWS DynamoDB ● Read about Dynamo streams ● Native integration with EMR and redshift ● Java script shell CLI for development
  • 25. Key Value store ● Simple relations ● Very fast ● cheap ● Use case: Shopping cart Caching
  • 26. Key Value store ● Most common brands ○ Redis ○ Memcache ○ Riak ○ AeroSpike ○ AWS simpleDB ● Sub categories of KV db: Eventually consistent (DynamoDB), RAM (redis), ordered (memcache, InfiniDB) ● 4 common use cases ○ Dynamic Attributes ○ Calculating distinct values quickly ○ Top N calculation ○ Cache / Message Queue
  • 27. Comparing redis and memcache Redis memcache usecase Database and caching (better for geographic caching/ multi DC caching/ huge caching) Primarily for caching for large websites. Simple, light, fast. Distribution VERY HARD, performance impact. Single threaded. Very easy. Multi threaded. Persistence to disk Yes, every 2 sec. No.volatile RAM. very costly to restart service Overload policy none LRU ? Cache consistency none Check and set Data Types Strings, ints,hashes, binary safe strings, lists, sets, sorted sets. Strings, ints, arrays require serializations. Length Upto 2GB 250 bytes replication master/slave Not supported
  • 28. Comparing redis and memcache Redis memcache installation easy Mem consumption Efficient in hash data types Efficient in simple key value, less metadata Load of read /write Good read write supported. Services reads & writes from DB .(slower) heavy read/writes as designed for large websites load ,service read writes from RAM. (not though DB) Performance Slightly faster on small objects. Geo oriented. Heavy load oriented TTL (time to leave) yes. Publish , subscribe for messaging Yes!
  • 29. Columnar store ● The column families in a table must be defined up front, so HBase does have a little schema, but the columns in a particular column family are not ● Notice that unlike a relational table, not all rows have a value for all columns ● Use case: billions of records, e.g index of all websites pages. With attributes.
  • 30. Columnar HBASE ● There are no data types, for instance. Every table holds nothing but bytestrings. And each cell can contain multiple time-stamped versions of a value, which is useful when applications might need to access older information ● the rows in a table are broken into regions, each of which can be stored on a different machine. This is how an HBase table scales to hold more data than will fit on a single machine ● HBase automatically partitions data across machines. ● HBase doesn’t provide a query language. Instead, an application can access the value of a particular cell by providing three things: a column family, a column qualifier (i.e., a column name), and a row key. The request can also specify the timestamp for a specific version of a cell’s data if desired ● because the rows are sorted by their keys, there’s no need for the client to know which region contains a particular row; HBase can figure this out by itself. This approach is similar to a key/value store, and it provides fast access ● doesn’t support secondary indexes;
  • 31. Graph DB ● Represents data as graph ● When relationships are important ● E.g social graph ● Least common DB family
  • 32. Neo4J ● ACID ● Super fasts on querying connections ● Scale Billions of nodes ● Infinite depth of connections ● 60% faster for friends of friends query ● On friends of friend 
. Friend in fifth depth: SQL chokes, neo4j is X2000 faster ● Graph: nodes, relationships, properties ● Cypher Query Language: create, update, remove nodes, relationships, properties
  • 33. In depth comparison of NoSql DB families