自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

NoSQL數(shù)據(jù)庫類型說明:列式數(shù)據(jù)庫

數(shù)據(jù)庫 其他數(shù)據(jù)庫
當(dāng)需要大型數(shù)據(jù)模型時,最常使用這些數(shù)據(jù)庫。它們對于數(shù)據(jù)倉庫非常有用,或者在需要高性能或處理密集查詢時非常有用。

為了滿足對數(shù)據(jù)存儲不斷增長的需求,以及以最高效的方式容納數(shù)據(jù)多樣性,企業(yè)越來越傾向于選擇非標準數(shù)據(jù)庫類型。多年來,企業(yè)主要使用關(guān)系數(shù)據(jù)庫。然而,隨著需求的變化和存儲價格的下降,人們開始轉(zhuǎn)而使用非關(guān)系型數(shù)據(jù)庫。

[[426275]]

列式數(shù)據(jù)庫符合這種描述。這些是NoSQL數(shù)據(jù)庫,專為高度分析、復(fù)雜查詢?nèi)蝿?wù)而構(gòu)建。與關(guān)系數(shù)據(jù)庫不同,列式數(shù)據(jù)庫按列而不是按行存儲數(shù)據(jù)。這些列被收集以形成子組。

這類數(shù)據(jù)庫的鍵名和列名不是固定的。同一列族或列簇中的列可以具有不同的行數(shù),并且可以容納不同類型的數(shù)據(jù)和名稱。

當(dāng)需要大型數(shù)據(jù)模型時,最常使用這些數(shù)據(jù)庫。它們對于數(shù)據(jù)倉庫非常有用,或者在需要高性能或處理密集查詢時非常有用。

列式數(shù)據(jù)庫如何工作

關(guān)系型數(shù)據(jù)庫有固定的模式,它們具有行和列的表。寬列數(shù)據(jù)庫具有相似但不同的架構(gòu)。它們也有行和列。但是,它們不是固定在表中,而是具有動態(tài)模式。每列單獨存儲。

如果存在相似(相關(guān))的列,則將它們關(guān)聯(lián)到列族中,然后將這些列族與其他列族分開存儲。 行鍵是每個列族的第一列,作為行的標識符。此外,之后的每一列都有一個列鍵(名稱)。它標識行中的列,從而實現(xiàn)對列的查詢。值和時間戳出現(xiàn)在列鍵之后,說明數(shù)據(jù)何時被輸入或修改。

與每一行相關(guān)的列數(shù)或其名稱可能會有所不同。換句話說,并不是一個列族的每一列都有相同的行數(shù)。事實上,即使它們可能共享它們的名字,每一列都包含在一行中并且不會跨越所有行。

接觸過關(guān)系型數(shù)據(jù)庫的人都知道,關(guān)系型數(shù)據(jù)庫的每一列都有相同的行數(shù),只是碰巧有些字段有空值,或者看起來是空的。對于寬列數(shù)據(jù)庫,這些行不是空的,而是對于特定列根本不存在。

列族位于鍵空間中。每個鍵空間都包含一個完整的 NoSQL 數(shù)據(jù)存儲,并且正如模式對關(guān)系數(shù)據(jù)庫那樣,它具有相似的角色或重要性。然而,由于 NoSQL 數(shù)據(jù)存儲沒有集合結(jié)構(gòu),鍵空間代表無模式數(shù)據(jù)庫,其中包含數(shù)據(jù)存儲設(shè)計和它自己的屬性集。

當(dāng)前最流行的列式數(shù)據(jù)庫之一是 MariaDB。它是作為 MySQL 的分支而創(chuàng)建,它很強大且可擴展,可處理很多不同的目的和大量的查詢。Apache Cassandra是柱狀數(shù)據(jù)庫的另一個例子,它處理跨多個服務(wù)器的大量數(shù)據(jù)負載,使數(shù)據(jù)高度可用。其他數(shù)據(jù)庫還包括專為分析設(shè)計的 Apache HBase、Hypertable和Druid。這些數(shù)據(jù)庫支持Outbrain、Spotify 和 Facebook等平臺的某些功能。

列族類型

  • 標準列族。這種列族類型類似于表;它包含一個鍵值對,其中鍵是行鍵,值存儲在列中,使用它們的名稱作為標識符。
  • 超級列族。超級列代表列數(shù)組。每個超級列都有一個名稱和一個值,將超級列映射到幾個不同的列。相關(guān)的超級列關(guān)聯(lián)在超級列族的單行種。與關(guān)系數(shù)據(jù)庫相比,這就像數(shù)據(jù)庫中幾個不同表。想象一下,你可以查看單行的列和值,這是跨多個不同表的單個標識符,并且能夠?qū)⑺鼈內(nèi)看鎯υ谝粋€地方:這就是超級列族。

