【发布时间】:2011-10-29 21:25:06
【问题描述】:
我们正在开展一个项目,该项目应收集日志和审计数据并将其存储在数据存储中以用于存档和某些视图。我们不太确定哪个数据存储适合我们。
- 我们需要存储小的 JSON 文档,大约 150 字节,例如
"audit:{timestamp: '86346512',host':'foo',username:'bar',task:'foo',result:0}"或"journal:{timestamp:'86346512',host':'foo',terminalid:1,type='bar',rc=0}" - 我们预计每天约有 100 万个条目,大约 150 MB 数据
- 数据将被存储和读取,但不会被修改
- 数据应以有效的方式存储,例如Apache Avro 使用的二进制格式
- 保留时间后数据可能会被删除
- 自定义查询,例如
'get audit for user and time period'或'get journal for terminalid and time period' - 为故障安全复制数据库
- 可扩展
目前我们正在评估 NoSQL 数据库,例如 Hadoop/Hbase、CouchDB、MongoDB 和 Cassandra。这些数据库是适合我们的数据存储吗?他们中的哪一个最适合? 有更好的选择吗?
【问题讨论】:
标签: json mongodb hadoop couchdb cassandra