Kakva je razlika između datotečnog sustava i baze podataka?


Odgovor 1:

Baza podataka obično se koristi za spremanje povezanih, strukturiranih podataka, s dobro definiranim formatima podataka, na učinkovit način za umetanje, ažuriranje i / ili preuzimanje (ovisno o aplikaciji).

S druge strane, datotečni sustav je više nestrukturirano spremište podataka za pohranu proizvoljnih, vjerojatno nepovezanih podataka. Datotečni sustav je općenitiji, a baze podataka grade se na temelju općih usluga pohrane podataka koje pružaju datotečni sustavi.

Također postoje razlike u očekivanoj razini usluge koju pružaju datotečni sustavi i baze podataka. Iako baze podataka moraju biti samosvjesne u bilo kojem trenutku (razmislite o bankama koje prate novac!), Osiguravaju izolirane transakcije i trajne zapise, datotečni sustav daje mnogo labavija jamstva o dosljednosti, izolaciji i trajnosti. Baza podataka koristi sofisticirane algoritme i protokole za implementaciju pouzdane pohrane na vrhu potencijalno nepouzdanog datotečnog sustava. Upravo ti algoritmi čine pohranu baze podataka skupljom u pogledu troškova obrade i pohrane koji čine općenite datotečne sustave privlačnom opcijom za podatke koji ne zahtijevaju dodatna jamstva baze podataka.

Kako tehnologija napreduje, linije se zamagljuju, budući da neki datotečni sustavi preuzimaju značajke prethodno domene baza podataka (transakcije, napredni upiti), a neke baze podataka ublažavaju tradicionalna ograničenja dosljednosti, izoliranosti i trajnosti. ZFS i BTRFS mogu se smatrati primjerima prvog, MongoDB i CouchDB primjeri drugog.


Odgovor 2:

Razlika između sustava za obradu datoteka i DBMS:

1. Sustav za upravljanje bazama podataka koordinira i fizički i logički pristup podacima, dok sustav za obradu datoteka koordinira samo fizički pristup.

2. Sustav za upravljanje bazama podataka dizajniran je tako da omogućava fleksibilan pristup podacima (tj. Upitima), dok je sustav za obradu datoteka dizajniran tako da omogućava unaprijed određeni pristup podacima (tj. Kompiliranim programima).

3. Sustav za upravljanje bazama podataka dizajniran je za istodobno koordiniranje više korisnika koji pristupaju istim podacima. Sustav za obradu datoteka obično je osmišljen kako bi omogućio jednom ili više programa istovremeno pristupanje različitim datotekama podataka. U sustavu za obradu datoteka datoteci mogu istovremeno pristupiti dva programa samo ako oba programa imaju pristup datoteci samo za čitanje.

4. Redukcija je kontrola u DBMS-u, ali ne i u datotečnom sustavu.

5. Neovlašteni pristup ograničen je u DBMS-u, ali ne i u datotečnom sustavu.

6. DBMS pružaju sigurnosnu kopiju i oporavak dok se podaci izgubljeni u datotečnom sustavu ne mogu povratiti.

7. DBMS pružaju više korisničkih sučelja. Podaci su izolirani u datotečnom sustavu.


Odgovor 3:

Jedna od stvari koju je prilično lako zaboraviti jest da su računala, na kraju, strojevi. Iako imamo sposobnost percepcije svijeta oko nas i imamo složene mehanizme koji nam omogućuju donošenje vrijednosnih prosudbi, komunikaciju s drugima i primjenu logike za rješavanje problema, računala djeluju putem složenih električnih krugova koji na kraju djeluju na prekidače koji su ili uključeni ili isključeno. Moderna računala imaju milijune tih malih prekidača nazvanih tranzistori. Za razliku od ranih dana kada su računala bila puno jednostavnija, programeri su mogli učinkovito koristiti bušilice za pisanje jednostavnih programa, današnja su računala toliko složena i tako raširena da su ljudi razvili apstrakcije da rad s računalima bude što sličniji načinu na koji radimo u stvarnom svijet. Uz to, kako tehnologija napreduje, postepeno način na koji smo ranije radili zastarjele, tako da trebamo razviti bolje načine postupanja.

Jedna od ranijih apstrakcija koju smo razvili bio je koncept datoteke. Datoteka je jednostavno informacija u formatu koji računalo može razumjeti. Vrlo jednostavan primjer toga je tekstualna datoteka. U pisanom engleskom tekstu postoji ograničen broj znakova koji se mogu (s određenim ograničenjem) predstaviti u vrlo malom broju. Konkretno izvorni američki standardni kod za razmjenu informacija (ASCII) definirani su brojevi koje računala mogu razumjeti za simbole koji se koriste na engleskom jeziku. Tako je veliko slovo "A" dobilo primjerice broj 65. Ključna stvar u standardima je da su proizvoljni. Način na koji računala rade da 65 dodijele slovu “A.” ne zahtijeva ništa. Bio je to jednostavno izbor koji je neko donio i uvjerio ostale da koriste standard, i on je postao usvojen. Kasnije su ljudi shvatili da 255 simbola nije dovoljno za pokrivanje svjetskih jezika i različitih razvijenih standarda, što se u konačnici konvergira standardu Unicode koji danas imamo. Dakle, tekstualna datoteka jednostavno je niz brojeva koji predstavljaju tekst u određenom znakovnom formatu. Slično tome, slika se može skenirati na računalo i pohraniti u određenom formatu.

