题
我正在评估即将推出的项目的存储平台,并不断回到 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的(这是最优化的读取密集型工作负载)。
不隶属于 StackOverflow