又一银行数据丢失,银行数据库究竟在干嘛

最近又有新闻爆料,客户在某银行支票账户的存款余额消失。官方回应为“技术故障导致存款数据丢失”,幸亏最终存款数据恢复,得以妥善解决

文档君第一眼看到新闻,立马紧张起来。查了查自己银行卡余额,哦,那没事了!

不过大家看余额的时候有没有意识到,我们的钱已经被量化成数据了?

咦?我们的钱怎么就变成数据了?

很久以前,人们的钱还是一串串贝壳;但是现在,你有多久没有用过现金了?

我们的财富,正在不知不觉地变成一串串数字。而财富的增减也就变成了数字的增减。

问题来了,银行会不会算错数据啊!会不会把我的数据弄丢啊!

银行数据库说:放心!有我呢!维护数据安全是我的重要使命。

那么,什么是银行数据库呢?

初识数据库

简单来说,银行数据库就和你老婆一样,专门管钱的。

详细来说,它会管你什么时间,什么地点,给你多少钱,还剩多少钱。

但是,因为它要管的人太多了,所以,银行对于数据库的一致性、性能和系统的服务响应能力等都有严格的要求。一个合格的数据库,需要满足以下几点:

1)账务不能错,数据不能丢

你每次取出或汇入金额后,总金额都是得确保正确;同样的,如果账户里的数据丢了,很可能出现存款丢失的问题,让你账户余额里少了一个小目标岂不是大罪!

2)系统不能停,联机不能慢

由于支付业务的特殊性,数据库要求 on call 24 小时,时刻保持清醒高效不出错。千万不能像我们一样,到点就困!

3)批量不能晚数据易迁移

由于银行业务庞大,许多对账操作需要批量进行,并且数据库的迁移也必须易于执行,否则会影响第二天银行的开业。

满足上述要求的数据库也有不同类型,我们一起来看看吧!

集中式数据库

集中式数据库将数据在物理空间上集中存储和处理,是一种较为经典、传统的架构模式。

我们可以理解成,集中式数据库是一个身上满是口袋的人,咱们所有的钱分别塞在这个人不同的口袋里。当我们需要取钱时,这个人就开始找对应的口袋,将你需要的钞票清点出来,交给你。

简而言之,他既要负责存储你的钱,还要负责清点你的钱。

由于都是它一个人管理,所以哪个口袋出了问题,也很容易定位。并且由于不需要协调其他资源,所以可以达到“立等可取”的效果。

随着移动支付的普及,取钱的次数越来越频繁,取钱的人越来越多,他不免有点分身乏术!

一旦有一个口袋破了,手忙脚乱的它也无法兼顾其他口袋。

因此我们就有了分布式数据库。

分布式数据库

分布式数据库是物理上分散而逻辑上集中的数据库系统,通过计算存储管理三大模块,共同对外提供服务。他的由来归功于服务器的虚拟化技术

想象在你面前摆放着 N 台服务器,通过虚拟化技术可以将这些服务器中的所有硬盘(存储模块)整合成一个超大面积的空房子,然后再给这个房子划分不同的房间,用于存储不同用户的财富。

需要注意的是,同一用户的不同财富可以放在不同房间中【私房钱放一个房间,预备上交的钱放一个房间】。

那么,是谁来给这个房子划分新房间呢?—— 计算模块。他就是这个房子的主人,除了负责房子空间的规划,他还需要调度不同房间的剩余资源,为每一个房间门配上对应的钥匙。

当申请取款的人变多时,他需要仔细规划每个房间提供多少金额,才能尽可能减少金钱的冗余移动。

看到这里,你会有疑问,万一哪个房间的门锁坏了,关不上门,怎么办?不要担心,我们还有管理模块

他就像仓库管理员一样,时刻监控每个房间是否安全,定期加固房间升级屋内配件。当房子空间不够时,他还需要负责部署开拓新的房间,并且将原先放在旧房间的小钱钱进行无损迁移。

这样的分工协作构成了一套井然有序的分布式数据库。

由于房间都是独立的,所以一个房间出现故障,其他房间还可以继续向我们敞开,为我们提供支付服务。这就解决了集中式数据库由于一个口袋破了就手忙脚乱的问题。

当然,分布式数据库远比文档君说的要复杂。

计算模块如何计算?不同房间如何进行信息交流?数量如此庞大的房间如何进行统一管理?这些都是需要攻克的难题。

难题虽难,也难不住聪明的人类。

回顾一下咱们今天的知识,不难发现,集中式数据库和分布式数据库各有优缺点。

了解完数据库,咱们打工人继续努力,丰富自己小金库

本文来自微信公众号:中兴文档 (ID:ztedoc)

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

文章价值:
人打分
有价值还可以无价值
置顶评论
    热门评论
      文章发布时间太久,仅显示热门评论
      全部评论
      请登录后查看评论
        取消发送
        软媒旗下人气应用

        如点击保存海报无效,请长按图片进行保存分享