XML vs SQL cho các dự án nhỏ?


10

Tôi đang làm việc trên một dự án nhỏ sẽ chỉ có một người dùng tại một thời điểm vì đó là một ứng dụng cục bộ (được phát triển trong WPF và C #). Để lưu trữ dữ liệu tôi đã nghĩ đến việc sử dụng tệp XML nhưng tôi tự hỏi liệu đây có phải là cách tiếp cận tốt nhất không.

Dữ liệu dùng để làm gì:

  • Shedules
  • Thư viện tệp trong thư mục (có tên Nghệ sĩ, Tiêu đề, Vị trí trên ổ cứng)
  • Có thể thống kê dựa trên dữ liệu shedule
  • ...

Thông tin liên quan đến thư viện sẽ ổn trong XML tôi tưởng tượng nhưng về tất cả phần còn lại tôi không chắc lắm. Ngoài ra LINQ to SQL dường như có nhiều lợi nhuận hơn về tốc độ phát triển so với LINQ to XML. Điều này đúng hay tôi sai? Tôi không chắc là tôi nên đăng bài này lên SO hay ở đây nhưng có vẻ phù hợp hơn ở đây!

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


2
"Một người dùng tại một thời điểm" là mã nói cho "trong sáu tháng, đây sẽ là nguồn thu nhập duy nhất của chúng tôi và cần hỗ trợ 4.000 người dùng đồng thời". Lập kế hoạch phù hợp :)
Bryan Boettcher

Bạn thậm chí không phải chạy dịch vụ máy chủ sql, bạn chỉ có thể biến nó thành một cơ sở dữ liệu đính kèm nếu bạn lo lắng về việc di chuyển từ máy này sang máy khác.
Peter Smith

2
bất kể bạn chọn gì, hãy tạo một lớp trừu tượng để bạn có thể dễ dàng trao đổi sang một sơ đồ khác khi cần thiết
ratchet freak

Câu trả lời:


13

Nếu bạn sẽ làm nhiều IO, SQL là lựa chọn tốt hơn của bạn. SQL được thiết kế để hoạt động tốt để lấy / lưu trữ dữ liệu, đó là lý do tại sao chúng tôi sử dụng nó để lưu trữ dữ liệu trên một cái gì đó giống như một trang web trái ngược với XML.

XML tốt cho dữ liệu có thể đọc được của con người có thể được chia sẻ và diễn giải giữa các ứng dụng, như ý định của nó. Phân tích cú pháp XML liên quan đến RẤT NHIỀU thao tác chuỗi có thể trở nên tốn kém hơn khi kích thước của tập dữ liệu tăng lên.


3
Đừng quên phiên bản nhỏ gọn.
JeffO

2

Nghe có vẻ như dữ liệu của bạn có khả năng phát triển vô hạn (trừ khi tôi hiểu nhầm ứng dụng của bạn). Trong trường hợp đó, tôi sẽ nói rằng tốt nhất là để lưu trữ liên tục lên một công cụ cơ sở dữ liệu để đạt hiệu quả và hiệu suất.


1

Đi với cách tiếp cận cơ sở dữ liệu. Đây là công nghệ đã được chứng minh để xử lý dữ liệu.

Về vấn đề hiệu năng, bạn có thể tăng tốc độ truy cập của mình bằng cách có các chỉ mục, trong đó trong XML, không có phương tiện nào như vậy tồn tại.

Trên cơ sở dữ liệu, bạn có thể tính toán dữ liệu thống kê bằng các hàm tổng hợp, trong XML bạn phải mã hóa nó.

Sử dụng cơ sở dữ liệu, bạn có thể thay đổi cấu trúc cơ sở dữ liệu một cách dễ dàng (thêm cột, bảng, v.v.) và có các công cụ để giúp bạn di chuyển dữ liệu giữa các cơ sở dữ liệu, như trong XML bạn phải tự làm điều đó.

Trong cơ sở dữ liệu, bạn có thể thực thi các quy tắc toàn vẹn và bạn có thể cho phép người dùng viết các lựa chọn của riêng họ nếu cần, không hoàn toàn dễ dàng trong XML.

Trong cơ sở dữ liệu, bạn có thể sắp xếp dữ liệu rất dễ dàng, ngoài ra bạn có thể thêm bảo mật. Sử dụng cơ sở dữ liệu, bạn có thể quên kích thước và đồng thời, vì vậy trong tương lai, ứng dụng của bạn có thể phát triển mà không cần thay đổi mã.

Đối với ở trên, sử dụng một cơ sở dữ liệu! EK

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.