Mysql

如何判斷項目是否需要 NoSQL 數據庫解決方案?

  • January 2, 2019

如何判斷項目是否需要 NoSQL 數據庫解決方案?

我認為 SQL 限制定義了它。如果項目需要更大的數據庫或更大的欄位,那麼它需要 NoSQL。

我對嗎?

我查看了 NoSQL 數據庫限制。它們如下:

例如,假設 DynamoDB 具有相似的數字,我正在使用 MongoDB。

Mongo可以安裝在許多電腦/節點上。PostgreSQL不提供用於分片的內置工具,但是citus就在身邊。

MongoDB支持高達 64 TB 的數據庫,文件大小為 16 MB。

MySQL的數據庫限制為 256 TB,表的最大大小為 64TB,記錄限制為 4 GB。

PostgreSQL對數據庫沒有限制(在某個地方確實存在 4 TB 用於測試),表中任何一個欄位的大小限制為 1 GB,表的最大大小限制為 64 TB。

還有其他與決策過程相關的內容嗎?

如何判斷項目是否需要 NoSQL 數據庫解決方案?

我認為 SQL 限制定義了它,如果項目需要比 NoSQL 更大的數據庫或更大的欄位。

我對嗎?

你看起來不太對勁 ;)

選擇 NoSQL 而不是關係數據庫與業務原因有很多關係,例如:

  • 我們團隊中是否有人已經熟悉 NoSQL 數據庫?
  • 它會更便宜嗎(在硬體、許可、支持等方面)?
  • 它會更快(因為工具,或文件數據庫的無模式性質等)?

它還與您儲存的數據類型以及數據建模要求有很大關係。例如,如果您的應用程序需要儲存大量 XML 或 JSON 數據,或者如果您保存的每個實體可能略有不同,那麼使用 NoSQL 可能會更好。但是,如果您需要對關係進行建模並強制執行約束、引用完整性等,那麼使用關係數據庫可能會更好。

你真的打算接近你提到的極限嗎?我想不是。這樣看…

假設您將以每秒 1000 行的速度插入數據。(這相當快。)現在計算填滿 64TB 表需要多長時間。1K 行/秒 * 100 字節/行 * 30M 秒/年 = 3TB/年。這並沒有給你太多的頻寬來讀取或處理數據。

在這些極端情況下,任何類型的數據儲存都會吱吱作響。

您甚至可以在預算範圍內配置一台可容納 64TB 的電腦嗎?

我的觀點是,所有 db 限制可能都非常高,以至於您可能永遠不會達到它們。至少在您破壞為電腦供電的網路或其中的 CPU 或其他任何東西之前不會。

看看這個論壇。沒有多少問題詢問如何處理一些“限制”。那些這樣做的人通常會通過提供一些解決方法來回答(在暗示開發人員做了一些愚蠢的事情之後)。

這裡有更多的 MySQL 限制。

引用自:https://dba.stackexchange.com/questions/225890