Mis vahe on failisüsteemil ja andmebaasil?


Vastus 1:

Andmebaasi kasutatakse tavaliselt täpselt määratletud andmevormingutega seotud struktureeritud andmete salvestamiseks tõhusalt sisestamiseks, värskendamiseks ja / või väljavõtmiseks (sõltuvalt rakendusest).

Teisest küljest on failisüsteem suvalisemate, tõenäoliselt mitteseotud andmete hoidmiseks struktureerimata andmehoidla. Failisüsteem on üldisem ja andmebaasid on üles ehitatud failisüsteemide pakutavatele üldistele andmesalvestusteenustele.

Erinevused on ka failisüsteemide ja andmebaaside pakutavas teenindustasemes. Kuigi andmebaasid peavad igal ajal olema ise järjepidevad (mõelge pankadele, kes jälgivad raha!), Pakkuma eraldiseisvaid tehinguid ja püsivaid kirjutamisvõimalusi, pakub failisüsteem järjepidevuse, eraldatuse ja vastupidavuse kohta palju vabamaid garantiisid. Andmebaasis kasutatakse keerukaid algoritme ja protokolle, et võimaldada usaldusväärset salvestust potentsiaalselt ebausaldusväärsete failisüsteemide peal. Just need algoritmid muudavad andmebaaside ladustamise töötlemis- ja säilituskulude osas kallimaks, mis muudavad üldised failisüsteemid andmete jaoks atraktiivseks võimaluseks, mis ei nõua andmebaasi lisagarantiisid.

Tehnoloogia arenedes aga read hägustuvad, kuna mõned failisüsteemid korjavad funktsioone, mis varem olid andmebaaside domeenid (tehingud, täpsemad päringud), ja mõned andmebaasid leevendavad traditsioonilisi järjepidevuse, eraldatuse ja vastupidavuse piiranguid. ZFS-i ja BTRFS-i võib pidada endiste näideteks, viimaste näideteks on MongoDB ja CouchDB.


Vastus 2:

Failide töötlemise süsteemi ja DBMS-i erinevus

1. Andmebaasihaldussüsteem koordineerib nii füüsilist kui ka loogilist juurdepääsu andmetele, samal ajal kui failitöötlussüsteem koordineerib ainult füüsilist juurdepääsu.

2.Andmebaasihaldussüsteem on loodud võimaldama paindlikku juurdepääsu andmetele (st päringutele), samas kui failitöötlussüsteem on ette nähtud etteantud juurdepääsu võimaldamiseks andmetele (st kompileeritud programmidele).

3. Andmebaasihaldussüsteem on loodud koordineerima mitut kasutajat, kes saavad samadele andmetele juurde samal ajal. Failitöötlussüsteem on tavaliselt loodud selleks, et võimaldada ühel või mitmel programmil korraga pääseda juurde erinevatele andmefailidele. Failitöötlussüsteemis pääseb failidele juurde kaks programmi samaaegselt ainult siis, kui mõlemal programmil on failile juurdepääs ainult kirjutuskaitstud kujul.

4.Runundancy on juhtimine DBMS-is, kuid mitte failisüsteemis.

5. Volitamata juurdepääs on DBMS-is piiratud, kuid mitte failisüsteemis.

6. DBMS pakub varundamist ja taastamist, samas kui failisüsteemi kaotatud andmeid ei saa taastada.

7. DBMS pakub mitut kasutajaliidest. Andmed on failisüsteemis isoleeritud.


Vastus 3:

