我正在评估即将推出的项目的存储平台,并不断回到 Cassandra。对于这个项目失去 任何 数据量是不可接受的。到目前为止,我们已经使用了关系数据库(Microsoft SQL Server),但是数据如此多样且庞大,以至于存储和查询成为一个问题。

Cassandra 是否足够强大,可以用作主要数据存储?或者它应该仅用于镜像现有数据以加快访问速度?

有帮助吗?

解决方案

有趣的是:是的,Twitter、Digg、Ooyala、SimpleGeo、Mahalo 和其他公司正在使用或迁移到 Cassandra 作为主要数据存储(http://n2.nabble.com/Cassandra-users-survey-td4040068.html).

技术上:是的;除了支持复制(包括复制到多个数据中心)之外,每个 Cassandra 节点都有一个 fsync 提交日志,以确保写入持久;从那里写入将变成 SSTables,它们在压缩之前是不可变的(将多个 SSTables 组合到 GC 旧版本)。随时支持快照,包括压缩前自动快照。

其他提示

是否使用卡桑德拉于应用程序或不单纯取决于数据的工作负载。 Cassandra是写密集型工作负载而优化,因此,它是适合于需要插入大量的数据的应用程序(如在基础设施的Facebook记录信息)。

但是,如果你需要快速检索和插入速度不是问题,那么也许你应该看看说HBase的(这是最优化的读取密集型工作负载)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top