NoSQL数据库-日志处理/聚合和汇总的良好候选者? [英] NoSQL databases - good candidates for log processing/aggregation and rollup?

查看:106
本文介绍了NoSQL数据库-日志处理/聚合和汇总的良好候选者?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个MS SQL数据库,用于捕获带宽统计信息.我们有一个原始数据表,并且为了提高不同钻取级别的报告速度,我们每小时,每天和每周汇总和汇总数据到单独的表中.

I have a MS SQL database that's used to capture bandwidth stats. We have a raw data table and to improve reporting speed at different drill-down levels we aggregate and rollup data on an hourly, daily and weekly basis to separate tables.

Mongo或Raven等NoSQL数据库是否适合此类应用程序?

Would a NoSQL database such as Mongo or Raven be a good candidate for this type of application?

推荐答案

不同的NoSQL解决方案针对不同的用途解决了不同的问题-因此,首先要做的最好的事情就是查看您的问题并将其分解

Different NoSQL solutions solve different problems for different uses - so first off the best thing to do is look at your problem and break it down

  • 您正在大量写入到存储,因此写入速度对您很重要
  • 您要对该数据执行汇总操作,并使其结果易于查询
  • 从事物的声音上看,读取速度并不是那么重要,至少在"Web应用程序必须对数百万人具有真正的响应能力"这种方式中并不是最重要的
  • 我不知道您是否需要动态查询
  • You are writing heavily to storage, therefore write speed is important to you
  • You want to perform aggregation operations on that data and have the results of that easily queryable
  • Read speed isn't that important from the sound of things, at least not in an "web application has to be really responsive for millions of people" kind of way
  • I don't know if you need dynamic queries or not

让我们以一种高度概括的方式来看Couch,Mongo和Raven

Let's look at Couch, Mongo and Raven in a very high level, generalised way

乌鸦

  • 快速写入
  • 快速查询(最终是一致的,预先计算的,通过map/reduce聚合的)
  • 可能进行动态查询,但并不真正适合您的用例,因为您最有可能要按日期等进行查询

蒙哥

  • 盲目地写(我认为很危险,因为断电意味着丢失数据;-))
  • 慢读(相对),通过map/reduce聚合,未预先计算
  • 动态查询只是what_you_do,但是如果您希望对此类数据有某种性能,则可能必须在列上定义索引

沙发

  • 快速写入
  • 快速阅读(预先计算,但仅当您阅读(IIRC)时更新
  • 不可能进行动态查询,所有查询都是通过map或map/reduce函数预先定义的

因此,基本上-您是否需要对此类数据进行动态查询?读取速度对您来说非常重要吗?如果您需要动态查询,则需要Raven或Mongo(对于这种情况,Couch可能不是您想要的东西).

So, basically - do you need dynamic queries over this sort of data? Is the read speed incredibly important to you? If you need dynamic queries then you'll want Raven or Mongo (For this sort of thing Couch is probably not what you are looking for anyway).

FWIW,我认为Mongo唯一的用例是日志记录,所以那里可能会有麻烦.

FWIW, Mongo's only use case in my opinion IS for logging, so you might have an anwer there.

这篇关于NoSQL数据库-日志处理/聚合和汇总的良好候选者?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