原文:
Here’s their list of things to know:
- Understand how ACID compares with BASE (Basically Available, Soft-state, Eventually Consistent)
- Understand persistence vs non-persistence, i.e., some NoSQL technologies are entirely in-memory data stores
- Recognize there are entirely different data models from traditional normalized tabular formats: Columnar (Cassandra) vs key/value (Memcached) vs document-oriented (CouchDB) vs graph oriented (Neo4j)
- Be ready to deal with no standard interface like JDBC/ODBC or standarized query language like SQL; every NoSQL tool has a different interface
- Architects: rewire your brain to the fact that web-scale/large-scale NoSQL systems are distributed across dozens to hundreds of servers and networks as opposed to a shared database system
- Get used to the possibly uncomfortable realization that you won’t know where data lives (most of the time)
- Get used to the fact that data may not always be consistent; ‘eventually consistent’ is one of the key elements of the BASE model (I see this latency issue all the time in Twitter, in ‘Followers’ list)
- Get used to the fact that data may not always be available
- Understand that some solutions are partition-tolerant and some are not
These attributes vary from one system to another. It’s as important to understand the differences among NoSQL technologies as it is important to understand how they differ from a traditional RDBMS.
Here is a pretty good list of the many NoSQL products, from a respected member of the community, Alex Popescu.
4.MongoDB中的一些坑( 2.4.10 版本)
http://www.cnblogs.com/nucdy/p/7871973.html

A.CouchDB使用的开发语言为Erlang,遵循Apache许可,使用HTTP/REST协议。主要优点是可保持数据一致性和易用性,同时允许多站部署。CouchDB主要适用于积累性的、并且较少改变数据的应用。例如CRM、CMS systems等。
B.Redis使用的开发语言为C/C++,遵循BSD许可,使用Telnet-like协议。主要优点是速度极快。Redis主要适用数据集数据时常变化的应用。但内存占用较大。主要应用于金融机构、实时分析、实时数据收集、实时通信等。
C.MongoDB使用的开发语言为C++,遵循AGPL(Drivers:Apache),使用Custom,binary(BSON)协议。MongoDB适用于动态查询、且定义索引比Map/Reduce效能更佳的地方。不过与CouchDB一样其数据变动较多,需要大容量磁盘。MongoDB可在任何Mysql/PostgreSQL的环境下使用.
D.Cassandra使用的开发语言是Java,遵循Apache,使用Custom,binary(Thrift)协议。Cassandra适用于写入多于查询的场合,例如银行和金融行业等需要实时数据分析的行业。
E.Riak使用的开发语言是Erlang & C、Javascript。遵循Apache,使用HTTP/REST协议。Riak具有高容错性的特点。Riak和Cassandra非常相似。当需要高扩展性和高容错性时Riak是不错的选择。但多站点的部署需要付费。Riak适用于销售数据录入、工控系统等一些不允许宕机的场合。
F.HBase使用的开发语言为Java,遵循Apache,使用HTTP/REST协议。HBase可支持高达数十亿的列。如果你喜爱BigTable并且需要一个能提供随机实时读写访问你海量数据的数据库,HBase是不错的选择。HBase现被Facebook邮件数据库所使用。
以上收集与网络,作为学习之用。
关系型数据库和非关系型数据库 对比
标签:elements real lin import read amp 结构 html 邮件数据