- HBase從入門到實戰(zhàn)
- 張文亮編著
- 522字
- 2024-12-24 10:45:55
1.4 HBase與關(guān)系數(shù)據(jù)庫的區(qū)別
本節(jié)從下面6點介紹HBase和關(guān)系數(shù)據(jù)庫的區(qū)別。
(1)數(shù)據(jù)類型:關(guān)系數(shù)據(jù)庫采用關(guān)系模型,具有豐富的數(shù)據(jù)類型和存儲方式;HBase采用更加簡單的數(shù)據(jù)模型,它把數(shù)據(jù)存儲為未經(jīng)解釋的字符串。
(2)數(shù)據(jù)操作:關(guān)系數(shù)據(jù)庫中包含豐富的操作,其中包含復雜的多表連接等;HBase操作不存在復雜的表與表之間的關(guān)系,只有簡單的插入、查詢、刪除、清空等,因為HBase在設計上就避免了復雜的表和表之間的關(guān)系。
(3)存儲模式:關(guān)系數(shù)據(jù)庫是基于行模式存儲的;HBase是基于列模式存儲的,每個列族都由幾個文件保存,不同列族的文件是分離的。
(4)數(shù)據(jù)索引:關(guān)系數(shù)據(jù)庫通常可以針對不同列構(gòu)建復雜的多個索引,以提高數(shù)據(jù)的訪問性能;HBase只有一個索引,通過巧妙的RowKey設計,HBase中的所有訪問方法,要么通過RowKey訪問,要么通過RowKey掃描,使得整個系統(tǒng)的運行速度不會減慢。
(5)數(shù)據(jù)維護:在關(guān)系數(shù)據(jù)庫中,更新操作會用新的當前值來替換記錄中原來的舊值,舊值被覆蓋后就不存在了;在HBase中執(zhí)行更新操作時,并不會刪除舊值,而是生成一個新值,舊值仍然保留。
(6)可伸縮性:關(guān)系數(shù)據(jù)庫很難實現(xiàn)橫向擴展,縱向擴展的空間也比較有限;HBase是為了實現(xiàn)靈活的水平擴展而開發(fā)的,所以能夠通過在集群中增加或者減少硬件數(shù)量的方式輕松實現(xiàn)性能的伸縮。
- 深入理解Android(卷I)
- 圖解Java數(shù)據(jù)結(jié)構(gòu)與算法(微課視頻版)
- Visual Basic程序設計實驗指導(第二版)
- 編程菜鳥學Python數(shù)據(jù)分析
- Learning Apache Cassandra
- Java7程序設計入門經(jīng)典
- 交互設計師成長手冊:從零開始學交互
- 分布式數(shù)據(jù)庫HBase案例教程
- 3D Printing Designs:Octopus Pencil Holder
- RESTful Web API Design with Node.js
- Managing Windows Servers with Chef
- Android從入門到精通
- Hands-On Data Visualization with Bokeh
- Unity與C++網(wǎng)絡游戲開發(fā)實戰(zhàn):基于VR、AI與分布式架構(gòu)
- C#教程