Nosql Redis,CouchDB还是Cassandra?
各种可用的NoSQL数据库的优缺点是什么Nosql Redis,CouchDB还是Cassandra?,nosql,couchdb,cassandra,redis,Nosql,Couchdb,Cassandra,Redis,各种可用的NoSQL数据库的优缺点是什么 特别是,在将写负载分配到多个服务器上时,Redis似乎很弱。是这样吗?这是个大问题吗?一个服务必须增长多大才能成为一个重大问题?NoSQL数据库(以及SQL数据库)的优缺点在很大程度上取决于您的用例。对于非常大的项目,性能是王道;但是对于全新的项目,或者时间和金钱有限的项目,简单性和上市时间可能是最重要的。为了教会自己(拓宽视野,成为一名更好、更有价值的程序员),也许最重要的是简单、坚实的基本概念 你想做什么样的项目 我脑海中浮现出一些优点和缺点: R
特别是,在将写负载分配到多个服务器上时,Redis似乎很弱。是这样吗?这是个大问题吗?一个服务必须增长多大才能成为一个重大问题?NoSQL数据库(以及SQL数据库)的优缺点在很大程度上取决于您的用例。对于非常大的项目,性能是王道;但是对于全新的项目,或者时间和金钱有限的项目,简单性和上市时间可能是最重要的。为了教会自己(拓宽视野,成为一名更好、更有价值的程序员),也许最重要的是简单、坚实的基本概念 你想做什么样的项目 我脑海中浮现出一些优点和缺点:
- Redis
- 非常简单的键值“全局变量服务器”
- 非常简单(有些人会说“不存在”)的查询系统
- 在这个列表中很容易找到最快的
- 交易
- 数据集必须适合内存
- 不成熟的集群,前景不明(我相信这会很好,但还没有决定。)
- Cassandra
- 可以说是BigTable类数据库中最具社区动力的
- 可能是在大型/不断增长的集群中最容易管理的列表
- 支持map/reduce,有利于分析和数据仓库
- 多数据中心复制
- 可调一致性/可用性
- 没有单点故障
- 您必须知道在项目早期将运行哪些查询,以准备数据形状和索引
- CouchDB
- 提供最好的同步(复制)支持,支持主/从、主/主和更奇特的体系结构
- HTTP协议,浏览器/应用程序可以部分或全部直接与数据库交互。(同步也通过HTTP完成)
- 经过简短的学习,使用Javascript和map/reduce实现了非常复杂的查询系统
- 集群操作(无SPOF,可调一致性/可用性)目前是一个重要分支(BigCoach)。它可能会合并到沙发上,但没有路线图
- 类似地,集群和多数据中心在理论上是可能的(我提到的“异国情调”的东西),但是此时您必须自己编写所有工具
- 仅追加文件格式(数据库和索引)消耗磁盘的速度惊人地快,您必须手动运行压缩(清空),这将生成数据库中所有记录的完整副本。每个索引文件都需要相同的设置。同样,你必须成为自己的工具匠