Какво е база данни? Определение и видове
⚡ Умно обобщение
Какво е база данни? Базата данни е систематична, структурирана колекция от данни, която поддържа електронно съхранение, извличане и управление. Тя захранва ежедневни системи - от телефонни указатели до социални мрежи - и се управлява чрез софтуер, наречен система за управление на бази данни (СУБД).

Какво е данни?
С прости думи, данни са факти за обект на интерес. Вашето име, възраст, ръст и тегло са все данни за вас. Картини, изображения, файлове и PDF файлове също могат да се считат за данни, защото всеки от тях носи информация, която може да се съхранява и обработва.
Какво е база данни?
A база данни е систематично събиране на данни. Базите данни поддържат електронното съхранение, извличане и манипулиране на данни, което улеснява управлението им в голям мащаб.
Да разгледаме няколко познати примера. Онлайн телефонен указател използва база данни за съхраняване на хора, телефонни номера и данни за контакт. Доставчик на електроенергия използва база данни за обработка на фактуриране, проблеми с клиентите и история на повреди. Facebook съхранява членове, приятелства, публикации, съобщения, реклами и много други - всичко това се намира в бази данни. Моделът е един и същ във всички индустрии: организирайте информацията, така че приложенията и хората да могат надеждно да я заявяват.
Видове бази данни
Най-често срещаните типове бази данни са обобщени по-долу. Всеки от тях е подходящ за определена форма на данните и работно натоварване.
Разпределени бази данни
Разпределената база данни разпространява данни между множество сайтове или местоположения. Всеки сайт запазва свой собствен сегмент, докато клиентите виждат една логическа база данни. Моделът е често срещан в глобални приложения, които се нуждаят от ниска латентност и локална достъпност.
Релационни бази данни
Релационната база данни съхранява данни в таблици с редове и колони и използва ключове, за да свързва една таблица с друга. Често наричана RDBMS, тя остава най-популярната... СУБД семейство на пазара. Примерите включват MySQL, Oracle Database, PostgreSQL, и Microsoft SQL Server.
Обектно-ориентирани бази данни
Обектно-ориентираните бази данни съхраняват данните като обекти, всеки от които носи атрибути и методи, определящи какви операции са разрешени върху данните. Те се съпоставят ясно с обектно-ориентирани езици за програмиране и премахват необходимостта от ORM слой.
Централизирана база данни
Централизираната база данни съхранява всеки запис на един централен сървър. Потребителите се свързват от много места към едно и също хранилище, което опростява администрирането, но прави сървъра единствена точка на спор.
Бази данни с отворен код
Базите данни с отворен код публикуват своя изходен код под разрешителен лиценз, така че всеки може да ги използва, променя и разпространява. MySQL, PostgreSQL, SQLite, MariaDB, и MongoDB са широко разпространени примери.
Облачни бази данни
Облачната база данни е оптимизирана за виртуализирана инфраструктура при поискване. Тя се предоставя като управлявана услуга, мащабира съхранението и изчисленията еластично и предлага висока достъпност чрез вградена репликация. Примерите включват Amazon RDS, Azure SQL база данни и Google Cloud Гаечен ключ.
Складове за данни
A склад за данни централизира исторически и кумулативни данни от много изходни системи, за да подпомогне вземането на решения, отчитането и прогнозирането. Опростява анализите, като предоставя на организацията единна, надеждна версия на истината.
NoSQL бази данни
NoSQL базите данни обработват много големи, често неструктурирани набори от данни, които не се вписват точно в редове и колони. Съхраненията на документи, ключ-стойности, семейства колони и графи адресират различен модел на достъп и осигуряват хоризонтална мащабируемост, която традиционните релационни бази данни трудно могат да постигнат.
Графични бази данни
Графовата база данни използва теория на графите – възли и ръбове – за директно съхраняване и запитване към връзки. Тя е идеална за откриване на измами, системи за препоръки и анализ на социални мрежи, където връзките между обектите са толкова важни, колкото и самите обекти.
OLTP бази данни
OLTP (онлайн обработка на транзакции) бази данни се фокусират върху високопроизводителни транзакции с ниска латентност в многопотребителски среди. Те гарантират ACID свойства и са настроени за много малки четения и записи, които задвижват операционни системи, като например приложения за точки на продажба и банкови приложения.
Лична база данни
Личната база данни съхранява данни на един компютър за един потребител или малък екип. Microsoft Достъп и SQLite са типични примери.
Мултимодална база данни
Мултимодалната база данни поддържа няколко модела данни – например документ, графика и ключ-стойност – в рамките на един енджин. ArangoDB и Microsoft Azure Cosmos DB са популярни мултимодални опции.
Документ/JSON база данни
В документно-ориентирана база данни всеки запис е самостоятелен документ, обикновено в JSON, BSON или XML. Един документ може да съдържа богато вложени данни и различни полета, което прави модела гъвкав за бързо развиващи се приложения. MongoDB и Couchbase са добре познати примери.
Йерархична база данни
Йерархичната база данни използва дървовидна структура с връзки родител-дете. Възлите представляват записи, а клоновете представляват полета. Windows Регистърът е включен Windows XP и IBM IMS са класически примери за йерархични бази данни.
Мрежова база данни
Мрежовата СУБД поддържа връзки „много към много“ между записи, създавайки по-сложни структури от йерархичния модел. RDM Server е пример за система за управление на бази данни, която реализира мрежовия модел.
Компоненти на база данни
Компоненти на базата данни.
Всяка база данни е изградена от пет компонента, работещи заедно:
железария
Хардуерът е физическият слой — компютри, входно/изходни устройства, носители за съхранение и мрежи. Той осигурява интерфейса между базата данни и останалата част от света.
Софтуер
Софтуерът обхваща всичко, което управлява и контролира базата данни: самата СУБД, операционната система, мрежовия софтуер, който позволява на множество потребители да споделят данни, и приложенията, които четат и пишат през СУБД.
Дата
Данните са суровите факти, наблюдения, числа, символи и изображения, които базата данни съхранява. Сами по себе си суровите данни са безсмислени; базата данни ги организира и обработва в полезна информация.
Процедури
Процедурите са документираните инструкции и правила, които управляват как базата данни е проектирана, управлявана и поддържана. Те казват на администраторите и потребителите как да управляват системата надеждно.
Език за достъп до база данни
Езикът за достъп до база данни – най-често SQL – позволява на потребителите и приложенията да вмъкват, актуализират, изтриват и заявяват данни. Потребителите издават специфични команди, които СУБД анализира, планира и изпълнява спрямо базовото хранилище.
Какво е система за управление на бази данни (СУБД)?
A Система за управление на бази данни (СУБД) е софтуерният слой, който позволява на потребителите да дефинират, съхраняват, извличат, актуализират и защитават данни. СУБД координира достъпа между много потребители и приложения, налага целостта и контролира кой може какво да вижда или променя.
Технологията за управление на бази данни (СУБД) не е нова — на Чарлз Бахман Интегрирано хранилище за данни (IDS), създадена в General Electric в началото на 1960-те години на миналия век, е широко призната за първата СУБД. Оттогава областта се развива чрез йерархични, мрежови, релационни, обектно-ориентирани и NoSQL модели, всеки от които е насочен към следващото поколение работни натоварвания с данни.
История на системите за управление на бази данни
Основните етапи по-долу tracеволюцията на технологията за бази данни.
- 1960s — Чарлз Бахман проектира първата СУБД (интегрирано хранилище за данни) в General Electric.
- 1968 - IBM Система за управление на информацията на корабите (IMS), една от най-ранните йерархични СУБД.
- 1970 — Едгар Ф. Код публикува „Релационен модел на данни за големи споделени банки от данни“, в която представя релационния модел.
- 1976 — Питър Чен формализира модела „Обект-Връзка“ (ER).
- 1980s - Върнете се в началото релационен модел става доминираща парадигма за бази данни и SQL е стандартизиран.
- 1985 — Обектно-ориентираните СУБД изглежда се вписват във възхода на ООП езиците.
- 1990s — Обектно-релационните функции се появяват в масовите RDBMS.
- 1992 - Microsoft пуска първата версия на Microsoft Достъп до лични бази данни.
- 1995 — Уеб приложенията започват да стимулират използването на бази данни в интернет мащаб.
- 1997 — XML влиза в бази данни едновременно като формат и като цел на заявка.
- 2009 — Терминът NoSQL печели tracцията, тъй като хранилищата за документи, ключ-стойности и графи се разрастват бързо.
- 2010-те и след това — SQL бази данни, базирани в облака и разпределени (Aurora, Spanner, CockroachDB) се появяват.
Предимства на СУБД
Добре внедрената СУБД дава на организациите няколко практически ползи:
- Предлага много техники за ефективно съхранение и извличане на данни.
- Балансира нуждите на множество приложения, които споделят едни и същи данни.
- Осигурява единни административни процедури.
- Предпазва програмистите на приложения от подробности за съхранението.
- Осигурява целостта и сигурността на данните чрез ограничения и контрол на достъпа.
- Планира едновременен достъп, така че само валидни операции да са успешни.
- Намалява времето за разработване на приложения чрез услуги за многократна употреба.
Недостатъци на СУБД
Моделът на СУБД има и компромиси:
- Цените на хардуер и софтуер могат да бъдат значителни.
- Повечето системи са сложни, така че потребителите и администраторите се нуждаят от обучение.
- Централизирането на данни в една база данни създава ценна цел за прекъсвания, повреда или атака.
- Едновременният достъп изисква внимателно проектиране, за да се избегнат загубени актуализации и безизходици.
- СУБД не е проектирана за тежки числени изчисления; специализирани инструменти се справят по-добре с това натоварване.

