fbpx

為什麼非關聯資料庫( Non-Relational Databases )正在興起

Contents

隨著資料組織管理和生產變得越來越複雜,非關聯資料庫( Non-Relational Databases )已成為儲存、查詢和分析大量資料的首選解決方案。非關聯資料庫( Non-Relational Databases )有時被稱為 NoSQL(Not Only SQL 的縮寫)資料庫,是更典型的關聯資料庫模型( relational database models )的流行替代品,後者使用 SQL 在行式( column-style )和列式( row-style )表中進行簡單的資料查詢。

非關聯資料庫最適合大數據

非關聯資料庫( Non-Relational Databases )用於滿足“大數據”需求和生成不同類型資料的實時應用程式。 這些非結構化資料包括圖像、視訊、社交媒體貼文和文檔,這些格式對於經典的基於 SQL 的資料庫來說具有挑戰性。 SQL 查詢( SQL queries )需要更結構化的資料或數字的行列。 然而,大量或不同的資料格式(圖像、社交媒體貼文)不適合這些經典的電子表格列 – 需要更多的非關聯資料庫方法。 隨著大數據變得更加複雜和多樣化,非關聯資料庫正在成為組織的首選。 但是,有哪些非關聯資料庫以及如何為你的專案選擇最好的一個呢?

非關聯資料庫的類型

非關聯資料庫解決方案通常分為四類。 資料基礎設施團隊應該分析哪個選項最適合他們的資料模式,而不是嘗試圍繞不靈活的解決方案重建資料系統。 這些類別包括:

文件儲存

這是四個類別中最常見的類別,資料以文件集合(通常是 JSON 文檔)表示。 這些文件“歸檔”在資料庫中,可以包含任意數量和類型的資料。 這些文件中包含的資料沒有任何限制。 文件儲存的示例包括 MongoDB 和 Elasticsearch。

行列( Column )儲存

該類別用於儲存跨多個資料集的大數據。 它與關係資料庫有相似之處,因為它的結構支持 SQL 樣式查詢,但列式結構使得可以為特定類型的查詢創建高度優化的表。 針對行列( column )的系統的示例包括 Amazon Redshift Google BigQuery

圖像儲存

圖像儲存管理有關網路系統的資料,這些資料可以增長到幾 TB 的數據。 它們針對查詢組織為節點和邊緣(連接節點)的資料進行了優化,例如社交網路中朋友之間的連接。 這些是高度專業化的系統; 例子包括 Oracle 的“Oracle Spatial and Graph”產品和 Amazon Neptune

鍵值( key-value )儲存

鍵值存儲一個鍵,它是值的標識符。 使用鍵或值查找資料。 資料沒有任何限制,因為每個元素只有鍵值對。 它非常適合具有結構化查詢以快速返回用戶、專案或實體的特定資訊的大型應用程式。 如果檢索到的值是文件,則鍵值儲存也可以分類為文件儲存。 如果元數據與文件相關聯,則它也可以被描述為物件儲存(object store )。 鍵值示例包括 RedisDynamo 和 MemcacheDB。

3 種流行的非關聯資料庫管理系統

由於非結構化資料在全球範圍內的增長,從相對較新的供應商到擁有數十年大數據經驗的傳統公司都已提供豐富的非關聯資料庫選項。

以下列出最常用的 NoSQL

MongoDB

MongoDB 於 2008 年作為“下一代資料庫”推出,是一種文件導向的資料庫模型。 Bosch、Coinbase、Barclays 和 Infosys 等公司使用 MongoDB 來管理大量非結構化資料。 MongoDB 中的物件由用戶定義,並組織成用戶所需的任何類型的層次結構。 如果你不確定應用程式將使用的資料規模和類型,請選擇 MongoDB,因為它具有靈活性。

優點:MongoDB 提供了一個富有表現力的物件模型,允許用戶有效地索引結構化資料,並使用二級索引更靈活地查詢它。

缺點:如果節點發生故障,可能會出現一些停機時間。

相關課程:MongoDB 相關課程

Cassandra

Cassandra 於 2008 年由 Apache 發布,是 Apple、Intuit、Microsoft 和 Netflix 等公司使用的行列儲存( Column Store )。 它使用 CQL,一種類似於 SQL 的專有查詢語言。 儘管 Cassandra 與關聯資訊庫有相似之處,但它提供了更大的靈活性和可擴展性。

優點:Cassandra 具有高可用性,這意味著即使發生硬體故障等故障,其中儲存的資料也將保持可用。

缺點:列結構不提供 MongoDB 物件模型的靈活性。

相關課程 : 終極 Hadoop 實踐 – 馴服你的大數據 !

HBase 

Apache 的 HBase 是行列儲存非關聯資料庫的另一個示例。 它運行在 Hadoop 和 HDFS( Hadoop Distributed File System )之上,通常稱為 Hadoop 資料庫。 藉助 HBase,你可以查詢記錄,同時查看海量資料集的分析報告。

優點:與 Hadoop 叢集緊密整合。 它的柱狀性質使其非常適合快速服務已知結構的請求。

缺點:如果節點發生故障,可能會出現一些停機時間。

相關課程 : 學習大數據:Hadoop 生態系統大師班

儘管非關聯資料庫在過去十年中越來越受歡迎,用於處理智慧手機和物聯網 (IoT) 設備生成的資料,但關聯資料庫仍然是資料架構的重要組成部分,尤其是在處理敏感客戶資料時。 事實上,關聯型資料庫和非關聯型資料庫可以在公司的資料基礎設施內協同工作,以彌補對方的缺點。 結構化資料通常儲存在關聯系統中,用於離線商業智慧分析。 支持實時應用程式所需的資料可以根據網站或應用程式的需要導出到非關聯資料庫中。

要了解最適合你的專案和公司的資料庫解決方案,請參考資料庫相關課程。

原文 : Udemy Why Non-Relational Databases Are on the Rise


Lingoda

也許你會有興趣

不受 FB 演算法影響,歡迎透過 e-mail 訂閱網站更新

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: