NoSQL 資料庫敏捷資料模型

2021-09-17 07:52:44 字數 2361 閱讀 4663

在近日舉行的2023年資料架構峰會上,hackolade首席執行官pascal desmarets談了nosql資料庫的敏捷建模。他說,在nosql資料庫中,由於沒有規範化約束,資料建模變得更加重要。非結構化的多型大資料在資料治理和監管(gdpr和pii)以及利用積累的資訊的能力方面都提出了挑戰。

desmarets還談到了資料建模如何幫助企業從rdbms遷移到nosql。在關聯式資料庫和nosql資料庫中,資料建模的好處包括提高應用程式質量,改善資料質量、gdpr\u0026amp;隱私身份資訊以及商業智慧型。

團隊應該根據需求選擇合適的nosql資料庫。例如,如果你需要管理簡單的模式和快速地讀寫而不需要頻繁地更新,那麼就選擇鍵-值儲存。如果你需要支援複雜查詢的靈活模式,請選擇文件資料儲存。面向列的資料庫很適合讀取速度相對較低而寫入速度極高的情況。圖資料庫更適合於需要在資料點之間進行遍歷的應用程式,因為你需要能夠儲存每個資料點的屬性以及它們之間的關係。

他談到了傳統的資料建模過程以及我們如何從資料建模過渡到模式設計方法。概念資料模型已經被領域驅動設計(ddd)所取代,不再需要邏輯資料模型,物理資料模型則被物理模式設計所取代。

在敏捷開發過程中,資料建模在過程的每個步驟中都有作用,包括在生產環境中。資料建模工作成為多個專案涉眾之間的共享責任和對話。

他還說,領域驅動設計(ddd)和nosql像是為彼此量身設計的,ddd語言和nosql資料庫的概念直接吻合。他認為,在整個的策略、過程、體系結構和技術中,一致性是必要的,因為將所有這些原則一起應用比孤立地應用一兩項原則更可取:領域驅動設計、敏捷開發、「以資料為中心(data-centricity)」、微服務、事件驅動的體系結構、nosql、devops和雲。

infoq採訪了desmarets,內容涉及nosql資料庫資料建模及大資料管理的最佳實踐。

infoq:每種nosql資料庫型別的資料建模方法都不同嗎,比如像cassandra這樣的時間序列資料庫和像neo4j這樣的圖資料庫?

pascal desmarets:總體的方法非常相似,但是實現可能有很大的不同。為了利用nosql的優點,設計特定於應用程式的資料模型是非常重要的,這樣就可以以優化查詢效能的方式儲存資訊。對於那些幾十年來一直使用與應用程式無關的資料建模原則的人來說,這種思維轉變可能是乙個挑戰。對於我們中的許多人來說,規範化規則已經成為第二天性,我們必須強迫自己應用查詢驅動的方法來為nosql資料庫進行模式設計。

查詢驅動的方法對於所有nosql資料庫家族都非常相似。但是,當涉及到每種技術的模式設計的具體方面時,區別最大的是圖資料庫和nosql db其他三個家族之間的差異。圖資料庫的特點是:在執行查詢時,圖遍歷性能要求任何其他技術中的屬性在圖資料庫中都可以提公升為實體(或節點)的狀態。

另外,每個nosql資料庫家族中也存在差異。例如,對於圖資料庫,屬性圖db和rdf三元儲存之間有根本的區別。在json文件資料庫中,你會發現couchbase和mongodb之間的儲存結構存在差異。類似地,hbase和cassandra有非常不同的資料儲存方法。

infoq:您能談談nosql資料庫敏捷建模中的一些最佳實踐嗎?

desmartes:幾十年來,正如我們所熟知的那樣,資料建模在敏捷開發環境中承受著巨大的壓力。儘管試圖使資料建模更加敏捷,但它經常被視為兩周衝刺中速度和節奏的瓶頸。世界各地的資料建模者都感覺被排除在這個過程之外。事實上,某種形式的模式設計是必不可少的,就是說,需要重新設計資料建模以保持其重要意義。

首先,在整個開發衝刺和應用程式生命週期中,資料建模需要成為乙個迭代過程,而不是一項繁重的前端任務。

資料建模還需要成為資料建模者(他們擅長抽象他們對業務的理解)和開發人員(他們真正理解如何將需求轉換成**)之間的協作過程。

這就要求資料建模人員成為scrum團隊不可或缺的一部分。

該方法需要適應開發技術和技術棧,特別是前面描述的查詢驅動和特定於應用程式的方法。它必須結合領域驅動設計、使用者體驗和業務規則流程圖以及螢幕線框圖和報表,才能獲得在設計模式時需要考慮的應用程式查詢。

最後,我們需要能夠靈活適應新環境的下一代工具!

他還說,在相當長的一段時間裡,nosql資料庫**商通過使用「無模式」或「非關係型」等術語創造了一種差異化和轟動效應。但是,nosql資料庫是如此的靈活和強大,沒有經驗的使用者如果不應用一些嚴格的技術,就很容易陷入麻煩。現在,**商意識到,為了將他們的解決方案賣給企業,更明智的做法是使用術語「動態模式」。在使用nosql時,資料建模(或模式設計)實際上比關聯式資料庫更重要。我們只是需要一種不同於以往的資料建模方法。資料建模者應該擁抱敏捷開發,並學習新技術棧,證明它們在這個過程中增加了價值。

檢視英文原文:agile data modeling for nosql databases

NoSQL 資料庫敏捷資料模型

在近日舉行的2018年資料架構峰會上,hackolade首席執行官pascal desmarets談了nosql資料庫的敏捷建模。他說,在nosql資料庫中,由於沒有規範化約束,資料建模變得更加重要。非結構化的多型大資料在資料治理和監管 gdpr和pii 以及利用積累的資訊的能力方面都提出了挑戰。n...

NoSQL 資料庫敏捷資料模型

在近日舉行的2018年資料架構峰會上,hackolade首席執行官pascal desmarets談了nosql資料庫的敏捷建模。他說,在nosql資料庫中,由於沒有規範化約束,資料建模變得更加重要。非結構化的多型大資料在資料治理和監管 gdpr和pii 以及利用積累的資訊的能力方面都提出了挑戰。d...

NoSQL資料模型總結

資料模型是人之和運算元據時所用的模型。對於使用資料庫的人來說,資料模型描述了我們如何同資料庫中的資料打交道。它與儲存模型不同,後者描述了資料庫內容儲存及運算元據的機制。在理想情況下,使用者應該感覺不到儲存模型,然而世紀鐘,我們還是得對其略知一二,這主要是為了實現良好的效能。在過去的幾十年中,關係型資...