【发布时间】:2016-08-16 23:05:09
【问题描述】:
我正在构建一个分析工具,但在基于时间序列的指标方面遇到了一些性能问题。我一直在尝试使用 Redis + bitmapist,这使我能够在数据库写入时急切地准备指标,并且对性能非常满意。
但是,我对如何确保我的数据库和 Redis 保持同步感到有些困惑。我的数据库是存储所有事件数据的“真实来源”,但用户仪表板将依赖 Redis 来显示指标。
我是否应该定期重新构建我的 Redis 指标以确保我的数据库和 Redis 之间没有差异? (如:事件发生时,写入DB,写入Redis失败)
如果我的 Redis 服务器出现故障,重新处理所有事件并重建指标将需要很长时间。即使特定指标的数据库查询逻辑与 Redis 查询逻辑完全不同,我的仪表板是否应该将数据库作为备份计划进行查询?
【问题讨论】:
-
有时完全重建似乎是合理的,但仪表板到底需要多完美?
-
这是真的,它不需要完美。我只是想尽可能减少不准确的机会。
-
Redis 具有数据持久性(默认开启),因此无需担心完全重建,只需担心增量;)
标签: database database-design redis