Why NoSQL?
NoSQL 是為了解決RDBMS的3大問題:
1、可擴展性:比如跨不同機器對數據進行分區的能力。
2、提高性能:在某些情況下,RDBMS的性能比較低。
3、固定的Schema:RDBMS有很多好處(參照完整性,關系,觸發器等等),但是強迫你把所有數據存儲在一個固定的模式下(Schema)。
基本來說有幾種不同類型的NoSQL數據庫:
1、Key-Value:如Scalaris, Tokio Cabinet, Voldemort;
store data in key/value pairs: very efficient for performance and higly scalable, but difficult to query and to implement real world problems
2、Tabular:如Cassandra, Hbase, Hypertable, Google Bigtable;
store data in tabular structures, but columns may vary in time and each row may have only a subset of the columns
3、Document-Oriented:如CouchDb, MongoDb, Riak, Amazon SimpleDb;
like Key/Value but they let you nest more values for a key. This is a nice paradigm for programmers as it becomes easy, specially with script languages (Python, Ruby, PHP...), to implement a one to one mapping relation between the code objects and the objects (documents) in the database
4、Graph:如Neo4J, InfoGrid, AllegroGraph;
stores objects and relationships in nodes and edges of a graph. For situations that fit this model, like hierarchical data, this solution can be much much faster than the other ones.
?
MongoDb is a document oriented NoSQL database. With such a database it is very easy to map the programming objects (documents) we want to store to the database. JSON is a very viable standard to do this mapping, and so MongoDb does: it stores JSON documents in the database.
To makes performance better JSON is stored by MongoDb in a efficient binary format called BSON. BSON is a binary serialization of JSON-like documents and stands for Binary JSON.
?
http://www.rackspace.com/blog/nosql-ecosystem/
轉載于:https://www.cnblogs.com/winson/p/3270104.html
總結
以上是生活随笔為你收集整理的Why NoSQL?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows下安装RabbitMQ消息
- 下一篇: getchar()和getch()的区别