Database
 sql >> база данни >  >> RDS >> Database

Какво представляват базите данни?


Въведение

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

В тази статия ще разгледаме:

  • какво представляват бази данни
  • как се използват от хора и приложения за проследяване на различни видове данни
  • какви функции предлагат базите данни
  • какви видове гаранции дават
  • както се сравняват с други методи за съхранение на данни

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



Какво са базите данни?

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

Системите за управление на бази данни обикновено са проектирани да организират данни според определен модел. Тези модели, наречени типове бази данни или модели на бази данни, са логическите и структурни основи, които определят как се съхраняват и управляват отделни части от данни. Има много различни типове бази данни, всеки със своите предимства и ограничения. Релационният модел , който организира данните в кръстосани таблици, редове и колони, често се счита за парадигма по подразбиране.

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



Постоянство на данни срещу краткотрайно съхранение

Базите данни съхраняват данни или на диск, или в паметта.

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

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

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

Тип резервно съхранение Данните оцеляват при рестартиране? Предимства Примери
На диск Да Дълготрайност на данните MySQL
В паметта Не Работна скорост memcached


Взаимодействие с бази данни за управление на вашите данни

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

Според Wikipedia базите данни обикновено позволяват следните четири типа взаимодействия:

  • Дефиниция на данни :Създаване, модифициране и премахване на дефиниции на структурата на данните. Тези операции променят свойствата, които влияят върху това как базата данни ще приема и съхранява данни. Това е по-важно в някои типове бази данни от други.
  • Актуализиране :Вмъкване, модифициране и изтриване на данни в базата данни. Тези операции променят действителните данни, които се управляват.
  • Извличане :Осигурете достъп до съхранените данни. Данните могат да бъдат извлечени такива, каквито са, или често могат да бъдат филтрирани или трансформирани, за да ги масажират в по-полезен формат. Много системи за бази данни разбират богати езици за заявки, за да постигнат това.
  • Администрация :Други задачи като управление на потребителите, сигурност, наблюдение на производителността и др., които са необходими, но не са пряко свързани със самите данни.

Нека ги разгледаме малко по-подробно по-долу.


Дефинициите на данни контролират формата и структурата на данните в системата

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

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

Системите за управление на бази данни, които ценят гъвкавостта пред редовността, често се наричат ​​бази данни без схеми . Въпреки че изглежда, че това означава, че данните, съхранявани в тези бази данни, нямат структура, това обикновено не е така. Вместо това структурата на базата данни се определя от самите данни и знанията на приложението и връзката с тях. Базата данни обикновено все още се придържа към структура, но системата за управление на базата данни е по-малко ангажирана в налагането на ограничения. Това е избор на дизайн, който има предимства и недостатъци в зависимост от ситуацията.



Актуализации на данните за поглъщане, модифициране и премахване на данни от системата

Актуализациите на данните включват всяка операция, която:

  • Въвежда нови данни в системата
  • Променя съществуващите записи
  • Изтрива записи от базата данни

Тези възможности са от съществено значение за всяка база данни и в много случаи представляват по-голямата част от действията, които системата за база данни обработва. Тези видове дейности – операции, които причиняват промени в данните в системата – са общо известни като запис операции.

Действията за запис са важни за всеки източник на данни, който ще се променя с течение на времето. Дори премахването на данни, разрушително действие, се счита за операция на запис, тъй като променя данните в системата.

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



Извличане на данни за извличане на информация или отговор на конкретни въпроси

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

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

Много системи също имат сложни методи за запитване на базата данни за връщане на набори от данни, които отговарят на специфични критерии или връщат частична информация за записи. Този тип гъвкавост на заявките помага на системата за управление на базата данни да работи като процесор на данни в допълнение към основните си възможности за съхранение на данни. Чрез разработването на специфични заявки потребителите могат да подканят системата на базата данни да върне само информацията, която им е необходима. Тази функция често се използва във връзка с операции за запис, за да се намери и модифицира конкретен запис по неговите свойства.



Администриране на системата от база данни, за да поддържа всичко гладко

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

  • Управление на потребители, разрешения, удостоверяване и оторизация
  • Настройване и поддържане на резервни копия
  • Конфигуриране на поддържащия носител за съхранение
  • Управление на репликацията и други съображения за мащабиране
  • Предоставяне на опции за онлайн и офлайн възстановяване

Този набор от действия е в съответствие с основните административни проблеми, общи за всяко модерно приложение.

Административните операции може да не са централни за основната функционалност за управление на данни, но тези възможности често разграничават подобни системи за управление на бази данни. Възможността за лесно архивиране и възстановяване на данни, прилагане на управление на потребителите, което се свързва със съществуващи системи, или мащабиране на вашата база данни, за да отговори на търсенето, са всички основни характеристики за работа в производството. Базите данни, които не обръщат внимание на тези области, често се борят да получат приемане в реални среди.




Какви отговорности имат базите данни?

Като се има предвид горното описание, как можем да обобщим основните отговорности, които имат базите данни? Отговорът зависи много от типа на използваната база данни и изискванията на вашите приложения. Въпреки това има общ набор от отговорности, които всички бази данни се стремят да предоставят.


