簡體   English   中英

由於LocalDB是用於開發目的,那么使用什么DB進行生產?

[英]Since LocalDB is for development purpose, then use what DB for production?

我在LocalDB和SQL Server Express之間有點混淆。 我從網站上讀到, LocalDB是SQL Server Express( 源代碼 )的改進版本。 我認為這意味着LocalDB正在取代SQL Server Express。

然而令人困惑的是,在幾個網站上也提到LocalDB僅用於開發目的,並不代表生產用途。

在這種情況下,我將在我的計算機上使用LocalDB對我的Web應用程序進行開發和測試。 由於LocalDB是SQL Server Express的替代品而且也不用於生產用途,那么當我准備發布我的應用程序時,我應該使用什么數據庫(除了完整的SQL Server,如果我沒有錢)?

我認為這意味着LocalDB正在取代SQL Server Express。

你的假設不正確。 繼續閱讀你鏈接的文章......

LocalDB不是SQL Server Express的替代品 - 它是SQL Server Express陣容的補充。 雖然LocalDB適用於開發人員,但常規SQL Server Express將繼續作為免費SQL Server版本存在,與更高版本的SQL Server版本完全兼容並可輕松升級。

您仍然可以使用SQL Server Express或更高版本的SQL Server進行生產。 或者更好的是,從數據庫中抽象出您的應用程序,以便您可以使用任何服務器(MySQL,Oracle等)

LocalDB只是適用於開發用途的SqlExpress的特殊版本。

如果您正在嘗試正確獲取表,視圖和存儲過程,則每次啟動計算機時都不需要運行SqlExpress實例。 您不需要DB服務器來接受端口1433上的傳入連接並驗證用戶名和密碼。 等等

過去,SqlExpress是單獨安裝的。 它未集成到Visual Studio和ASP.NET。 它就像IIS和IIS Express,沒有人使用IIS Express來托管購物網站,但是將代碼放在localhost中很方便。 LocalDB是相同的概念,您使用的SqlServer輕量級版本並未針對性能進行優化,而是在您需要它時才開始執行代碼。

我在生產中使用過SqlExpress沒有問題,其他許多人也這樣做了。 只要你沒有達到極限,它就會非常好,只有一小部分應用確實需要更多。 我建議你直接針對sql express開發(localdb直到最近才存在,我仍然針對sql express開發)並在生產中使用它,直到你的應用程序變得非常流行或空間限制讓你覺得需要升級。

當然你可以使用其他rdbms甚至nosql dbs(比如ravendb或mongodb),這取決於你想要托管應用程序的位置或你對rdbms的體驗等等

這取決於托管和您想要執行的管理量。 正如您所提到的,完整的SQL Server是一個選項,但許可成本可能很高。

PostgreSQL是另一個受歡迎的選擇,效果非常好,而且是免費的。

我最喜歡的選擇是Azure SQL 定價很小,特別是對於小型數據庫,它消除了大量管理的需要,並且您仍然可以通過Visual Studio獲得出色的工具支持。

不應在生產環境中使用LocalDB和SQL Server Express,因為:

  • SQL Server Express在某些方面受到限制,例如CPU,內存,數據庫大小等。如果您正在編寫查詢,則需要確保它將在1000萬行上生成,而您無法在本地支持

  • SQL Server Express有關於虛擬化的限制,您無法實時遷移它等。

  • LocalDB將您置於“神沙盒”中。

SQL Server Express和標准之間的完全比較就在這里

我建議使用SQL Server Standard或PostgreSQL。

暫無
暫無

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

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