Baza danych a pamięć systemu plików


86

Baza danych ostatecznie przechowuje dane w plikach, podczas gdy system plików przechowuje również dane w plikach. W tym przypadku jaka jest różnica między bazą danych a systemem plików. Czy przeszkadza w ich pobieraniu, czy w czymkolwiek innym?

Odpowiedzi:


63

Baza danych jest zwykle używana do przechowywania powiązanych, ustrukturyzowanych danych, z dobrze zdefiniowanymi formatami danych, w skuteczny sposób do wstawiania, aktualizacji i / lub pobierania (w zależności od aplikacji).

Z drugiej strony system plików to bardziej nieustrukturyzowany magazyn danych do przechowywania dowolnych, prawdopodobnie niepowiązanych danych. System plików jest bardziej ogólny, a bazy danych są zbudowane na podstawie ogólnych usług przechowywania danych udostępnianych przez systemy plików. [Quora]

System plików jest przydatny, jeśli szukasz określonego pliku, ponieważ systemy operacyjne utrzymują rodzaj indeksu. Jednak zawartość pliku txt nie będzie indeksowana, co jest jedną z głównych zalet bazy danych.

W przypadku bardzo złożonych operacji system plików będzie prawdopodobnie bardzo powolny.

Główne zalety RDBMS:

  • Tabele są ze sobą powiązane

  • Język zapytań SQL / przetwarzania danych

  • Dodatek do przetwarzania transakcji w SQL (Transact-SQL)

  • Implementacja serwer-klient z obiektami po stronie serwera, takimi jak procedury składowane, funkcje, wyzwalacze, widoki itp.

Przewaga systemu plików w porównaniu z systemem zarządzania bazą danych to:

Podczas obsługi małych zestawów danych z dowolnymi, prawdopodobnie niepowiązanymi danymi, plik jest bardziej wydajny niż baza danych. W przypadku prostych operacji operacje odczytu, zapisu i plików są szybsze i prostsze.

W Internecie można znaleźć n różnic.


Jedyna różnica między bazą danych a systemem plików polega na sposobie i strukturze przechowywania danych. Ale oba systemy przechowują. dobrze?
Sriram

tak, ale pytanie dotyczy danych ustrukturyzowanych lub nieustrukturyzowanych
Vicky

26
pierwsza połowa tej odpowiedzi została skopiowana z quora.com/…
PoweredByRice

13

Należy być świadomym tego, że Unix ma tak zwany limit i-węzłów. Jeśli przechowujesz miliony rekordów, może to być poważny problem. Powinieneś uruchomić, df -iaby zobaczyć procent wykorzystany jako efektywny, jest to limit plików systemu plików - NAWET JEŚLI masz dużo miejsca na dysku.


7

Różnica między systemem przetwarzania plików a systemem zarządzania bazą danych jest następująca:

  1. System przetwarzania plików to zbiór programów przechowujących i zarządzających plikami na dysku twardym komputera. Z drugiej strony system zarządzania bazą danych to zbiór programów umożliwiających tworzenie i utrzymywanie bazy danych.

  2. System przetwarzania plików ma większą redundancję danych, mniejszą redundancję danych w dbms.

  3. System przetwarzania plików zapewnia mniejszą elastyczność w dostępie do danych, podczas gdy dbms ma większą elastyczność w dostępie do danych.
  4. System przetwarzania plików nie zapewnia spójności danych, podczas gdy dbms zapewnia spójność danych poprzez normalizację.
  5. System przetwarzania plików jest mniej złożony, podczas gdy dbms jest bardziej złożony.

1

Kontekst: Napisałem system plików, który działa w środowisku produkcyjnym od 7 lat. [1]

Kluczową różnicą między systemem plików a bazą danych jest to, że API systemu plików jest częścią systemu operacyjnego, dlatego implementacje systemu plików muszą implementować to API i tym samym przestrzegać pewnych zasad, podczas gdy bazy danych są budowane przez strony trzecie, które mają pełną swobodę.

Historycznie rzecz biorąc, bazy danych były tworzone, gdy system plików dostarczany przez system operacyjny nie był wystarczająco dobry, aby rozwiązać problem. Pomyśl tylko: jeśli masz specjalne wymagania, nie możesz po prostu zadzwonić do Microsoft lub Apple, aby przeprojektować ich API systemu plików. Możesz albo napisać własne oprogramowanie do przechowywania danych, albo rozejrzeć się za istniejącymi alternatywami. Tak więc potrzeba stworzyła rynek dla oprogramowania do przechowywania danych innych firm, które ostatecznie zostało nazwane bazami danych . O to chodzi.

Chociaż może się wydawać, że systemy plików mają pewne zasady, takie jak posiadanie plików i katalogów, nie jest to prawdą. Największe systemy operacyjne działają w ten sposób, ale istnieje wiele małych systemów operacyjnych, które działają inaczej. Z pewnością nie jest to trudny wymóg. (Pamiętaj tylko, że aby zbudować nowy system plików, musisz również napisać nowy system operacyjny, co znacznie utrudni adopcję. Dlaczego nie skupić się tylko na silniku pamięci masowej i zamiast tego nazwać go bazą danych?)

W końcu zarówno bazy danych, jak i systemy plików mają różne kształty i rozmiary. Transakcyjne, relacyjne, hierarchiczne, wykresowe, tablicowe; cokolwiek przyjdzie Ci do głowy.

[1] Pracowałem na systemie plików Boomla, który jest systemem przechowywania danych za Boomla OS i platformą aplikacji internetowych.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.