答疑集锦(二) | 思考题解析与账务系统优化
任杰
你好,我是任杰。
到今天为止,第二模块的系统正确性保障的内容就告一段落了。在专栏更新的过程中,也很开心看到同学们的留言,我要为你们认真学习、主动思考的精神点赞。
今天我为你准备了这篇加餐,把第二模块的思考题做一个系统梳理。我还是建议你先看完前面每一讲的内容,自己独立思考之后,再来看我这份参考答案。
思考题答案
Q:双时序数据库里的一种存储方式是将坐标空间切割成尽量多的矩形,然后将这些矩形存储在数据系统内。数据库的索引建立在矩形的左下角和右上角这两个坐标点。
具体的切割做法是当坐标系内新增一个数据节点时,以这个点为中心,将整个坐标系进行水平和垂直切分。下图展示了系统中有 3 个数据点时的一个切割方式,3 个数据点将坐标系切割成了 16 个矩形:
每个插入操作都会对已有的矩形进行切割。每次查询都会遍历相关的矩形。那么你能算一算这个方案的存储空间复杂度和查询时间复杂度吗?
A:存储的空间复杂度是 O(n^2),查询的时间复杂度是 O(log n) 或者 O(1)。你可以沿着这个思路,继续想想,这样的复杂度对双时序数据库的使用有怎样的影响,换句话说,就是双时序数据库适用的业务有什么特点?这个问题,你可以在第 10 节课找到答案。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文是任杰的答疑集锦,主要围绕第二模块的系统正确性保障展开讨论。作者对专栏读者的学习态度给予了肯定,并提出建议,希望读者在独立思考后再参考作者的参考答案。文章内容涵盖了思考题解析与账务系统优化,旨在帮助读者系统梳理第二模块的内容。 作者在答疑过程中涉及了双时序数据库存储方式的空间和时间复杂度计算,事件队列文件完整性检测方法,消息去重问题的解决方案,以及实时数据处理速度不一致导致的问题处理方法。此外,作者还探讨了关系型数据库引入JSON格式数据存储的潜在问题。 总的来说,本文内容涉及了系统正确性保障的多个方面,包括存储空间复杂度、文件完整性检测、消息去重、实时数据处理等技术问题,为读者提供了丰富的技术知识和解决方案。读者通过阅读本文可以深入了解系统正确性保障相关的技术挑战和解决方案,对于从事相关领域的技术人员具有一定的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式金融架构课》,新⼈⾸单¥59
《分布式金融架构课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- 小和尚老师好,“采用将事件和状态变化存储放在一起的方式,可以大幅简化查询的复杂度。” 状态机可以理解为这句话的体现吗? 状态机内部主要管交易流程控制,但最终都会到终态,如支用/还款,不满足对账补充这一点。 谢谢~2022-11-29归属地:北京
收起评论