Điểm:0

Cơ sở dữ liệu MS Access trên mạng LAN của công ty nhỏ: NAS so với Windows Server ảo hóa

lá cờ jp

Tôi hiện đang phát triển một ứng dụng Windows có kích thước nhỏ. Vì lý do tương thích, tôi bị hạn chế sử dụng MS Access làm "phụ trợ" DB (di chuyển sang SQL Server đã được lên kế hoạch nhưng chưa thể thực hiện được).

Trong những ngày này tôi phải đưa ra quyết định. Tôi có hai lựa chọn:

  1. Lưu trữ tệp MS Access trên NAS (Synology);
  2. Lưu trữ các tệp MS Access trên Máy chủ Windows ảo hóa (phần cứng hơi cũ).

Giải pháp nào tốt hơn, về kết nối cơ sở dữ liệu nhanh và đáng tin cậy? Tôi biết rất khó để đưa ra câu trả lời đảm bảo 100% với quá ít thông tin, vậy tôi nên thực hiện những xét nghiệm nào để đưa ra quyết định của mình? Có ai trong số các bạn đã phải đối mặt với một tình huống tương tự?

Cảm ơn bạn trước.

Jevgenij Martynenko avatar
lá cờ us
Kích thước của tệp DB là bao nhiêu? Số lượng người dùng đồng thời? Tại sao SQL Server không thể được sử dụng bây giờ? Hiệu suất sẽ phụ thuộc vào tốc độ mạng của bạn và thông số kỹ thuật phần cứng của từng tùy chọn (loại đĩa, mạng, RAM). Nhưng nếu tệp nhỏ và số lượng người dùng ít thì có thể không có gì khác biệt cả. Vấn đề với tệp Access thường không phải là tốc độ, mà là khóa và hỏng tệp
FrankIsNotNothing avatar
lá cờ jp
@JevgenijMartynenko cảm ơn bạn đã quan tâm. Kích thước của tệp cơ sở dữ liệu nằm trong khoảng từ vài KB đến 20 - 50 MB. NAS là Synology rs2418rp+ và nó phải có ổ SSD và RAID; máy chủ ảo hóa cũ hơn NAS một chút (hiện tại tôi không có thông số kỹ thuật chi tiết). Cả hai đều được kết nối qua mạng LAN 10 Gbps. Số lượng người dùng đồng thời ước tính dao động trong khoảng từ 5 đến 20. Việc kết nối với các tệp cơ sở dữ liệu này được thực hiện thông qua ứng dụng .Net (người dùng không sử dụng cũng như không nhìn thấy các tệp Access).
Jevgenij Martynenko avatar
lá cờ us
Tôi không nghĩ rằng bạn sẽ gặp phải bất kỳ vấn đề nào về hiệu suất do đĩa/mạng. Việc truy cập các tệp DB có thể bị chậm theo thiết kế, vì việc khóa tệp và tính toán được thực hiện ở phía máy khách. Vì vậy, mạng/đĩa có thể sẽ không phải là nút cổ chai của bạn. Tôi thực sự khuyên bạn nên chuyển sang phiên bản SQL Server miễn phí càng sớm càng tốt
FrankIsNotNothing avatar
lá cờ jp
@JevgenijMartynenko Hôm nay tôi đã thực hiện một bài kiểm tra với Kiểm tra tốc độ mạng LAN: có vẻ như NAS thực sự nhanh hơn một chút so với máy chủ ảo hóa, nhưng tôi biết tôi chỉ đang so sánh tốc độ đọc/ghi. Bạn có nghĩ rằng tôi sẽ nhận được bất kỳ lợi thế nào khi cài đặt máy chủ SQL express trên PC cũ (i5 thế hệ thứ 3, RAM 12 GB 1600 MHz, SSD) không? Điều này có tốt hơn giải pháp dựa trên MS Access hiện tại không?
FrankIsNotNothing avatar
lá cờ jp
@JevgenijMartynenko Ý tôi là: đối với máy khách mới hơn, việc phải dựa vào máy tính cũ sẽ làm giảm hiệu suất so với giải pháp dựa trên MS Access? Là một giải pháp máy chủ SQL luôn thích hợp hơn? Hãy tha thứ cho tôi, tôi hoàn toàn là một người mới.
Jevgenij Martynenko avatar
lá cờ us
Tôi tin rằng phần cứng được đề cập sẽ là quá đủ. SQL Server đáng tin cậy hơn nhiều so với các tệp Access DB. Về hiệu suất, Express Edition sẽ không thể sử dụng nhiều hơn 2 GB RAM. Vì vậy, 6 GB cho máy SQL Server là quá đủ (2 GB cho HĐH Windows, 2 GB cho bộ đệm tệp, 2 GB cho SQL). Kiểm tra các giới hạn khác của Phiên bản Express tại đây https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-version-15?view=sql-server-ver15# Cross-BoxScaleGiới hạn
Jevgenij Martynenko avatar
lá cờ us
Để thêm một chút muối... vui lòng hiểu rằng việc di chuyển từ Access DB sang SQL Server sẽ yêu cầu cấu hình lại ứng dụng của bạn và cập nhật mã của ứng dụng. Ngoài ra, việc quản lý SQL Server có thể cần nhiều nỗ lực và kiến ​​thức hơn một chút. Những lợi ích bạn sẽ nhận được là độ tin cậy và hiệu suất
FrankIsNotNothing avatar
lá cờ jp
@JevgenijMartynenko Cảm ơn bạn đã hỗ trợ. Tôi sẽ chuẩn bị máy chủ SQL đó và dùng thử, tôi nghĩ đó là cách tốt nhất để đạt được độ tin cậy và hiệu suất.
FrankIsNotNothing avatar
lá cờ jp
@JevgenijMartynenko Tôi quay lại đây chỉ để cảm ơn bạn đã giới thiệu tôi sử dụng SQL Server. Tôi đang di chuyển tất cả các tệp Access sang SQL Server trong những ngày này và thực hiện một số lần thử đầu tiên. Tôi rất ngạc nhiên về hiệu suất mà tôi nhận được - phần tốt nhất là tôi chưa tối ưu hóa mã ứng dụng của mình! Cảm ơn bạn.
Jevgenij Martynenko avatar
lá cờ us
Vui vẻ giúp đỡ :)

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.