Üks asi, mida on üsna lihtne unustada, on see, et lõpuks on arvutid masinad. Kui meil on võime tajuda ümbritsevat maailma ja meil on keerukad mehhanismid, mis võimaldavad meil teha väärtushinnanguid, suhelda teistega ja kasutada probleemide lahendamiseks loogikat, siis arvutid töötavad keerukate elektriskeemide kaudu, mis lõpuks töötavad lülititel, mis on kas või välja lülitatud. Kaasaegsetes arvutites on miljoneid neid väikeseid lüliteid, mida nimetatakse transistoriteks. Erinevalt algusaegadest, mil arvutid olid palju lihtsamad, võisid programmeerijad tõhusalt kasutada perfokaarte lihtsate programmide kirjutamiseks, on tänapäeva arvutid nii keerulised ja nii levinud, et inimesed on välja töötanud abstraktsioonid, et muuta arvutitega töötamine reaalsuses töötavaks. maailm. Lisaks muutub tehnoloogia arenedes järk-järgult vananemiseks see, kuidas me varem asju tegime, seega peame välja töötama paremad viisid, kuidas asju teha.

Üks varasematest abstraktsioonidest, mille me välja töötasime, oli „faili” mõiste. Fail on lihtsalt teave arvutist arusaadavas vormingus. Selle väga lihtne näide on tekstifail. Kirjalikus ingliskeelses tekstis on piiratud arv tähemärke, mida saab (koos mõne piiranguga) esindada väga väikeses numbris. Täpsemalt määratletud Ameerika standardse teabe vahetamise standardkoodi (ASCII) vormingus määratletud numbrid, millest arvutid saavad aru inglise keeles kasutatavate sümbolite jaoks. Nii et suurtäht „A” anti näiteks numbriga 65. Standardite peamine asi on see, et need on suvalised. Arvutite tööpõhimõtteks ei ole midagi vaja, et anda number 65 tähele “A.” See oli lihtsalt kellegi tehtud valik ja veenis teisi standardit kasutama ning see võeti vastu. Hiljem mõistsid inimesed, et 255 sümbolist ei piisa maailma keelte ja välja töötatud erinevate standardite katmiseks, lähendades lõpuks seda Unicode'i standardit, mis meil täna on. Nii et tekstifail on lihtsalt numbriseeria, mis tähistab teksti konkreetses märgivormingus. Samamoodi saab pildi arvutisse skannida ja kindlas vormingus talletada.

Failide peamine asi on see, et nad kõik taanduvad lihtsalt numbriseeriale. Pildi ja romaani või programmi vahel ei ole midagi olemuslikku. Põhinõue on siiski olemas. Failid tuleb säilitada. Arvutid on kasutud, kui iga kord, kui neid käivitate, peate kõik nullist uuesti looma. Nii et arvuti loomise esimestest päevadest alates töötati teabe salvestamiseks välja mitmesuguseid viise - alustades perfokaartidest, kus augu olemasolu või puudumine määras kindlaks, kas midagi on sisse või välja lülitatud. Hiljem ilmnesid elektromagnetilised standardid, kus plastkettale pandi väike kogus rauda ja magneteeriti või mitte. Seejärel tekkisid kõvakettad paljude erinevate kihtidega, seejärel optiliste standarditega (CD-d, DVD-d, BluRay) ja uusimate tahkis-draividega. Enamiku neist tõukeks on ruumi suurendamine ja failidele juurdepääsu aja lühendamine. Pole kahtlust, et tehnoloogiad, mida täna ladustamiseks kasutame, pole 20 aasta pärast samad.

See (lõpuks!) Esitleb kahte mõistet - failisüsteemi. Nimeline failisüsteem on lihtsalt süsteem failide salvestamiseks. Nii nagu tähemärgivormingutes, võiks ka teoreetiliselt igaüks välja töötada oma viisi failide salvestamiseks, kuid see oleks ebapraktiline. Varaseimad failisüsteemid kasutasid faili jaotamise tabelit (FAT), loogiliselt määrati klastriteks tabel, mis jagab ketta klastriteks ja failidele. Ajaloolistel ja lihtsuse huvides on FAT-failisüsteemid (eriti ExFAT ja FAT32) de facto failisüsteemid andmete vahetamiseks mitme seadme, platvormi ja operatsioonisüsteemi vahel. Näiteks kui teete pilti digitaalkaameras ja see on salvestatud SD-kaardile, kasutab see tõenäoliselt FAT-failisüsteemi. Teised levinumad on Windowsi / DOS-i uus tehnoloogia failisüsteem (NTFS), Linuxi jaoks laiendatud failisüsteem (EXT2 / 3/4) ja Maci jaoks hierarhiline failisüsteem (HFS).

