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:
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.
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 -i
aby zobaczyć procent wykorzystany jako efektywny, jest to limit plików systemu plików - NAWET JEŚLI masz dużo miejsca na dysku.
Różnica między systemem przetwarzania plików a systemem zarządzania bazą danych jest następująca:
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.
System przetwarzania plików ma większą redundancję danych, mniejszą redundancję danych w dbms.
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.