我是目前爲特定人羣組織開發專用SaaS服務的團隊成員之一。 我對PHP和mySQL有所瞭解,所以我正在這些平臺上開發它。將在雲上部署並在多個國家發佈。多組織SaaS mySQL設置?
我特地到數據庫中的分離組織/主用戶的角度想看看你們的想法。
當SaaS的管理髮票和其他許多敏感信息,這將是MySQL服務器上發佈它的最佳工藝? IVE想到了以下選擇:
1)具有在單個表的單個數據庫中的所有信息,並通過一個組織識別行分離。 - 看起來很安全,並且在有幾千用戶和10,000行時可能會很慢?
2)具有單個數據庫,但與用戶的ID例如分離表。 '1000_invoices' - 再次可能會更快但不安全。
3)對每個組織註冊和用於訪問數據庫中的特定用戶和數據庫名稱創建單獨的數據庫存儲在會話/餅乾嗎?每個組織的用戶。
無論如何,我想知道你們的想法將是最好的選擇嗎?如果不是以上那麼你有什麼建議?爲什麼?也有關於安全的任何事情將不勝感激。以前從未與大型多組織應用程序合作過。 在此先感謝!
感謝您的回答大衛,我想我會去與單獨的數據庫/組織選項。你如何推薦數據庫的詳細信息(數據庫,登錄等)被髮送?當登錄設置爲會話變量? – Anthony1234
使用PHP,我可以在會話狀態下保持瞬態。數據庫詳細信息(如連接字符串)是該網站的屬性,而不是用戶(因爲它是一個每個數據庫每個客戶端的站點),因此只需將其粘貼到站點中的靜態Configuration.php文件中即可。 – Dai
對不起,我以爲你的意思是一個整體的網站和一個每個組織的數據庫。所以每個用戶登錄後會在會話中設置它們的特定數據庫,然後該站點是他們的信息,直接來自他們的特定數據庫。沒有單獨的文件每個組織?你認爲哪個更好?那不是那麼容易嗎?可以自動化。 – Anthony1234