NoSQL建模技術

2021-09-30 15:29:50 字數 1008 閱讀 2940

**:

1. 背景

nosql家族包括keyvalue、bigtable-style、document、full-text search、graph等資料庫,如下圖所示。

解決類似bigtable/hbase/cassandra等列儲存nosql的建模問題,下文介紹nosql的建模技術。(下文所提及的nosql預設為列儲存nosql)

2. nosql建模

2.1 非規範化(denormalization)

簡單地說,在3nf建模中,那就是資料冗餘、重複。解決查詢資料量、處理複雜性(多join關聯)的問題。

2.2 複製(duplication)

2.3 intelligent 鍵(keys)

intelligent鍵,是由查詢條件的屬性列組合,以便查詢。

2.4 聚合(aggregates)

nosql具有軟模式性(soft-schema),也就是列族(column families),列( columns), 和時間戳( timestamped versions)。軟模式允許複雜的結構(內嵌實體)和特殊實體具有不同結構,one-to-many關係最小化利用內嵌實體,異構實體差異利用公共表表達。舉例如下圖,利用單一聚合表(product)建模產品的所有型別和屬性。

2.5 應用方面的關聯

在nosql中,很少支援關聯特性,經常在模型設計階段被處理,利用非規範化、聚合(內嵌實體)避免關聯,而不像rdbms在執行階段處理。但是下面情況是無法避免的,而且必須在應用層處理。

· many-to-many

2.6 索引表(index table)

建立和維護key(用於訪問模式)的特殊表。例如,主表儲存使用者帳戶,通過user id訪問;一條查詢,通過特定的城市返回所有使用者,通過維護城市為關鍵字的特殊表來實現。

3. 參考文獻

cloud data structure diagramming techniques and design patterns

nosql data modeling techniques

OO 建模技術

認知基礎 1 分類 認識事物通過類別區分定性 抽象 2 組成 複雜事物是由簡單事物組成 聚集 構造法則 1 區分 物件 屬性 2 區分 整體 區域性 3 區分 個體 型別 基本思想 1 事物 皆是物件,互相聯絡 2 物件 內部狀態,運動規律 動態 靜態 3 作用 相互作用 多個物件構成不同系統 模式...

軟體建模技術概述

1.什麼是建模 模型是什麼?模型是對現實存在的實體的抽象和簡化,模型提供了系統的藍圖。模型過慮非本質的細節資訊,抽象出的問題本質,使問題更容易理解。抽象是一種允許我們處理複雜問題的方法。為了建立複雜的軟體系統,我們必須抽象出系統的不同檢視,使用精確的符號建立模型,驗證這些模型是否滿足系統的需求,並逐...

B 資料倉儲 建模技術 建模步驟

宣告事實粒度在所有維度設計中強制實行一致性是保證bi應用效能和易用性的掛件。在從給定的業務過程獲取資料時,原子粒度是最低級別的粒度。原子粒度能夠承受無法預期的使用者查詢。上捲彙總粒度對效能調整來說非常重要,但是這樣的粒度往往要猜測業務公共問題。針對不同的事實表粒度,要建立不同的物理表,在同一事實表中...