NoSQL和資料流程式設計



有時,資料無法以關係格式提供,我們需要藉助NoSQL資料庫來保持其事務性。

在本章中,我們將重點關注NoSQL的資料流。我們還將學習它如何與敏捷和資料科學相結合進行操作。

使用NoSQL與敏捷的主要原因之一是提高與市場競爭的速度。以下原因表明NoSQL如何最適合敏捷軟體方法:

更少的障礙

更改當前正在進行的模型在敏捷開發中也需要一些實際成本。使用NoSQL,使用者使用聚合資料,而不是浪費時間在規範化資料上。關鍵是要完成一些事情,並以使模型資料完美為目標。

可擴充套件性增強

無論何時組織建立產品,它都更關注其可擴充套件性。NoSQL始終以其可擴充套件性而聞名,但在設計為水平可擴充套件性時,它的效果更好。

利用資料的能力

NoSQL是一種無模式資料模型,允許使用者輕鬆使用大量資料,其中包括多個可變性和速度引數。在考慮技術選擇時,您應該始終考慮能夠更大規模地利用資料的技術。

NoSQL的資料流

讓我們考慮以下示例,其中我們展示瞭如何將資料模型重點放在建立RDBMS模式上。

以下是模式的不同需求:

  • 應列出使用者標識。

  • 每個使用者至少必須擁有一項技能。

  • 應妥善維護每個使用者的經驗細節。

Users Experience

使用者表已使用3個單獨的表進行規範化:

  • 使用者

  • 使用者技能

  • 使用者經驗

查詢資料庫時的複雜性增加,並且隨著規範化的增加,時間消耗也隨之增加,這對敏捷方法不利。可以使用NoSQL資料庫設計相同的模式,如下所示:

Complexity Increases

NoSQL以JSON格式維護結構,結構輕量級。使用JSON,應用程式可以將具有巢狀資料的物件儲存為單個文件。

廣告