分布式金融架构课
任杰
eBay 支付账务系统负责人,前蚂蚁金服架构师
19876 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 30 讲
开篇词 (1讲)
分布式金融架构课
15
15
1.0x
00:00/00:00
登录|注册

06 | 计算输入的正确性:怎么选择正确时间的数据?

你好,我是任杰。今天起我们进入了第二个模块:系统正确性保障。
在前面第一个模块“金融业务及系统”里,我带你了解了常见的金融业务、盈利模式和对系统工具的要求。在第一个模块的最后,我们讲了领域驱动设计,它是一个在金融行业行之有效的方法论。
但是领域驱动设计只是从顶层设计来分析应该怎么做金融系统,并没有说在具体实践的时候怎样才能把系统做好。所以我们在这个模块会重点解决怎么做才能达到金融系统的最重要的要求:正确性。
所谓巧妇难为无米之炊,如果在处理金融业务的时候没有用到正确的金融数据,那计算出的结果是万万不能相信的。所以正确的数据是所有正确性的基础。那让我们来一起看看怎么解决正确性的第一个问题:怎么选择正确时间的数据。

业务举例

和前面一样,我们在分析技术之前先看一个金融业务的例子。
在国外有一种金融机构叫作养老基金,大家平时交的养老保险有时候就是养老基金在负责处理。由于养老基金的收益是在你退休之后才能获得,所以养老基金一个最重要的衡量指标就是,这个基金未来能不能给你足够的生活费用。
你应该能感觉到,现在生活费用越来越贵,同样的东西第二年就会涨价。那一个可能的衡量指标就是,养老基金每年的收益率能不能超过每年生活费用的涨幅。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

金融数据正确性保障是金融系统中的重要问题,本文以养老基金为例,探讨了金融公司在数据正确性管理中面临的挑战,并介绍了双时序数据库的概念和原理。双时序数据库通过保存数据的发生时间和系统记录时间,构建了一个坐标系,保证了数据的唯一性和不变性。然而,双时序数据库也存在学习成本高和执行速度慢的缺点。文章指出了在实际处理过程中可能碰到的操作复杂度问题。总的来说,双时序数据库作为数据正确性框架,能够降低出错的可能性,但在实际使用中也存在一些挑战。下一步,文章将探讨事件溯源作为计算正确性的框架,双时序数据作为框架的数据输入,是整个流程正确性的保证。文章最后提出了一个思考题,引导读者思考存储空间复杂度和查询时间复杂度的问题。双时序数据库作为金融级的数据正确性解决方案,在大型金融公司中展现出强大的竞争力。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式金融架构课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(7)

  • 最新
  • 精选
  • Geek_9c3134
    老师 支付密码用什么方式加密保存比较好

    作者回复: 这位同学你好。支付密码的存储方式和一般密码的方式一样,在这里给你简单说一下原则。 最重要的是密码一定不能明文存储,也不能明文传输。所以在一般会存储密码的哈希值。 有一个叫做“彩虹表”的工具可以很快速的破解强度不高的密码。为了对抗彩虹表,你需要在哈希值里加一些其它的数据,一般叫做“加盐”。“加盐”有很多种选择,比如电话、随机数等等,要点是每个用户的“盐”要不一样,这样就能增加破解的难度。另外,“盐”和密码哈希值不能放在一起,要放在不同的表,甚至不同的地方。 另外,哈希算法的选择也会有一些考虑。密码的攻防其实是你和对方在比拼资源的消耗。所以你可以选择一些计算特别耗时的哈希算法,这样就能消耗破解方的计算资源。 总之,密码的处理是不同行业的通用问题,你可以看一下互联网行业关于这方面的详细介绍,基本大同小异。

    2021-01-04
    2
    4
  • tt
    三个点把空间分成的16份,那空间复杂度应该是O(N^2),索引建立在左下角和右上角两个坐标点上,那么每次查询的时候根据查询时间点可以直接定位到一个矩形内,所以时间复杂度是O(1)。 也是和所有索引一样,用空间换时间。 另外,想问问老师,双时序数据库都有哪些实际的产品呢?

    编辑回复: 感谢tt同学踊跃留言,给你的学习热情点赞! 双时序数据库目前还没有对外开源的例子,我们知道的是它比较适合交易量稍小的场外市场业务,一般是金融公司自研。

    2021-01-04
    4
  • Geek_518c5c
    老师,请推荐一个双时序数据库的实例,比如用哪个库,或者用什么模型

    作者回复: 目前还没有开源出来的双时序数据库。

    2021-06-16
    2
  • webmin
    查询时间复杂度:时间是线性增长的,本身就是有序的,二分查找左下角坐标,即第一个小于等于VT和TT的坐标,再查找右上角坐标最后一个大于等于VT和TT的坐标,再在这个矩形中查询相关指标数据,算下来(logN * logN) + logN = N + logN 存储空间复杂度:与时间点数有关系,每加一个时间点之前的数据都要指数倍增涨,所以存储空间复杂度是N^2
    2021-01-16
    3
  • VincentQ
    银行系统习惯叫value date和transaction date
    2021-06-26
    1
    1
  • 津门小侠
    以我的理解双时序的概念,两张表,一张表存原始数据,记录一个发生时间,另外一张表保存某个发生时间对应的记录时间,每记录一次,可新增一条记录时间,这样就可以将所有发生时间和对应的所有记录时间对应起来了。
    2021-10-20
  • Geek_c51819
    双时序数据库到底在数据库里面怎么设计呢?发生时间一对多修改时间么?
    2021-01-10
收起评论
显示
设置
留言
7
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部