我目前在一个简单仪表板应用程序的概念验证中使用 RavenDB,该应用程序提供对系统传入事件的聚合视图。例如,用户可以按小时(一天)、天、月或年查看粒度。
我有 300 万个现有事件要导入和索引,我正在寻找最好/最高效的方法来做这件事,经过几次不太成功的尝试。
请注意,这个问题与生成数据和索引后的应用程序性能无关,这部分非常好。
所以我有:
- 代表事件的单个类,具有发生的事件和时间的字段(DateTime + 3 个字符串字段)。
- 根据当时的事件日期和事件类型映射/减少小时、日、月和年的索引。
- 该应用程序查询索引以获取每小时、每天、每月和每年的值
- 从历史上看,至少需要每小时汇总(而不是单个事件)。
如果索引不存在,我可以毫无问题地导入数据,但是如果索引存在,我会在索引处理大约 45 分钟后始终得到 OutOfMemoryExceptions。
可以调整索引过程吗?合适的值是多少?
或者很高兴它建议以不同的方式解决问题。