2014-04-24 21 views
9

Tôi nhận được một chút nhầm lẫn ở đây giữa LocalDB và SQL Server Express. Tôi đã đọc từ các trang web rằng LocalDB là phiên bản cải tiến của SQL Server Express (source). Tôi sẽ giả định điều này ngụ ý rằng LocalDB đang thay thế SQL Server Express.Vì LocalDB là dành cho mục đích phát triển, sau đó sử dụng DB để sản xuất?

Điều khó hiểu, tuy nhiên, nó cũng được đề cập trên một số trang web mà LocalDB chỉ dành cho mục đích phát triển và không có nghĩa là để sử dụng sản xuất.

Trong trường hợp này, tôi sẽ thực hiện việc phát triển và thử nghiệm ứng dụng web của mình với LocalDB trên máy tính của tôi. Vì LocalDB là sự thay thế cho SQL Server Express và cũng không dùng cho sản xuất, thì cơ sở dữ liệu nào (ngoài SQL Server đầy đủ nếu tôi không có tiền) tôi nên sử dụng khi tôi sẵn sàng xuất bản ứng dụng của mình?

Trả lời

9

Tôi cho rằng điều này ngụ ý rằng LocalDB đang thay thế SQL Server Express.

Giả định của bạn không chính xác. Hãy đọc bài viết bạn đã liên kết ...

LocalDB không thay thế cho SQL Server Express - nó là một bổ sung cho dòng máy chủ SQL Server Express. Mặc dù LocalDB dành cho các nhà phát triển, SQL Server Express thông thường sẽ tiếp tục tồn tại dưới dạng phiên bản SQL Server miễn phí, hoàn toàn tương thích và dễ dàng nâng cấp lên các phiên bản SQL Server cao hơn.

Bạn vẫn sẽ sử dụng SQL Server Express hoặc phiên bản cao hơn của SQL Server để sử dụng sản xuất. Hoặc tốt hơn, trừu tượng ứng dụng của bạn từ cơ sở dữ liệu theo cách mà bạn có thể sử dụng bất kỳ máy chủ nào (MySQL, Oracle, v.v.)

+1

LocalDB có thể được sử dụng trong sản xuất quá (nếu áp dụng - bài báo Carven liên kết để nói điều này) mặc dù nó cần phải được giữ bận rộn để ngăn chặn nó đóng cửa chính nó xuống. –

+4

"nó cần phải được giữ bận rộn để ngăn chặn nó đóng cửa chính nó xuống" ... mà không giống như một cơ sở dữ liệu sản xuất. – Jowen

0

Tùy thuộc vào lưu trữ và số lượng quản trị bạn muốn thực hiện. Như bạn đã đề cập, đầy đủ SQL Server là một tùy chọn, nhưng chi phí cấp phép có thể cao.

PostgreSQL là một lựa chọn phổ biến khác, hoạt động thực sự tốt và hoàn toàn miễn phí.

Tùy chọn yêu thích của tôi là Azure SQL. Giá cả là tối thiểu, đặc biệt là đối với cơ sở dữ liệu nhỏ, nó giúp loại bỏ sự cần thiết cho rất nhiều quản trị, và bạn vẫn nhận được hỗ trợ công cụ tuyệt vời với Visual Studio.

-3

Cả LocalDB hay SQL Server Express không nên được sử dụng trong môi trường sản xuất, bởi vì:

  • SQL Server Express được giới hạn trong một số cách khác nhau, ví dụ như CPU, bộ nhớ, kích thước cơ sở dữ liệu vv Nếu bạn đang viết một truy vấn, bạn muốn chắc chắn rằng nó sẽ chạy trong sản xuất trên 10 triệu hàng mà bạn không thể hỗ trợ tại địa phương

  • SQL server Express có một giới hạn về ảo hóa, bạn không thể sống di chuyển nó vv

  • LocalDB đặt bạn vào "sandbox thần".

so sánh đầy đủ giữa SQL Server Express và giữa các ý kiến ​​here

tôi khuyên bạn nên sử dụng SQL Server Standard hoặc PostgreSQL.

+7

SQL Server Express hoàn toàn phù hợp với các cơ sở dữ liệu cục bộ tương đối nhỏ. –

7

LocalDB đơn giản là phiên bản đặc biệt của SqlExpress được điều chỉnh để sử dụng phát triển.

Nếu bạn đang cố gắng để có được bảng, lượt xem và thủ tục lưu trữ của bạn ngay, bạn không cần SqlExpress dụ để chạy mỗi khi bạn khởi động máy tính của bạn. Bạn không cần máy chủ DB để chấp nhận các kết nối đến trên cổng 1433 và xác minh tên người dùng và mật khẩu. Vv, v.v.

Trong quá khứ SqlExpress được cài đặt riêng. Nó không được tích hợp với Visual Studio và ASP.NET. Nó giống như IIS và IIS Express, không ai sử dụng IIS Express để lưu trữ một trang web mua sắm, nhưng nó tiện dụng để lấy các mã đi vào localhost. LocalDB là cùng một khái niệm, bạn sử dụng một phiên bản nhẹ của SqlServer không được tối ưu hóa cho hiệu suất, nhưng bắt đầu khi bạn cần nó để có được mã của bạn đi.

+0

Cảm ơn bạn đã tạo sự khác biệt dễ hiểu! +1! :) – Carven

0

Tôi đã sử dụng SqlExpress trong sản xuất mà không có vấn đề gì và nhiều người khác cũng đã làm như vậy. Miễn là bạn không đạt đến giới hạn thì điều đó rất tốt và chỉ một phần nhỏ ứng dụng thực sự cần nhiều hơn. Tôi khuyên bạn nên phát triển trực tiếp chống lại sql express (localdb thậm chí không tồn tại cho đến gần đây, tôi vẫn phát triển so với sql express) và sử dụng nó trong sản xuất cho đến khi ứng dụng của bạn trở nên rất phổ biến hoặc không gian hạn chế cắn bạn mà bạn cần nâng cấp.

Chắc chắn bạn có thể sử dụng RDBMS khác hoặc thậm chí dbs NoSQL (như ravendb hoặc MongoDB), nó phụ thuộc vào nơi bạn muốn lưu trữ các ứng dụng hoặc những gì kinh nghiệm của bạn với một RDBMS là vv

Các vấn đề liên quan