列式數(shù)據(jù)庫的優(yōu)勢

  • 可擴展性。這是主要優(yōu)勢,這也是企業(yè)使用此類數(shù)據(jù)庫存儲大數(shù)據(jù)的主要原因之一。它能夠根據(jù)數(shù)據(jù)庫的規(guī)模分布在數(shù)百臺不同的機器上,支持大規(guī)模并行處理。這意味著它可以使用多個處理器同時處理同一組計算。
  • 壓縮。它們不僅具有無限的可擴展性,而且還擅長壓縮數(shù)據(jù),從而節(jié)省存儲空間。
  • 反應(yīng)靈敏。加載時間最短,查詢執(zhí)行速度快,這是因為它們被設(shè)計為支持大數(shù)據(jù),并適用于分析。

列式數(shù)據(jù)庫的缺點

  • 在線事務(wù)處理。對于在線事務(wù)處理,這些數(shù)據(jù)庫不是很高效,不如在線分析處理。這意味著它們不太擅長更新事務(wù),但旨在分析它們。這就是為什么我們看到這些數(shù)據(jù)庫用于保存業(yè)務(wù)分析所需的數(shù)據(jù),而關(guān)系數(shù)據(jù)庫在后端存儲數(shù)據(jù)。
  • 增量數(shù)據(jù)加載。如上所述,通常列式數(shù)據(jù)庫用于分析并且可以快速檢索數(shù)據(jù),即使在處理復(fù)雜查詢時也是如此,因為數(shù)據(jù)在列中緊密聯(lián)系。雖然增量數(shù)據(jù)加載并非不可能,但列式數(shù)據(jù)庫并不能以最有效的方式執(zhí)行它們。首先需要掃描列以識別正確的行,然后進一步掃描以定位需要覆蓋的修改數(shù)據(jù)。
  • 特定于行的查詢。正如上面提到的缺點,這一切都歸結(jié)為同一問題,即為正確的目的使用正確類型的數(shù)據(jù)庫。對于特定于行的查詢,你會引入額外的步驟,即掃描列以識別行,然后定位要檢索的數(shù)據(jù)。訪問分散在多列中的單個記錄需要很多時間,而訪問單個列中的分組記錄會更快。頻繁的行特定查詢可能會降低列式數(shù)據(jù)庫的速度,從而導(dǎo)致性能問題,這無疑違背該數(shù)據(jù)庫的設(shè)計初衷,它是專為幫助快速獲取所需信息而設(shè)計。

NoSQL數(shù)據(jù)庫主要是為滿足特定目的而設(shè)計,不應(yīng)用作一般類型的存儲。寬列數(shù)據(jù)庫是列式而不是行式,它主要用于存儲和查詢大數(shù)據(jù)。該類型中有很多不同的數(shù)據(jù)庫可用,在尋找最合適的數(shù)據(jù)存儲解決方案時,你應(yīng)該探索它們的功能。

 

責(zé)任編輯:趙寧寧 來源: TechTarget中國
相關(guān)推薦

2019-07-08 10:36:34

數(shù)據(jù)庫WebNoSQL

2023-03-05 16:25:38

NoSQL數(shù)據(jù)庫

2024-02-02 10:51:53

2018-09-13 14:51:43

NoSQL數(shù)據(jù)庫大數(shù)據(jù)

2011-10-09 09:38:03

OracleNoSQL

2015-10-22 10:44:50

2015-10-22 10:52:34

NoSQL數(shù)據(jù)庫鍵值型數(shù)據(jù)庫文檔型數(shù)據(jù)庫

2010-08-31 14:04:49

DB2驅(qū)動

2010-04-01 09:45:38

NoSQL

2019-03-20 15:59:11

NoSQLRedis數(shù)據(jù)庫

2011-07-19 09:08:50

JavaNoSQL

2024-03-28 09:00:00

NoSQL數(shù)據(jù)庫

2022-07-28 09:02:41

文件存儲系統(tǒng)

2011-03-15 14:54:08

NoSQL

2011-04-14 11:14:21

OracleNoSQLMySQL

2011-07-13 09:58:15

HBase

2019-07-23 11:41:45

數(shù)據(jù)庫SQLDocker

2011-03-25 14:40:29

Trinity數(shù)據(jù)庫

2014-02-27 10:08:33

NoSQL

2011-05-16 10:29:44

HandlerSockNoSQL
點贊
收藏

51CTO技術(shù)棧公眾號