Rad*_*ghe 5 database logging mongodb cassandra
我正在开发一个项目,将日志聚合和分析作为更大项目的一部分.我不知道选择哪个数据库来处理这些日志.最近我在MongoDB和Cassandra之间来回走动,但我确信还有其他一些也适合我的需求.我应该选择哪一个?为什么?
现在整个事情刚刚开始,但到目前为止这里是要求:
我们期望将数据库增长到一些TB数据(每秒约50K插入),因此必须进行分片.查询不常见,因为它们主要由较大项目的开发人员使用.但结果需要在几秒钟内返回.
现在,存储对于所有机器来说都是常见的(并且很慢).因此,对于可伸缩性,我认为我们需要充分利用内存和多线程 - 以便分片有意义.
到目前为止我所获得的基本思想是MongoDB具有更多功能,例如正则表达式或排序结果,并且更容易设置到合适的配置,而Cassandra似乎更具可扩展性(通过简单地添加服务器),并且还具有一些简洁的功能,比如把数据放在TTL上.
稀疏的列式数据存储(如Apache Cassandra)非常适合聚合时间序列数据.有关示例,请参阅以下文章:
MongoDB 听起来确实很适合您的要求。原因如下:
您甚至可能会找到适当的配置以将其置于非分片设置中。例如,默认情况下,它每 60 秒同步到磁盘,这意味着 60 秒的写入将被缓冲,从而减少 IO。我已经在一台机器上对半 TB 的数据进行了尝试,并且单个索引字段查询的运行时间约为 cca 100-200 毫秒。
| 归档时间: |
|
| 查看次数: |
2369 次 |
| 最近记录: |