2011-10-24 139 views
2

我有一個多租戶應用程序,其中包含一個包含TenantId的所有記錄的單個數據庫。然而,我們希望所有租戶都能從中獲益的共同數據。我們實際上正在重建一箇舊的ASP(noir,不是clasic)應用程序,並且在那個應用程序中他們有一個TenantId = 1,這是所有常見的東西。對於我來說,這看起來有些不禮貌,因爲最終會出現查詢說TenantId = 342 ||的問題tenantId = 1。
有沒有更好的方法來做到這一點?多租戶共享數據庫與承租人之間的共同數據

感謝,

RAIF

+1

如果所有人都應該看到數據,那麼您可以擁有值爲「private」的PrivacyClass字段(如果數據是租戶的私有數據)或「通用的」。然後在'TenantId = 342 ||上查詢PrivacyClass = 「萬能」'。 –

+0

感謝您的輸入。我想我一直希望有其他方式可以過濾,但我決定走「公司租戶」或其他任何方式來存儲公共數據。我很驚訝沒有更多的迴應,這必須是公平的共同的問題。 – Raif

+0

這實際上在2013年仍然是一個問題,似乎無法找到任何像樣的解決方案。我們的案例涉及擁有私人數據,公共數據和與特定合作者共享的數據的租戶。請讓我知道你是否找到了這個好的解決方案。 –

回答

0

恕我直言,你可以有我最好的列值作爲空爲你記錄您想擁有全球或跨不同租戶共享租戶實現這一目標。如果您需要存儲租戶特定的值,只需將該值連同租戶一起存儲,我會在我要列的租戶中評估SRT。通過這種方式,您可以將租戶特定值和全局值都置於單個表格中,便於檢索。

如果需要進一步討論,請發表您的理解。

0

這裏提到了一些方法,包括Johnathan M對「私人」領域的建議。自己一直在研究這個問題,看起來行安全性可能是一個解決方案。例如,with Postgres