NoSQL数据库(以及SQL数据库)的优缺点在 很大程度上
取决于您的用例。对于大型项目,性能为准;但是对于全新的项目或时间和金钱有限的项目,简单性和上市时间可能是最重要的。对于自学(拓宽视野,成为更好,更有价值的程序员),也许最重要的是简单,扎实的基本概念。
您打算什么样的项目?
我的头上有些优点和缺点:
- 雷迪斯
- 非常简单的键值“全局变量服务器”
- 非常简单(有人会说“不存在”)查询系统
- 轻松成为此列表中最快的
- 交易次数
- 数据集必须适合内存
- 集群不成熟,前途未卜(我敢肯定这会很好,但尚未决定。)
- 卡桑德拉
- 可以说,类似于BigTable的数据库具有最大的社区发展动力
- 在大型/成长型集群中,此列表可能最容易管理
- 支持地图/归约,适用于分析,数据仓库
- 多数据中心复制
- 可调一致性/可用性
- 没有单点故障
- 您必须知道将在项目早期运行哪些查询,以准备数据形状和索引
- CouchDB
- 传递最佳的同步(复制)支持,支持主/从,主/主以及更多奇特的体系结构
- HTTP协议,浏览器/应用程序可以部分或全部直接与数据库交互。(同步也通过HTTP完成)
- 经过短暂的学习后,使用Javascript和map / reduce的相当复杂的查询系统
- 群集 *** 作(无SPOF,可调的一致性/可用性)目前是一个重要的分支(BigCouch)。它可能会合并到Couch中,但没有路线图。
- 同样,从理论上讲,集群和多数据中心是可行的(我提到的“异国情调”),但是此时您必须自己编写所有工具。
- 仅追加文件格式(数据库和索引)都会很快消耗磁盘空间,并且您必须手动运行压缩(清理),这将对数据库中的所有记录进行完整复制。每个索引文件都需要相同的内容。同样,您必须成为自己的工具匠。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)