什么是持久数据的绝对最快(但相当可靠)的方式?

时间:2012-10-27 00:28:20

标签: file-io filesystems nosql amqp persistent-storage

我正在探索接收和持续大量请求(并发和跨多个服务器)的方法,并且我对于查看存储传入数据包的最快可靠方法的观点感兴趣供以后处理。 我已将其缩小到这些选项范围,但我确信这是一个我没想过的创造性解决方案:

  • 文件系统(在这种情况下,什么是最快可靠的写入文件系统)?
  • 内存数据存储(Redis / Memcached / etc)中是否存在磁盘?
  • 将数据排队到AMQ并从那里处理它们?
  • NoSQL数据库(MongoDB / Couch)?
  • Hadoop集群?

由于

1 个答案:

答案 0 :(得分:2)

我正在使用Fluentd将小包数据(请求日志)转储到中央日志链接(s3)。 这具有服务器上的低延迟和将所有数据放在中心位置的优点。从那里你可以使用你的hadoop集群来处理它们。

它用作输入((sys)日志,http套接字,直接代码集成)及其输出(s3,文件,(no)sqldb,scribe等)也非常灵活。

至于你的选择,我的发现是:

  • 文件系统:很快但你遇到了多台服务器的问题,因为使用cron的rsync不是一个非常稳定的选项。
  • 在mem store中:也很快,但内存管理很难,因为它很快就会填满。
  • AMQ:可以工作,但并不是真的设计用于非常高的吞吐量。
  • 中央DB:可行选项
  • Hadoop:真正用于处理这些数据,而不是存储它。

您还可以查看有关中央记录的blogpost