您好,登錄后才能下訂單哦!
本篇內容主要講解“Nosql的存儲類型有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Nosql的存儲類型有哪些”吧!
如果說一致性等其他理論是構建大數據組件以及NosqL的紐帶,那么存儲也就相當于我們的數據結構了,依據特定的數據結構,賦予相應的算法,其內涵就是在特定的存儲以及副本策略之上,來實現整體的處理模型。
傳統的關系類型的數據庫往往采用二維表結構來存儲和處理數據,整體原因。是關系數據庫模型比較簡單,同意實現,邏輯清晰。
在數據規模比較大的時候,如上的表結構可以簡單的滿足業務需求,可是在海量的數據挑戰的今天,二維表結構在一些應用的場景之上不再那么高效和靈活。于是從數據庫模型的角度,NOSQL提出了全新的模型。
沿用了全新的設計
鍵值存儲模型最主要的思想就是來自于hash表,在hash表之中會有一個特定的key和一個特定的value。
key -> value
純粹的一個keyvalue結構弱化了數據的結構,通常,你只需要get ,set這樣的簡單操作即可。keyvalue的設計在海量的數據處理之中,最大的特點是在于模型簡單,易于實現,非常適合通過key對于數據進行查詢和修改操作。
但是,一旦對于數據的批量,批量更新操作,keyvalue在效率之上處于明顯的劣勢,同樣,由于模型的設計也不支持特別復雜邏輯的數據操作。
Redis,Voldemort
內存類型的緩沖,主要用于處理打數據的高訪問負載,也用于一些日志系統
迅速的查找,數據無結構化,通常只是被當成字符串亦或者二進制的數據。
簡單的來說,我們的傳統數據庫是按照 “行”來存儲,而我們的列方式的數據庫是按“列”來存儲的。
按行,還是按列,同一列的數據會盡可能的存儲在同一個硬盤的”頁“之中,大多數的硬盤頁在數據庫之中都被抽象為一個“列族”的概念,列族嘛,就是將多個列合并為一個小組,而從宏觀上來看,列族有點類比 keyvalue之中的value。
這類的數據模型比較適合數據分析和數據倉庫這類需要迅速查找且數據量大的應用。
Cassandra 和Hbase
分布式的文件系統,將同一列數據存儲在一起。
迅速的查找,可擴展性強,更容易的進行分布式的擴展。
其主要的以 JSON或者類JSON格式的文檔來進行存儲,是具有語義的
web應用
數據的要求并不嚴格,不需要預先定義結構,value指向的是一個結構化數據。
可以做實時的查詢,并缺乏統一的查詢語法
在之前的數據存儲的模型之上,我們還要考量數據的分區和放置的策略,主要的考量如下:
任何的事情出現都必有其存在的前提,條件,和理由。分區技術,簡單來說,就是一種分而治之的技術,他可以用來很方便的處理超大類型的表,通過將大表和索引分成可以管理的小塊,避免將每一個表都作為一個大的,單獨的對象來進行管理,為大量的數據提供了可伸縮性的可能。
分區所帶來的好處如下所示:
對于分區帶來的最本質的特征就是:分區的粒度相對而言的變小了。滿足了之前關系數據庫系統時代“劃分并控制”的措施,通過分區,維護操作可集中于表的特殊部分。比如,你只需要備份一部分的分區而不是全量的數據了。
1.1.2:改善性能
1.1.3:改善可用性
對于數據庫進行了一些分區的處理以后,通過對于分區的處理,通過對于分區的特別優化,我們還能夠使用分區技術其他的許多優點,
在兩個表的連接的過程之中,可以將兩個表連接在一起,并且這兩個表都在連接按鍵上分區。智能化的分區可以將大型的拆分為小的連接。
分區的Partitioning Pruning,也就是說最有效的通過分區改善性能的方法,好比你在Hive抑或是 impala之中,在選取列的時候,必須過濾掉不必要的分區。
分區能夠并行執行更新,刪除和合并語句,在訪問不同的分區的數據庫對象的過程之中,可以并行執行查詢語句和插入語句。
通常而言,表使用 “分區key“ 分區,分區key是確定某一個行所在的分區的一組列,存在”范圍分區“,”列表分區“,”hash分區“以及”組合分區“。
2.1:每一個分區由一些列分區的key來指定,用途最廣的就是按照時間范圍來分區。
3:列表分區
3.1:列表分區,每個分區由一列分區key指定,列表分區適用于一些列的離散value
3.3: hash分區,hash算法應用于分區key和value,適用于分區數據基本均勻分布的情況
5.1:也就是范圍和hash分區技術的組合,表首先進行范圍的分區,然后每一個范圍之內再單獨的通過hash分區進行分區。
分區操作可以并行執行,提高的數據的可用性。當部分數據由于故障或其他的原因不可用的時候,其他的分區不會受影響。
要注意 :分區對于應用是透明的。
到此,相信大家對“Nosql的存儲類型有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。