【发布时间】:2012-04-10 08:41:58
【问题描述】:
我正在寻找 NoSQL DB 推荐...这是我正在做的工作:
我正在编写一个基于 Web 的客户端,用于向大量消费者提供文本流(基本上是实时字幕)。一旦事情完全升级,任何特定时刻都可能发生 100 多个事件。许多会很小(
在每个事件的过程中,文本将以每分钟几字到每分钟 200 多个字的速度积累。每个消费者都将运行一个 Web 客户端(台式机/笔记本电脑/平板电脑/智能手机上的浏览器),该客户端将定期轮询它尚未收到的任何文本。给定的用户也可以在他们提出请求之前询问事件的全文。已完成的事件必须保留一段时间,但会在完成后约 24-36 小时内被移除。
我的第一个想法是使用 Redis,它具有附加到数据存储中的文本值的方法以及对从文本值末尾获取子字符串的内置支持(即客户端可以只保存字符它接收到的最后一个字符的偏移量,并将其传递给客户端 API,并将用于从事件文本中提取子字符串)。我担心包含事件文本的字符串的增长可能是 Redis 的不寻常使用,可能会给我带来一些问题。
那么...是否有一个 NoSQL DB 似乎特别适合这种应用程序?有什么重要的理由不使用 Redis 来做这样的事情吗?
【问题讨论】:
-
我建议继续使用 Redis,看看它的性能如何。我们将 Redis 用于每 秒 40K+ 请求的非字符串对象,并且负载最小。