Ključna stvar datoteka je da se sve svodi na samo niz brojeva. Između slike i romana ili programa ne postoji ništa bitno. Međutim, osnovni je zahtjev. Datoteke moraju biti pohranjene. Računala su beskorisna ako svaki put kada ih pokrenete morate sve iznova stvoriti ispočetka. Tako su od najranijih dana računanja razvijeni razni načini za pohranjivanje informacija - počevši od bušaćih kartica gdje je prisustvo ili odsutnost rupe određivalo da li je nešto uključeno ili nije. Kasnije su se pojavili elektromagnetski standardi gdje su malene količine željeza stavljene na plastični disk i magnetizirane ili ne. Tada su se pojavili tvrdi diskovi s mnogo različitih slojeva, zatim optičkim standardima (CD-i, DVD-i, BluRay) i najnovijim SSD-ovima. Podsticaj većine njih je povećati količinu prostora i smanjiti vrijeme za pristup datotekama. Nema sumnje da tehnologije koje danas koristimo za pohranu neće biti iste 20 godina od sad.

Ovo (konačno!) Predstavlja prvi od dva izraza - datotečni sustav. Datotečni sustav kao što navodi ime jednostavno je sustav za pohranu datoteka. Baš kao i u formatima znakova, teoretski bi svatko mogao razviti vlastiti način pohrane datoteka, ali to bi bilo nepraktično. Najraniji su datotečni sustavi koristili „tablicu raspodjele datoteka“ (FAT), a logički su tablica koja dijeli disk na klastere, a datoteke su dodijeljene klasterima. U povijesne i jednostavne svrhe, FAT datotečni sustavi (posebno ExFAT i FAT32) su faktički datotečni sustavi za razmjenu podataka na više uređaja, platformi i operativnih sustava. Na primjer, kad fotografirate na digitalnom fotoaparatu i ona je pohranjena na SD kartici, vjerojatno se koristi FAT sustav datoteka. Ostali su uobičajeni datotečni sustav Nove tehnologije (NTFS) za Windows / DOS, prošireni datotečni sustav (EXT2 / 3/4) za Linux i hijerarhijski datotečni sustav (HFS) za Mac.

Ključna stvar koju treba imati na umu je da datotečni sustav utječe samo na to kako se datoteka pohranjuje, a ne na samu datoteku. Programu čitanje datoteke iz FAT sustava datoteka ili NTFS ili HFS izgleda isto.

Baze podataka rješavaju drugačiji problem. Dok se datotečni sustavi ne brinu o podacima koje pohranjuju (proizvoljno je), baze podataka olakšavaju strukturirane podatke. Oni također pružaju mogućnost upita tih podataka, odnosno informacije su brzo pronađene. Oni također pružaju sigurnost. Na primjer, mnogi datotečni sustavi omogućuju vam da odredite tko može čitati cijelu datoteku, ali ne i jedan dio.

Strukturirani podaci znače da dizajner baze podataka definira u koje se informacije pohranjuju i u kojem se obliku moraju pohraniti. Recite da imate bazu podataka o kontaktima. Baza podataka može nametnuti da su u polju "broja" telefonskog broja samo vrste brojeva (vrsta podataka). Ako korisnik pokuša unijeti telefonski broj slovom u njega, baza podataka vratit će pogrešku - program koji koristi bazu podataka ne mora nužno provjeravati (ali može i iz drugih razloga). Budući da baza podataka provodi format, zajamčeno je da su podaci koji dolaze iz baze podataka u tom obliku. Slično tome, ako postoji polje za rođendan, baza podataka će osigurati da to nije datum, a ne tekst.

Upiti koriste tehnike informatike kako bi brzo prošli kroz sve podatke kako bi se pronašli uvjeti ili sortirali informacije. Baze podataka omogućuju, na primjer, sortiranje svih ljudi po abecednom redu ili pronalaženje onih čiji je rođendan u siječnju.

Kao i kod datotečnih sustava, postoji veliki broj baza podataka (i doista vrsta baza podataka) od kojih svaki ima različite prednosti: Microsoft SQL Server, Oracle, MySQL, PostgreSQL svi su najčešće korišteni relacijski sustavi baza podataka. Baze podataka su obično same datoteke (neke apstrakcije čine samu bazu podataka mapom), pa se podaci pohranjuju u datotečnom sustavu.

Na to sam aludirao i ranije, ali baze podataka obično same po sebi nisu ono što krajnji korisnik „vidi“. Tako će web lokacija poput Amazona ili eBay upotrebljavati bazu podataka, ali korisnici će komunicirati s onim što se obično naziva "nivoom poslovnih pravila". Ovaj program jednostavno provjerava je li sve izvedeno pravilno prije stavljanja u bazu podataka. To je taj nivo koji sprječava, na primjer, ljude da dobiju nešto od Amazona, a da to ne plate. Administratori baze podataka su ljudi koji rade izravno na razini baze podataka.

Ukratko, rad s računalima u osnovi je proces u kojem stvarni svijet pretvaramo u predstavu koju računalo može razumjeti - u osnovi brojeve. Datoteke u različitim formatima sadrže podatke - bilo da je to tekstualna datoteka s znakovima predstavljenim brojevima ili slikom ili bilo što drugo. Način njihovog pohranjivanja je datotečni sustav, od kojih su najčešći datotečni sustavi datoteka za dodjelu datoteka (FAT). Umjesto samo proizvoljnih podataka, baze podataka provode dobro strukturirane podatke, omogućuju upiti da brzo ograniče ili sortiraju podatke, kao i pružaju veću sigurnost.