Опазване на целостта на данните чрез вярно записване и възстановяване

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

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



Предлагане на производителност, която отговаря на изискванията на средата за внедряване

Базите данни трябва да работят адекватно, за да бъдат полезни. Необходимите ви характеристики зависят до голяма степен от конкретните изисквания на вашите приложения. Всяка среда има уникален баланс на заявки за четене и запис и ще трябва да решите какво означава приемлива производителност и за двете категории.

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



Настройване на процеси, позволяващи безопасен едновременен достъп

Макар че това не е строго изискване, практически казано, базите данни трябва да позволяват едновременен достъп. Това означава, че няколко страни трябва да могат да работят с базата данни едновременно. Записите трябва да се четат от произволен брой потребители едновременно и да могат да се записват, когато в момента не са заключени от друг потребител.

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



Извличане на данни поотделно или в съвкупност

Една от основните отговорности на базата данни е способността да извлича данни при поискване. Заявките може да са за отделни части от данни, свързани с един запис, или могат да включват извличане на данните, открити в много различни записи. И двата случая трябва да са възможни в повечето системи.

В повечето бази данни известно ниво на обработка на данни се осигурява от самата база данни по време на извличането. Те могат да включват следните типове операции:

  • Търсене по критерии
  • Филтриране и спазване на ограничения
  • Извличане на конкретни полета
  • Усредняване, сортиране и т.н.

Тези опции ви помагат да формулирате данните, които искате, и формата, който би бил най-полезен.




Алтернативи на базите данни

Преди да продължим, трябва накратко да разгледаме какви са вашите опции, ако не използвате база данни.

Повечето методи, които съхраняват данни, могат да бъдат класифицирани като база данни от някакъв вид. Няколко изключения включват следното.


Локална памет или временни файлови системи

Понякога приложенията произвеждат данни, които не са полезни или са подходящи само за целия живот на приложението. В тези случаи може да пожелаете да запазите тези данни в паметта или да ги разтоварите във временна файлова система, тъй като няма да ви трябват, след като приложението излезе. В случаите, когато данните никога не са полезни, може да искате да деактивирате изхода изцяло или да го регистрирате в /dev/null .



Сериализиране на данни от приложението директно към локалната файлова система

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



Съхранение на подобни на файлове обекти директно на диск или обектно хранилище

Понякога данните от приложенията могат да бъдат записани директно на диск или алтернативно хранилище, вместо да се съхраняват в база данни. Например, ако данните вече са организирани във файлово-ориентиран формат, като изображение или аудио файл, и не изискват допълнителни метаданни, може да е най-лесно да ги съхраните директно на диск или в специално хранилище за обекти.




За какво се използват базите данни?

Почти всички приложения и уебсайтове, които не са напълно статични, разчитат на база данни някъде в тяхната среда. Основната цел на базата данни често диктува вида на използваната база данни, съхраняваните данни и използваните модели на достъп. Често се разгръщат множество системи за бази данни, за да обработват различни типове данни с различни изисквания. Някои бази данни са достатъчно гъвкави, за да изпълняват множество роли в зависимост от естеството на различните набори от данни.

Нека да разгледаме пример, за да обсъдим точките на допир, които типичното уеб приложение може да има с базите данни. Ще се преструваме, че приложението съдържа основна витрина и продава елементи, които проследява в инвентара.


Съхранение и обработка на данни от сайта

Една от основните употреби на бази данни е съхраняването и обработката на данни, свързани със сайта. Тези елементи влияят върху това как е организирана информацията в сайта и в много случаи съставляват по-голямата част от „съдържанието“ на сайта.

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

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



Анализиране на информация за подпомагане вземането на по-добри решения

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

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

Тези видове операции често се наричат ​​бизнес разузнаване или анализ . Заедно те помагат на организациите да разберат какво се е случило в миналото и да направят информирани промени. Системите за бази данни съхраняват повечето данни, използвани по време на тези процеси, и трябва да предоставят подходящи инструменти или възможности за заявки, за да отговорят на въпроси относно тях.

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



Управление на конфигурацията на софтуера

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

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

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



Събиране на регистрационни файлове, събития и други изходни данни

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

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

Отделно можем да събираме показатели, произведени от нашата инфраструктура и код в база данни от времеви серии , база данни, специално проектирана за проследяване на стойности във времето. Тази база данни може да се използва за захранване на инструменти за наблюдение и визуализация в реално време, за да предостави на екипите за разработка и операции на приложението информация за производителността, процента на грешки и т.н.




Как работят различните роли с бази данни?

Базите данни са от основно значение за работата на много различни роли в организациите. В по-малките екипи един или няколко лица могат да бъдат отговорни за изпълнението на задълженията на различни роли. В по-големите компании тези отговорности често се разделят на отделни роли, изпълнявани от специални лица или екипи.


Архитекти на данни

Архитектите на данни са отговорни за цялостната макроструктура на системите за бази данни, интерфейсите, които излагат на приложенията и екипите за разработка, както и основните технологии и инфраструктура, необходими за задоволяване на нуждите на организацията от данни.

