2010-10-01 42 views
2

所有,SQL服務器MySQL的轉換 - 架構與數據庫的問題

我們正在評估MySQL作爲一個共享的託管環境中的低成本替代品SQL服務器爲我們的小客戶。我仍然對如何遷移表/標量值函數,sql作業等某些細節仍有疑問,但我會在另一個線程中發佈具體細節。但是,我確實有一個關於MySql中的數據庫與模式的基本問題。

目前,我們的SQL服務器實例有多個數據庫,每個數據庫都有多個模式。例如:

數據庫(模式...)
====================
Client1Database(DBO,網絡)
Client2Database( DBO,網絡,schema3)
Client3Database(DBO,SCHEMA2)

在我的示例MySQL實例,它看起來好像頂層對象的模式,而不是數據庫。但是「模式」在它們旁邊有數據庫圖標,在我們的例子中,「模式」在我們的.NET應用程序中被列爲連接字符串的一部分。

所以我想我只是有幾個問題的澄清對於如何看待架構/在MySQL數據庫......

  1. 可以的,如果一個數據庫包含在MySQL實例頂層對象考慮模式多個模式,或單個模式「數據庫」。
  2. 在上面的場景中,我是否會爲每個客戶端創建一個單獨的實例,將單個客戶端數據庫扁平化爲單個模式,並將這三個客戶端保持在同一個實例中,還是其他一些逃避我的方法?對另一種方法有益處,安全性,清晰度還是其他方法?

在此先感謝您的答覆。

+0

「小客戶」的數據庫大小是多少? – 2010-10-02 20:55:42

+0

共享環境將是3-5個客戶端。數據庫的範圍從每個約50-500MB。大多數情況下,客戶端數據庫可以合併到一個模式中,但目前其中一些模式在sql server中有多個模式。 – Dave 2010-10-05 14:13:46

回答

0

首先,我會建議你或任何人避免使用MySQL,有很多免費的RDBMS可用,我最喜歡的是PostgreSQL,在我看來,它更好。此外,您的要求相當小,使用SQL Server Express不應該成爲問題,但我知道共享主機可以限制您的選擇。你(希望)已經想通了,但我會盡量回答你的問題...

  1. 基本上MySQL沒有架構,只有數據庫(這是在標準中稱爲目錄)。幾年前,他們決定添加關鍵字SCHEMA作爲DATABASE的別名。有計劃要添加模式的概念,但我不會指望它即將實施。
  2. 它主要取決於你如何在當前的設置中使用數據庫vs模式。在大多數情況下,我認爲最好將這些數據庫保存到一個實例中以簡化管理任務。

P.S .:很高興有最新的解決這個問題的方法。