Каква е разликата между файлова система и база данни?


Отговор 1:

Базата данни обикновено се използва за съхранение на свързани, структурирани данни, с добре дефинирани формати на данни, по ефективен начин за вмъкване, актуализиране и / или извличане (в зависимост от приложението).

От друга страна, файловата система е по-неструктуриран магазин за съхранение на произволни, вероятно несвързани данни. Файловата система е по-обща и базите данни са изградени на базата на общите услуги за съхранение на данни, предоставяни от файловите системи.

Има разлики и в очакваното ниво на обслужване, предоставено от файловите системи и бази данни. Докато базите данни трябва да бъдат самостоятелни във всеки един момент (помислете за банките, които проследяват парите!), Осигуряват изолирани транзакции и трайни записи, файловата система предоставя много по-свободни гаранции за последователност, изолация и дълготрайност. Базата данни използва сложни алгоритми и протоколи за реализиране на надеждно съхранение върху потенциално ненадеждни файлови системи. Именно тези алгоритми правят съхранението на база данни по-скъпо по отношение на разходите за обработка и съхранение, които правят общите файлови системи привлекателна опция за данни, която не изисква допълнителните гаранции, предоставени от база данни.

С напредването на технологиите обаче линиите се замъгляват, тъй като някои файлови системи избират функции преди това домейнът от бази данни (транзакции, разширени заявки), а някои бази данни отпускат традиционните ограничения за последователност, изолация и дълготрайност. ZFS и BTRFS могат да се считат за примери за първите, MongoDB и CouchDB примери за последните.


Отговор 2:

Разлика между файловата система за обработка на файлове и СУБД:

1. Система за управление на база данни координира както физическия, така и логическия достъп до данните, докато системата за обработка на файлове координира само физическия достъп.

2.Системата за управление на база данни е проектирана да позволява гъвкав достъп до данни (т.е. заявки), докато системата за обработка на файлове е проектирана да позволява предварително определен достъп до данни (т.е. компилирани програми).

3. Система за управление на база данни е проектирана да координира едновременно множество потребители, които имат достъп до едни и същи данни. Системата за обработка на файлове обикновено е проектирана да позволява на една или повече програми да имат достъп до различни файлове с данни едновременно. Във система за обработка на файлове файл може да бъде достъпен от две програми едновременно само ако и двете програми имат достъп до файла само за четене.

4.Редундантността е контрол в СУБД, но не и във файловата система.

5. Неоторизиран достъп е ограничен в СУБД, но не и във файловата система.

6. СУБД предоставя резервно копие и възстановяване, докато данните, загубени във файловата система, не могат да бъдат възстановени.

7. СУБД предоставя множество потребителски интерфейси. Данните са изолирани във файловата система.


Отговор 3:

Едно от нещата, които е доста лесно да се забрави е, че в крайна сметка компютрите са машини. Докато имаме способността да възприемаме света около нас и имаме сложни механизми, които ни позволяват да правим преценки за стойност, да общуваме с другите и да прилагаме логика за решаване на проблеми, компютрите работят чрез сложни електрически вериги, които в крайна сметка работят на превключватели, които са включени или или изключен. Съвременните компютри имат милиони от тези малки превключватели, наречени транзистори. За разлика от ранните дни, когато компютрите бяха далеч по-прости, програмистите могат ефективно да използват перфокарти, за да пишат прости програми, днешните компютри са толкова сложни и толкова широко разпространени, че хората са разработили абстракции, за да направят работата с компютрите по-прилична на начина, по който работим в реалния свят. Освен това, с напредването на технологиите, постепенно начина, по който направихме нещата преди това, остаряват, така че трябва да разработим по-добри начини за правене на неща.

Една от по-ранните абстракции, която разработихме, беше концепцията за „файл“. Файлът е просто информация във формат, който компютърът може да разбере. Много прост пример за това е текстов файл. В писмен английски текст има ограничен брой знаци, които могат (с известно ограничение) да бъдат представени в много малък брой. По-специално оригиналният американски стандартен код за обмен на информация (ASCII), дефинирани номера, които компютрите могат да разберат за символи, използвани на английски език. Така че буквата "А" е написана например с номер 65. Основното при стандартите е, че те са произволни. Не се изисква нищо от начина, по който компютрите работят, за да присвоят числото 65 на буквата „А.“ Това беше просто избор, който някой направи и убеди другите да използват стандарта и той стана възприет. По-късно хората разбраха, че 255 символа не са достатъчни, за да покрият световните езици и различни стандарти, разработени в крайна сметка, сближавайки се със стандарта Unicode, който имаме днес. Така че текстовият файл е просто поредица от числа, които представят текст в определен формат на символите. По подобен начин една снимка може да се сканира на компютър и да се съхранява в определен формат.

Ключовото при файловете е, че всички те се свеждат до просто серия от числа. Няма нищо по своята същност между картина и роман или програма. Съществува обаче основно изискване. Файловете трябва да се съхраняват. Компютрите са безполезни, ако всеки път, когато ги стартирате, трябва да пресъздавате всичко отначало. Така че от най-ранните дни на изчисляване са разработени най-различни начини за съхраняване на информация - като се започне с перфоратори, където наличието или отсъствието на дупка определя дали нещо е включено или изключено. По-късно се появиха електромагнитни стандарти, при които малки количества желязо бяха поставени върху пластмасов диск и намагнетизирани или не. След това се появиха твърди дискове с много различни слоеве, след това оптични стандарти (CD, DVD, BluRay) и най-новите твърди дискове. Импулсът на повечето от тях е да увеличите обема пространство и да намалите времето за достъп до файлове. Няма съмнение, че технологиите, които използваме днес за съхранение, няма да са същите 20 години от сега.

Това (най-накрая!) Представя първия от двата термина - файлова система. Файловата система, както името посочва, е просто система за съхранение на файлове. Точно както във форматите на символите, теоретично всеки би могъл да разработи свой собствен начин за съхранение на файлове, но това би било непрактично. Най-ранните файлови системи използват „Таблица за разпределение на файлове“ (FAT), логично таблица, която разделя диска на клъстери, а след това се присвояват клъстери. За исторически цели и простота файловите системи FAT (по-специално ExFAT и FAT32) са фактически файлови системи за обмен на данни на множество устройства, платформи и операционни системи. Например, когато правите снимка на цифрова камера и тя се съхранява на SD карта, вероятно се използва файлова система FAT. Други често срещани от тях са новата технологична файлова система (NTFS) за Windows / DOS, разширената файлова система (EXT2 / 3/4) за Linux и йерархичната файлова система (HFS) за Mac.

Ключовото нещо, което трябва да се отбележи е, че файловата система влияе само върху това как се съхранява файл, а не върху самия файл. За програма четенето на файл от файлова система FAT или NTFS или HFS изглежда същото.

Базите данни решават различен проблем. Докато файловите системи не се интересуват от данните, които съхраняват (това е произволно), базите данни улесняват структурираните данни. Те също така предоставят средства за запитване към тези данни, тоест бързо намиране на информация. Те също така осигуряват сигурност. Например много файлови системи ви позволяват да посочите кой може да чете цял файл, но не и част от него.

Структурирани данни означава, че дизайнер на база данни определя каква информация се съхранява и в какъв формат трябва да се съхранява. Кажете, че имате база данни с информация за контакт. База данни може да наложи, че в полето на телефонния номер са включени само номера (вид данни). Ако потребителят се опита да въведе телефонен номер с буква в него, базата данни ще върне грешка - програмата, използваща базата данни, не е задължително да проверява (може и по други причини). Тъй като базата данни налага формата, програмата е гарантирана, че информацията, идваща от базата данни, е в този формат. По същия начин, ако има поле за рожден ден, базата данни ще гарантира, че това е дата, а не текст.

Запитването използва техники за компютърни науки за бързо преминаване през всички данни за намиране на условия или за сортиране на информацията. Базите данни позволяват например да се сортират всички хора по азбучен ред или да се намерят онези, чийто рожден ден е през януари.

Както при файловите системи, има редица системи от бази данни (и наистина видове системи от бази данни) всяка с различни предимства: Microsoft SQL Server, Oracle, MySQL, PostgreSQL са всички често използвани релационни системи от бази данни. Базите данни обикновено са самите файлове (някои абстракции правят самата база данни папка), така че данните се съхраняват във файлова система.

Споменах за това по-рано, но обикновено базите данни сами по себе си не са това, което крайният потребител „вижда“. Така уебсайт като Amazon или eBay ще използва база данни, но потребителите ще взаимодействат с това, което обикновено се нарича „ниво на бизнес правила“. Това програмиране просто проверява, за да се увери, че всичко е направено правилно, преди да бъде поставено в базата данни. Именно този слой пречи на хората например да получат нещо от Amazon, без да плащат за това. Администраторите на база данни са хората, които работят директно на ниво база данни.

В обобщение, работата с компютри по същество е процес, при който превеждаме реалния свят в представяне, което компютърът може да разбере - по същество числа. Файлове в най-различни формати, съдържат информация - било то текстов файл с символи, представени с числа или картина, или нещо друго. Методът за запаметяването им е файлова система, най-често срещаната от които са файловите системи за разпределение на файлове (FAT). Вместо просто произволна информация, базите данни налагат добре структурирани данни, позволяват на заявките бързо да ограничават или сортират информация, както и осигуряват по-голяма сигурност.