【发布时间】:2013-04-16 15:01:12
【问题描述】:
我打算使用 redis 作为现有数据库(MS SQL)的缓存。我想使用 redis 中的数据放入前端。我将处理大约 100GB 的大量数据一天。我将主要有一个包含时间值和一些计数器值(大约 10-100 列)的表。如果我要基于小时、天等对这些大量数据进行聚合,redis 将如何执行......(即基于时间列。) redis 是正确的方法还是有其他选择?与 RDBMS 相比,我不知道 nosql 在处理聚合时有多好。 MonogoDB 在这种情况下会怎么做?
谢谢
【问题讨论】:
-
您是将所有数据转储到 Redis(可能是个坏主意)还是编写一个将一些数据放入 Redis 并在一段时间后过期的包装器。另外,我正在等待这个问题的答案,如果 Redis 是最好的方法。
-
我将保存数据最长 1 个月。
-
请记住,您必须将存储在 redis 中的所有数据放入 RAM 中
-
是的,这就是为什么在生产中,非常昂贵
-
@brainOverflow 是的,但是有一些方法可以节省 redis 的空间。在我们公司,我们主要将数据存储在字符串/值对和排序集中;在这两种情况下,我们都使用 MessagePack 在存储到 redis 之前对数据进行序列化。根据我们的测试,使用 MessagePack 在 redis 中将 1Gb 的数据压缩到 250Mb。
标签: sql-server caching nosql redis aggregate-functions