-
该项目需要解决什么问题
- 性能问题
- 在实际的项目中,在数据量一定时,单机的性能要比分布式的项目性能更好
- 通过rocket db将数据存储在本地
- 项目的可维护性与成本,轻量化
- 读写库的延迟的问题
- N:1的问题
- 数据事件的优先级
- 嵌套结果的实现
- 配置文件的复杂度太高,通过sql的方式更通俗化
- 性能问题
-
为何需要使用2个ringBuffer
为了解决N:1的问题
在某些实际的业务场景中,定制多个ringBuffer可以实现事件的优先级问题
-
rockes db为何可行
-
rocks db是一个写多读少的LSM数据库
按理说这个是不适合该场景的,我们变更一条记录,会涉及到多个表记录的查询
但是我们可以将不同表设置为不同的文件,降低各文件的负载,提高查询的性能
-
rocks db的方式是一个过渡,后续可以考虑自己实现一个性能更高的结构,比如将click hourse作为一个数据源
-
很多的副表是没有关联到主表的,从这一点来说也是写多读少的模型
-