Хората в тази роля обикновено решават за подходящ модел на база данни и реализация, която ще се използва за различни приложения. Те са отговорни за прилагането на решения за база данни чрез проучване на опции, вземане на решение за технология, интегриране със съществуващите системи и разработване на цялостна стратегия за данни за организацията. Те се занимават цялостно със системите за данни и участват в вземането на решения и внедряването на модели на данни за различни проекти.



DBA (администратори на бази данни)

Администраторите на бази данни или DBA са лица, които отговарят за безпроблемното функциониране на системите за данни. Те са отговорни за планирането на нови системи за данни, инсталирането и конфигурирането на софтуер, настройката на системи за бази данни за други страни и управлението на производителността. Те също така често са отговорни за защитата на базата данни, наблюдението й за проблеми и извършването на корекции в системата за оптимизиране на моделите на използване.

Администраторите на бази данни са експерти както по отделните системи за бази данни, така и по това как да ги интегрират добре с основната операционна система и хардуер, за да увеличат максимално производителността. Те работят широко с екипи, които използват базите данни, за да помогнат за управлението на капацитета и производителността и да помогнат на екипите да отстраняват проблеми със системата на базата данни.



Разработчици на приложения

Разработчиците на приложения взаимодействат с бази данни по много различни начини. Те разработват много от приложенията, които взаимодействат с базата данни. Това е много важно, защото това са почти винаги единствените приложения, които контролират как отделните потребители или клиенти взаимодействат с данните, управлявани от системата на базата данни. Производителността, коректността и надеждността са изключително важни за разработчиците на приложения.

Разработчиците управляват структурите от данни, свързани с техните приложения, за да запазят данните си на диск. Те трябва да създадат или използват механизми, които могат да съпоставят техните програмни данни със системата на базата данни, така че компонентите да могат да работят заедно в хармония. Тъй като приложенията се променят, те трябва да поддържат данните и структурите от данни в системата на базата данни в синхрон. Ще говорим повече за това как разработчиците работят с бази данни по-късно в статията.



SRE (инженери за надеждност на сайта) и специалисти по операции

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

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



Бизнес разузнаване и анализатори на данни

Отделите за бизнес разузнаване и анализаторите на данни се интересуват предимно от данните, които вече са събрани и налични в системата на базата данни. Те работят за разработване на прозрения въз основа на тенденции и модели в данните, така че да могат да предскажат бъдещо представяне, да съветват организацията за потенциални промени и да отговарят на въпроси относно данните за други отдели, като маркетинг и продажби.

Анализаторите на данни обикновено могат да работят изключително с достъп само за четене до системите за данни. Заявките, които изпълняват, често имат драматично различни характеристики на производителност от тези, използвани от основните приложения. Поради това те често работят с реплики или копия на бази данни, така че да могат да изпълняват продължителни и интензивни обобщени заявки, които иначе биха могли да повлияят на използването на ресурсите на основната система за бази данни.




Как да работя с бази данни като разработчик?

И така, как всъщност работите с бази данни като разработчик на приложения? На основно ниво, ако приложението ви трябва да управлява и да поддържа състояние, работата с база данни ще бъде важна част от вашия код.


Превод на данни между вашето приложение и базата данни

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

ORMs , или обектно-релационни картографи, са слоеве за картографиране, които превеждат таблиците, намерени в релационната база данни, към класовете, използвани в обектно-ориентирани програмни езици и обратно. Въпреки че този превод често е полезен, той никога не е перфектен. Несъответствие на импеданса на обектната връзка е термин, използван за описване на триенето, причинено от разликата в начина, по който релационните бази данни и обектно-ориентираните програми структурират данните.

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



Поддържане на структурните промени в синхрон с базата данни

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

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



Защита на достъпа до вашите данни и дезинфекция на входа

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

Вашето приложение ще изисква привилегирован достъп до вашата база данни, за да изпълнява рутинни задачи. For safety, the database's authorization framework can help restrict the type of operations your application can perform. However, you need to ensure that your application restricts those operations appropriately. For example, if your application manages user profile data, you have to prevent a user from manipulating that access to view or edit other users' information.

One specific challenge is sanitizing user input. Sanitizing input means taking special precautions when operating on any data provided by a user. There is a long history of malicious actors using normal user input mechanisms to trick applications into revealing sensitive data. Crafting your applications to protect against these scenarios is an important skill.




Conclusion

Databases are an indispensable component in modern application development. Storing and controlling the stateful information related to your application and its environment is an important responsibility that requires reliability, performance, and flexibility.

Fortunately, there are many different database options designed to fulfil the requirements of different types of applications. In our next article, we'll take an in-depth look at the different types of databases available and how they can be used to match different types of application requirements.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Друга причина да използвате NOEXPAND съвети в Enterprise Edition

  2. SQL ТАБЛИЦА

  3. SQL NOT оператор

  4. Риск при използване на динамична памет в Hyper-V

  5. Как да се присъедините към множество (3+) таблици в едно изявление