都說如今是互聯網大數據時代,很多事情都是可用大數據來解釋的。與之相對應的還有數據庫和數據倉庫也出現在大眾面前。這不免讓很多不了解的人有些暈。那么數據庫與數據倉庫和大數據是什么關系?有的人說數據庫就是儲藏大數據的地方唄,其實這只是其中的一部分,并不是全面的介紹,下面我們就來詳細了解一下三者之間的關系。
數據處理的起源
人類的發展,離不開數據的處理。最早的數據處理方式是什么?可能是結繩記事——這種古老的數據處理方式,包含了現代計算機擁有的數據存儲、查詢、分析等全部功能。
這個方法貌似可以,但是數據量稍微大一點的話……
后來,人類創造出了文字后,數據處理能力就大多了。一個典型的“應用”是,從舊石器時代開始,人們就通過甲骨文進行記賬。
到新石器時代中晚期,母系氏族社會經濟高度發展,人們開始創造并廣泛采用成套的刻劃符號進行記錄、計量。
數據庫的誕生
現代數據處理革命性的進展,要等到1960年。為了解決零件管理問題。一款叫做ICS的軟件被研發出來了,專門用來管理這些零件信息。
后來以此為基礎誕生了大名鼎鼎的IMS(Information Management System)數據庫。這是現代數據庫的祖先。
如何理解數據庫呢
可以把它想象為加強版的EXCEL,在一個表格中記錄數據。例如學生的成績單,記錄有姓名、學科、成績信息。想要查詢下學生的平均成績,只需要按順序遍歷這個表格,加和取平均數。
如果學生很多,對于EXCEL來說那就比較麻煩,但對于數據庫來說則比較簡單,可使用一種叫SQL的語言,通過描述性的交互取得數據,非常方便。
數據倉庫的誕生
數據庫的誕生,很好地解決了保存、使用數據的問題,大量類似的產品涌現出來。
但到了上世紀70、80年代,企業管理的內部數據發生了一些變化,一方面數據量越來越大,另一方面使用復雜度提高很多。各種復雜報表令人非常頭疼,要在其中挖掘出數據背后的價值,當時的數據庫已經跟不上需求。
于是,專門用于數據分析的數據庫誕生了——1988年數據倉庫(Data Warehouse)的概念第一次被提出了。
數據倉庫之于數據庫就如同F1跑車與普通轎車的區別。
普通轎車突出功能性、舒適性、安全性等等,可滿足通用化的全面需求;而F1跑車則強調極致性能,而犧牲了舒適性等。數據倉庫就是針對數據分析類場景,有特殊定制優化的產品。
大數據的沖擊
到了上世紀90年代,隨著互聯網的興起,數據量爆炸式增長,數據處理規模已經從MB(1首MP3)、發展到TB(20萬首歌)乃至EB級(2億首歌)的驚人規模。
此外,數據處理還產生了實時性等新要求,基于傳統架構的數據倉庫也面臨巨大挑戰。
就在這個時候,大數據概念被首次提出了,拉開了“大數據”時代的大幕。原來令人困擾的問題,似乎一夜之間找到答案。
不同于今天大家耳熟能詳的大數據,這里的大數據可以理解為一種數據處理技術,簡單說,就是在單臺計算機簡單計算的基礎上,通過堆積計算機這樣的線性擴展方式來處理數據。
數據庫和數據倉庫當時處理不了的海量數據,在這種分布式處理思路下迎刃而解,數據庫幾十年的積累,一夜之間被大數據吊打。
回歸數據庫
然而,大數據的狂野架構,從誕生之日起就決定其短板:分布式的方式固然很方便擴展,但是,作為大數據技術的基本單元,單機技術設計很粗糙,因此很快暴露出計算效率不高、精確性、準確度不足等問題。
而大數據技術的短板,正式數據庫的強項。
事實上,后來大數據體系中引入SQL、MPP引擎、列存等等,正是吸取了數據庫幾十年來積累的一點點精華。但是大數據技術的基礎過于野蠻,因此很難改進。
而此時,因為分布式協議的成熟,為數據庫解決此前無力承受的海量數據、多模異構等問題提供了技術方案。數據庫的春天,又回來了!
通過上述介紹,我們知道數據庫與數據倉庫和大數據是什么關系了吧,想了解更多關于數據庫的信息,請繼續關注中培偉業。