Date post: | 17-Jul-2015 |
Category: |
Data & Analytics |
Upload: | karthi-keyan |
View: | 194 times |
Download: | 2 times |
NO SQL NO SQL
- What, Why , How, Where, Which- What, Why , How, Where, Which
What is NoSql..?What is NoSql..?
It is an approach to data management and It is an approach to data management and database design that's useful for very large database design that's useful for very large sets of distributed data. sets of distributed data.
Important Characteristics of NoSql Important Characteristics of NoSql DB are:DB are:
◦Non – Relational.◦ Distributed Architecture.◦ Horizontally Scalable(Shards).◦ Schema –Free.◦Open – Source.◦ Asynchronous Inserts & Updates.
Example :Example :
Types of NoSql Data Store:Types of NoSql Data Store:
Types of NoSql Data Store:Types of NoSql Data Store:
RedisDynamoMamCacheDB
CassandraBigTableHbase
MongoDBCouchDBSimpleDB
Graph Database:
Types of NoSql Data Store:Types of NoSql Data Store:
Neo4JBigData
Why NoSql..?Why NoSql..?
• RDBMS - ACID (Atomicity, Consistency, Isolation, and Durability).
The ACID properties of RDBMS guaranteed reliability by locking records while being updated.
• NoSQL - BASE (Basically Available, Soft-state, and Eventually Consistent)
This means while you can scale up your database and make it highly available, the consistency of data may not be immediate.
Features NoSql :Features NoSql :
Features NoSql :Features NoSql :
Scale Out (horizontal).Simpler data model (less joins).Redundancy/Reliability.Schema less.Rapid Development / coder friendly.Flexibility / semi-structured /
unstructured / structured
What NoSql Gives Up.. !:What NoSql Gives Up.. !:
Joins, group by, order by…No complex transactional support.A General Lack Of Maturity.Analytics and BI (It doesn’t play nice with
Analytics).Support / expertise availability.
How to Choose NoSql..?How to Choose NoSql..?
CAP Theorem : CAP Theorem :
http://www.brainsins.com/en/blog/main-big-data-technologies-nosql/2381
How to choose No Sql ? How to choose No Sql ?
Three primary concerns are, According to the CAP Theorem, you can only pick two.
◦ Consistency means that each client always has the same view of the data.
◦ Availability means that all clients can always read and write.
◦ Partition tolerance means that the system works well across physical network partitions.
Consistent, Available (CA) Systems Consistent, Available (CA) Systems have trouble with partitions and typically have trouble with partitions and typically deal with it with replication. deal with it with replication.
◦ Traditional RDBMSs like Postgres, MySQL, etc (relational)◦ Vertica (column-oriented)◦ Aster Data (relational)◦ Greenplum (relational)
Consistent, Partition-Tolerant (CP) Systems Consistent, Partition-Tolerant (CP) Systems have trouble with availability while keeping data have trouble with availability while keeping data consistent across partitioned nodes.consistent across partitioned nodes.
◦ BigTable (column-oriented/tabular)◦ Hypertable (column-oriented/tabular)◦ Hbase (column-oriented/tabular)◦ MongoDB (document-oriented) Redis (key-value)◦ Scalaris (key-value)◦ MemcacheDB (key-value)◦ Berkeley DB (key-value)
Available, Partition-Tolerant (AP) Systems Available, Partition-Tolerant (AP) Systems achieve "eventual consistency" through achieve "eventual consistency" through replication and verification. replication and verification.
◦ Dynamo (key-value)◦ Voldemort (key-value)◦ Cassandra (column-oriented/tabular)◦ CouchDB (document-oriented)◦ SimpleDB (document-oriented)◦ Riak (document-oriented)
Where to Use NoSql..?Where to Use NoSql..?
When we have scalability issues with your RDBMS, achieving scale at an acceptable cost
We have an application where data models change frequently and you cannot fix them, a pre-requisite for a RDBMS implementation
We deal with temporary data which does not get stored in the main transaction tables.
We can allow temporary inconsistencies of data e.g. updates on social networking sites can take time to be visible to all users
We need to query data which is non-hierarchical.
We have de-normalized data in your RDBMS.
Which is Better..?Which is Better..?
NoSQL SQL
Queries . +
Transactions . +
Consistency . +
Scalability + .
Management + .
Schema + .
SQL : SQL : Works Great, Can’t scale for Large Data
NoSQL :NoSQL :Works Great, Can’t fit for All
SQL + NoSQLSQL + NoSQL
Sineario1:
Transaction DB Aggregated Reporting DB
Report DB Session or Caching DB
Sineario 2:
Content DB
Sineario 4:
Sineario 3:
Transaction DB
ArchiveDB
Loging DB