【世界獨家】又一銀行數據丟失,銀行數據庫究竟在干嘛
最近又有新聞爆料,客戶在某銀行支票賬戶的存款余額消失。官方回應為“技術故障導致存款數據丟失”,幸虧最終存款數據恢復,得以妥善解決!
文檔君第一眼看到新聞,立馬緊張起來。查了查自己銀行卡余額,哦,那沒事了!
不過大家看余額的時候有沒有意識到,我們的錢已經被量化成數據了?
【資料圖】
咦?我們的錢怎么就變成數據了?
很久以前,人們的錢還是一串串貝殼;但是現在,你有多久沒有用過現金了?
我們的財富,正在不知不覺地變成一串串數字。而財富的增減也就變成了數字的增減。
問題來了,銀行會不會算錯數據??!會不會把我的數據弄丟??!
銀行數據庫說:放心!有我呢!維護數據安全是我的重要使命。
那么,什么是銀行數據庫呢?
初識數據庫
簡單來說,銀行數據庫就和你老婆一樣,專門管錢的。
詳細來說,它會管你什么時間,什么地點,給你多少錢,還剩多少錢。
但是,因為它要管的人太多了,所以,銀行對于數據庫的一致性、性能和系統的服務響應能力等都有嚴格的要求。一個合格的數據庫,需要滿足以下幾點:
1)賬務不能錯,數據不能丟
你每次取出或匯入金額后,總金額都是得確保正確;同樣的,如果賬戶里的數據丟了,很可能出現存款丟失的問題,讓你賬戶余額里少了一個小目標豈不是大罪!
2)系統不能停,聯機不能慢
由于支付業(yè)務的特殊性,數據庫要求 on call 24 小時,時刻保持清醒高效不出錯。千萬不能像我們一樣,到點就困!
3)批量不能晚,數據易遷移
由于銀行業(yè)務龐大,許多對賬操作需要批量進行,并且數據庫的遷移也必須易于執(zhí)行,否則會影響第二天銀行的開業(yè)。
滿足上述要求的數據庫也有不同類型,我們一起來看看吧!
集中式數據庫
集中式數據庫將數據在物理空間上集中存儲和處理,是一種較為經典、傳統的架構模式。
我們可以理解成,集中式數據庫是一個身上滿是口袋的人,咱們所有的錢分別塞在這個人不同的口袋里。當我們需要取錢時,這個人就開始找對應的口袋,將你需要的鈔票清點出來,交給你。
簡而言之,他既要負責存儲你的錢,還要負責清點你的錢。
由于都是它一個人管理,所以哪個口袋出了問題,也很容易定位。并且由于不需要協調其他資源,所以可以達到“立等可取”的效果。
隨著移動支付的普及,取錢的次數越來越頻繁,取錢的人越來越多,他不免有點分身乏術!
一旦有一個口袋破了,手忙腳亂的它也無法兼顧其他口袋。
因此我們就有了分布式數據庫。
分布式數據庫
分布式數據庫是物理上分散而邏輯上集中的數據庫系統,通過計算、存儲、管理三大模塊,共同對外提供服務。他的由來歸功于服務器的虛擬化技術。
想象在你面前擺放著 N 臺服務器,通過虛擬化技術可以將這些服務器中的所有硬盤(存儲模塊)整合成一個超大面積的空房子,然后再給這個房子劃分不同的房間,用于存儲不同用戶的財富。
需要注意的是,同一用戶的不同財富可以放在不同房間中【私房錢放一個房間,預備上交的錢放一個房間】。
那么,是誰來給這個房子劃分新房間呢?—— 計算模塊。他就是這個房子的主人,除了負責房子空間的規(guī)劃,他還需要調度不同房間的剩余資源,為每一個房間門配上對應的鑰匙。
當申請取款的人變多時,他需要仔細規(guī)劃每個房間提供多少金額,才能盡可能減少金錢的冗余移動。
看到這里,你會有疑問,萬一哪個房間的門鎖壞了,關不上門,怎么辦?不要擔心,我們還有管理模塊。
他就像倉庫管理員一樣,時刻監(jiān)控每個房間是否安全,定期加固房間,升級屋內配件。當房子空間不夠時,他還需要負責部署開拓新的房間,并且將原先放在舊房間的小錢錢進行無損遷移。
這樣的分工協作構成了一套井然有序的分布式數據庫。
由于房間都是獨立的,所以一個房間出現故障,其他房間還可以繼續(xù)向我們敞開,為我們提供支付服務。這就解決了集中式數據庫由于一個口袋破了就手忙腳亂的問題。
當然,分布式數據庫遠比文檔君說的要復雜。
計算模塊如何計算?不同房間如何進行信息交流?數量如此龐大的房間如何進行統一管理?這些都是需要攻克的難題。
難題雖難,也難不住聰明的人類。
回顧一下咱們今天的知識,不難發(fā)現,集中式數據庫和分布式數據庫各有優(yōu)缺點。
了解完數據庫,咱們打工人繼續(xù)努力,豐富自己小金庫!
本文來自微信公眾號:中興文檔 (ID:ztedoc)
標簽: