Кароткі агляд рэляцыйных і нереляционных баз дадзеных

Да гэтага часу мой досвед працы з базамі дадзеных як распрацоўшчык быў абмежаваны рэляцыйнымі ("SQL") базамі дадзеных. Аднак, вывучаючы папулярныя тэхналагічныя стэкі, якія выкарыстоўваюць прафесійныя распрацоўшчыкі, я наткнуўся на стэк MEAN (MongoDB, Express, Angular і Node), які потым прывёў мяне да даследавання MongoDB і канцэпцыі баз дадзеных, якія не належаць на метады выкарыстоўваецца для захоўвання дадзеных у рэляцыйных базах дадзеных.

Па-першае: хуткае абнаўленне асноўных паняццяў рэляцыйнай базы дадзеных. Рэляцыйныя базы дадзеных заснаваны на рэляцыйнай мадэлі дадзеных, якую ўпершыню прапанаваў англійскі камп'ютэрны навуковец Е.Ф. Кодд у 1970 годзе. табліцы, якія вызначаюць, якія замежныя табліцы звязаны з бягучай табліцай, якую вы запытваеце. Практычна ўсе рэляцыйныя базы дадзеных выкарыстоўваюць SQL для пошуку і падтрымання базы дадзеных.

Просты прыклад рэляцыйнай базы дадзеных

Нерэляцыйныя або "NoSQL" базы дадзеных - гэта агульны тэрмін для баз дадзеных, якія не належаць на вышэйзгаданую мадэль арганізацыі дадзеных. Адным з найпростых прыкладаў гэтага можа служыць база дадзеных, якая арганізавана вакол пары ключа-значэння. Другі распаўсюджаны прыклад - дакументальна-арыентаваныя базы дадзеных, якія арганізаваны ва ўмовах, што ўсе запісы ў базе дадзеных - дакументы, закадаваныя ў нейкім стандартызаваным фармаце (напрыклад, JSON).

Навошта выкарыстоўваць базу дадзеных NoSQL?

Нереляционные базы дадзеных могуць мець прывабную колькасць прастаты ў параўнанні з рэляцыйнымі базамі дадзеных, якія часта хутка растуць па складанасці, паколькі ўсталёўваюцца новыя адносіны паміж табліцамі. Калі вы ведаеце, што дадзеныя, з якімі вы будзеце працаваць, адносна простыя, можа быць дастаткова простага збору ключавых каштоўнасцей. Гэта праблема са складанасцю можа перадавацца праблемам з прадукцыйнасцю. Гэта не будзе вялікай праблемай з невялікімі дадаткамі, якія мы ствараем і працуем, але для прыкладання ці вэб-сайта з мільёнамі карыстальнікаў дрэнна арганізаваныя рэляцыйныя базы дадзеных могуць значна запаволіць ваша прыкладанне. Паколькі базы дадзеных NoSQL не маюць аб'яднаных табліц, яны патэнцыйна могуць рабіць запыты хутчэй, чым рэляцыйныя базы дадзеных.

Павольная загрузка старонкі значна павялічвае хуткасць адмоваў

Базы дадзеных NoSQL таксама могуць прапанаваць лепшую маштабаванасць, калі вам трэба маштабаваць па гарызанталі ў адрозненне ад вертыкалі. Гарызантальнае маштабаванне - гэта сродак дадання маштабу, дадаўшы яшчэ машыны для вырашэння вашых патрабаванняў даных, тады як вертыкальнае маштабаванне вырашае гэта шляхам дадання дадатковай вылічальнай магутнасці. Гарызантальнае маштабаванне - адна з прычын, калі базы дадзеных NoSQL пачалі набываць усё большую папулярнасць, паколькі папулярнасць Інтэрнэту таксама павялічылася, паколькі кампаніям трэба было адначасова кіраваць мільёнамі карыстальнікаў, якія наведваюць іх вэб-сайт.

Ці заўсёды базы дадзеных NoSQL - лепшы выбар?

Для вэб-прыкладанняў з вялікай колькасцю дадзеных толькі для чытання, дзе хуткасць першарадная, базы дадзеных NoSQL могуць стаць добрым выбарам. Аднак для складаных баз дадзеных з вялікай колькасцю структураваных і ўзаемазвязаных дадзеных NoSQL не можа быць лепшым рашэннем. Празмерна спрошчаная база дадзеных прымусіць шмат дзелавой логікі, якая няяўна выконваецца рэляцыйнай мадэллю дадзеных у ваш сапраўдны код прыкладання. Базы дадзеных NoSQL таксама звычайна менш сталыя, чым іх рэляцыйныя аналагі. Гэта азначае, што яны могуць быць менш стабільнымі, што можа стаць сур'ёзнай праблемай, калі вы маеце справу з вялікай колькасцю канфідэнцыйных дадзеных, напрыклад, фінансавымі аперацыямі або медыцынскімі дадзенымі. Адсутнасць стандартызаванай мовы запытаў таксама можа стаць праблемай. Любы, знаёмы з SQL, можа хутка прывесці да хуткасці ўнясення запытаў у новую базу дадзеных, тады як для працы з базай дадзеных NoSQL можа спатрэбіцца вывучэнне іншай мовы запытаў, запавольваючы, наколькі хутка новы супрацоўнік можа набраць хуткасць і стаць прадукцыйным. Нарэшце, базы дадзеных NoSQL часта прадаюцца на сайтах і ў дадатках, дзе большая частка патоку дадзеных круціцца вакол CRUD. У сітуацыях, калі патрабуецца больш складаная бізнес-аналітыка, можа быць лепшым выбарам баз дадзеных SQL.

Параўнанне розных баз дадзеных NoSQL з рэляцыйнай базай дадзеных

Крыніцы / Далейшае чытанне

https://www.hadoop360.datasciencecentral.com/blog/advantages-and-disadvantages-of-nosql-databases-what-you-should-k