Cơ sở dữ liệu so với lưu trữ hệ thống tệp


84

Cơ sở dữ liệu cuối cùng lưu trữ dữ liệu trong tệp, trong khi hệ thống tệp cũng lưu trữ dữ liệu trong tệp. Trong trường hợp này sự khác biệt giữa DB và Hệ thống tệp là gì. Nó theo cách nó được truy xuất hay bất cứ điều gì khác?

Câu trả lời:


61

Cơ sở dữ liệu thường được sử dụng để lưu trữ dữ liệu có cấu trúc, liên quan, với các định dạng dữ liệu được xác định rõ, theo cách hiệu quả để chèn, cập nhật và / hoặc truy xuất (tùy thuộc vào ứng dụng).

Mặt khác, hệ thống tệp là một kho dữ liệu phi cấu trúc hơn để lưu trữ dữ liệu tùy ý, có thể là không liên quan. Hệ thống tệp tổng quát hơn và cơ sở dữ liệu được xây dựng dựa trên các dịch vụ lưu trữ dữ liệu chung do hệ thống tệp cung cấp. [Quora]

Hệ thống tệp hữu ích nếu bạn đang tìm kiếm một tệp cụ thể, vì hệ điều hành duy trì một loại chỉ mục. Tuy nhiên, nội dung của tệp txt sẽ không được lập chỉ mục, đây là một trong những ưu điểm chính của cơ sở dữ liệu.

Đối với các hoạt động rất phức tạp, hệ thống tệp có thể rất chậm.

Ưu điểm chính của RDBMS:

  • Các bảng có liên quan đến nhau

  • Ngôn ngữ xử lý dữ liệu / truy vấn SQL

  • Xử lý giao dịch bổ sung cho SQL (Transact-SQL)

  • Triển khai máy chủ-máy khách với các đối tượng phía máy chủ như thủ tục được lưu trữ, chức năng, trình kích hoạt, chế độ xem, v.v.

Lợi thế của Hệ thống tệp so với Hệ thống quản lý cơ sở dữ liệu là:

Khi xử lý các tập dữ liệu nhỏ với dữ liệu tùy ý, có thể không liên quan, tệp sẽ hiệu quả hơn cơ sở dữ liệu. Đối với các thao tác đơn giản, đọc, ghi, các thao tác với tệp nhanh chóng và đơn giản hơn.

Bạn có thể tìm thấy n số chênh lệch qua internet.


Sự khác biệt duy nhất giữa cơ sở dữ liệu và hệ thống tệp là cách thức và cấu trúc mà dữ liệu được lưu trữ. Nhưng cả hai hệ thống cửa hàng. đúng?
Sriram

vâng, nhưng cấu trúc dữ liệu phi cấu trúc hoặc là câu hỏi
Vicky

25
nửa đầu của câu trả lời này được sao chép từ quora.com/...
PoweredByRice

12

Một điều cần lưu ý là Unix có cái được gọi là giới hạn inode. Nếu bạn đang lưu trữ hàng triệu bản ghi thì đây có thể là một vấn đề nghiêm trọng. Bạn nên chạy df -iđể xem% được sử dụng hiệu quả vì đây là giới hạn tệp của hệ thống tệp - NGAY CẢ NẾU bạn có nhiều dung lượng đĩa.


6

Sự khác biệt giữa hệ thống xử lý tệp và hệ thống quản lý cơ sở dữ liệu như sau:

  1. Hệ thống xử lý tệp là một tập hợp các chương trình lưu trữ và quản lý tệp trong đĩa cứng máy tính. Mặt khác, Hệ quản trị cơ sở dữ liệu là tập hợp các chương trình cho phép tạo và duy trì cơ sở dữ liệu.

  2. Hệ thống xử lý tệp có nhiều dự phòng dữ liệu hơn, ít dư thừa dữ liệu hơn trong dbms.

  3. Hệ thống xử lý tệp cung cấp ít tính linh hoạt hơn trong việc truy cập dữ liệu, trong khi dbms có tính linh hoạt hơn trong việc truy cập dữ liệu.
  4. Hệ thống xử lý tệp không cung cấp tính nhất quán dữ liệu, trong khi dbms cung cấp tính nhất quán dữ liệu thông qua quá trình chuẩn hóa.
  5. Hệ thống xử lý tệp ít phức tạp hơn, trong khi dbms phức tạp hơn.

0

Bối cảnh: Tôi đã viết một hệ thống tệp đã chạy trong quá trình sản xuất được 7 năm. [1]

Sự khác biệt chính giữa hệ thống tệp và cơ sở dữ liệu là API hệ thống tệp là một phần của Hệ điều hành, do đó việc triển khai hệ thống tệp phải triển khai API đó và do đó tuân theo các quy tắc nhất định, trong khi cơ sở dữ liệu được xây dựng bởi các bên thứ 3 hoàn toàn có quyền tự do.

Về mặt lịch sử, các cơ sở dữ liệu được tạo khi hệ thống tệp do HĐH cung cấp không đủ tốt cho vấn đề hiện tại. Chỉ cần nghĩ về nó: nếu bạn có yêu cầu đặc biệt, bạn không thể chỉ gọi Microsoft hoặc Apple để thiết kế lại API hệ thống tệp của họ. Bạn có thể tiếp tục và viết phần mềm lưu trữ của riêng mình hoặc bạn sẽ tìm kiếm các lựa chọn thay thế hiện có. Vì vậy, nhu cầu đã tạo ra một thị trường cho phần mềm lưu trữ dữ liệu của bên thứ ba mà cuối cùng được gọi là cơ sở dữ liệu . Đó là về nó.

Mặc dù có vẻ như hệ thống tệp có các quy tắc nhất định như có tệp và thư mục, nhưng điều này không đúng. Các hệ điều hành lớn nhất hoạt động như vậy nhưng có nhiều hệ điều hành nhỏ trung tâm hoạt động khác nhau. Nó chắc chắn không phải là một yêu cầu khó. (Chỉ cần nhớ rằng, để xây dựng một hệ thống tệp mới, bạn cũng cần phải viết một hệ điều hành mới, điều này sẽ khiến việc áp dụng khó hơn một chút. Tại sao không chỉ tập trung vào công cụ lưu trữ và thay vào đó gọi nó là cơ sở dữ liệu?)

Cuối cùng, cả cơ sở dữ liệu và hệ thống tệp đều có đủ hình dạng và kích thước. Giao dịch, quan hệ, phân cấp, biểu đồ, lập bảng; bất cứ điều gì bạn có thể nghĩ ra.

[1] Tôi đã làm việc trên Hệ thống tệp Boomla, là hệ thống lưu trữ đằng sau Hệ điều hành Boomla và Nền tảng ứng dụng web.

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.