Peamine asi, mida tuleb tähele panna, on failisüsteem, mis mõjutab ainult faili salvestamist, mitte fail ise. Programmi jaoks näeb FAT-failisüsteemist või NTFS-ist või HFS-ist faili lugemine sama välja.

Andmebaasid lahendavad teistsuguse probleemi. Kui failisüsteemid ei hooli säilitatavatest andmetest (see on meelevaldne), siis andmebaasid hõlbustavad struktureeritud andmeid. Nad pakuvad ka vahendeid nende andmete pärimiseks, see tähendab teabe kiireks leidmiseks. Samuti pakuvad nad turvalisust. Näiteks võimaldavad paljud failisüsteemid määrata, kes saab lugeda kogu faili, kuid mitte osa sellest.

Struktureeritud andmed tähendab seda, et andmebaasi kujundaja määratleb, millist teavet ja millises vormingus seda tuleb säilitada. Ütleme, et teil on kontaktteabe andmebaas. Andmebaas saab jõustada, et telefoninumbri väljal (andmetüüp) on ainult numbrid. Kui kasutaja proovib sisestada telefoninumbri koos tähega, tagastab andmebaas vea - andmebaasi kasutav programm ei pea tingimata kontrollima (see võib toimuda ka muudel põhjustel). Kuna andmebaas rakendab vormingut, on programm garanteeritud, et andmebaasist pärinev teave on selles vormingus. Samamoodi, kui seal on sünnipäeva väli, tagab andmebaas, et see pole kuupäev, vaid tekst.

Päringutes kasutatakse infotehnoloogia tehnikaid, et kõik andmed kiiresti läbi vaadata tingimuste leidmiseks või teabe sortimiseks. Andmebaasid võimaldavad näiteks sortida kõiki inimesi tähestiku järjekorras või leida neid, kelle sünnipäev on jaanuaris.

Nagu failisüsteemide puhul, on ka arvukalt andmebaasisüsteeme (ja tõepoolest ka andmebaasisüsteemide tüüpe), millel kõigil on erinevad eelised: Microsoft SQL Server, Oracle, MySQL, PostgreSQL on kõik sagedamini kasutatavad relatsioonilised andmebaasisüsteemid. Andmebaasid on tavaliselt failid ise (mõned abstraktsioonid muudavad andmebaasi ise kaustaks), nii et andmeid hoitakse failisüsteemis.

Viitasin sellele varem, kuid tavaliselt pole andmebaasid iseenesest sellised, mida lõppkasutaja „näeb”. Nii et veebisait nagu Amazon või eBay kasutab andmebaasi, kuid kasutajad suhtlevad sellega, mida tavaliselt nimetatakse „ärireeglite astmeks”. See programmeerimine kontrollib lihtsalt enne andmebaasi sisestamist, et kõik oleks õigesti tehtud. See on see määramistasand, mis takistab inimesi näiteks Amazonist midagi saamast, selle eest maksmata. Andmebaasi administraatorid on inimesed, kes töötavad otse andmebaasi tasemel.

Kokkuvõtteks võib öelda, et arvutitega töötamine on sisuliselt protsess, mille käigus tõlgitakse reaalne maailm representatsiooniks, millest arvuti saab aru - põhiliselt numbriteks. Erinevas vormingus failid sisaldavad teavet - olgu see siis tekstifail, kus tähemärki tähistavad numbrid, pilt või midagi muud. Nende salvestusmeetodiks on failisüsteem, millest levinumad on FAT-failisüsteemid. Lihtsalt suvalise teabe asemel jõustavad andmebaasid hästi struktureeritud andmeid, võimaldavad päringutel teavet kiiresti piirata või sortida ning pakuvad suuremat turvalisust.