簡體   English   中英

用於在雲上構建企業Web(RIA)應用程序的數據庫體系結構(單個數據庫與客戶端特定數據庫)

[英]Databse architecture (single db vs client specific db) for Building Enterprise Web (RIA) application on cloud

我們正在努力重寫現有的RIA並重新設計我們的數據庫以重新設計它的設計。 現在我們對數據庫有2條意見:

(此選擇適用於基於SaaS的托管。)

1)每個客戶的個人數據庫。

2)所有客戶的單個DB。

我們期待大量的數據,我們的一些客戶的數據庫大小從2GB到10GB不等。 表的數量大約是100。

我可以得到一個答案,我們將選擇哪種選擇?

我們目前沒有考慮NoSQL解決方案,但我們計划支持大約4-5個數據庫,其中包括JPA(Java持久性API),其中包括MySQL,Postgres,Oracle,MSSQL。

PS:我們可能利用亞馬遜雲進行托管。

下面通常應用於此類多租戶要求的數據庫使用的三種主要技術。 您已經指定了其中一些。

  1. 每個租戶的單獨數據庫:
    • 成本非常高,易於維護/定制,易於調整,易於備份,易於編碼。
  2. 共享數據庫但不同的架構:
    • 與(1)相比成本低,可能會隨着db大小的增加而迅速遇到問題,每個租戶容易個性化,每個租戶難以備份/恢復,易於編碼。
  3. 共享數據庫共享模式:
    • 低成本,一個租戶的負載將影響其他人,安全性和應用程序開發是一個挑戰,每個租戶難以個性化,難以恢復/備份。

我認為以上幾點對於托管內部或雲端有用。 如果您看到租戶數量增加或數據變大,則1)或2)更好。 我使用了選項2)並且已經看到它有助於開發和維護。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM