Danila Klimachev
11 июня 00:39.
18

Какие технологии баз данных существуют?

Ответить
Ответить
Комментировать
0
Подписаться
1
1 ответ
Поделиться

Базы данных, а если быть точным, системы управления базами данных (СУБД) — это инструментарий, который обеспечивает хранение, модификацию, и выборку данных (т.е. получение данных по запросу). Последнее является, пожалуй, наиболее важной функций СУБД — быстро выбрать и предъявить требуемые данные из всего, обычно большого массива. Быстро находить требуемые данные можно только там, где данные упорядочены или систематизированы. Способ систематизации данных — это то, что в основном и отличает различные типы СУБД. Вот основные:

  • Плоские файлы. Если данные поделить на записи, а записи поделить на поля, то их можно будет организовать в виде таблиц. Над таблицами различные операции просты и понятны: добавления записи, удаление записи, изменение записи, сортировка по…, поиск по…. С этих позиций вы можете взять какой-нибудь табличный процессор, например, MS Excel, определить на листе столбцы, и использовать этот инструмент в качестве СУБД. Для маленьких объёмов данных вполне подходящий инструмент.
  • Реляционные базы данных. Тут слово «таблица» заменено термином «relation», который обозначает практически то же самое. В основе реляционных СУБД лежит придуманный Э.Ф.Коддом математический аппарат, который называется «реляционная алгебра». Кодд формализовал действия, которые выполняются над одной таблицей, и над несколькими таблицами. Там где есть формализация процессов, там легко появляются стандарты и программное обеспечение для реализации этих процессов. Даже сложился специальный язык для написания запросов к базам данных — структурированный язык запросов, т.е. SQL. Используя его очень легко разрабатывать программное обеспечение, работающее с данными в базе. Реляционные СУБД — это самая толстая прослойка в пироге под названием «Базы данных». 
  • Иерархические базы данных. Не всегда таблица является наилучшим способом организации данных. Бывает, что записи не делятся на одинаковое количество полей, бывает что их структура иррегулярна. Тогда это не таблица, а элементы, соединённые в структуру в виде дерева или графа. Вот, например, фалы и папки на вашем жёстком диске можно считать такой базой, тогда СУБД — это программа Проводник Windows. Есть и другие примеры таких СУБД. Например, Кронос. Они используются редко, но метко. Кронос, например, применяется (по крайней мере применялись) в управлениях МВД. Сегодня этот класс БД эволюционировал в два новых класса и влился в таком виде в нереляционные СУБД.
  • Нереляционные или NoSQL базы данных. Это такой же большой класс как и реляционные. Но если все реляционные СУБД все похожи друг на друга, то эти очень разнообразны. Это и маленькие in-memry базы типа key-value (ключ-значение), то есть хранящие список разнообразных по формату значений, упорядоченных по ключу. Это и колоночные (column stores) хранилища так популярные в решениях, относящихся к такой сфере как BigData. Это и развившиеся из иерархических документоориентированные СУБД (например, MongoDB), и базы данных на основе графов, например, InfiniteGraph.

Внутри этой сферы (базы данных) тоже есть свои сложившиеся технологии, которые могут использоваться любыми типами БД, и их тоже можно называть технологиями баз данных. Все, что вы хотели узнать о технике Почему смартфон временами отключается сам?Можно ли умереть, уронив в ванну телефон, заражающийся от пауэрбанка или любого переносного устройства по типу ноутбука?Что лучше: смартфон или планшет?Спросите директора «Эльдорадо» о технике

Например, индексирование. Данные в базе как правило лежат физически неупорядоченно. Т.е. новая запись ложится на любое свободное место. Чтобы упорядочить записи не перемещая, не двигая по файлу, большие массивы данных, их оставляют лежать как есть, но прибавляют к этому компактную иерархическую или просто сортированную структуру, которая называется индексом. Это легко понять. В большинстве учебников имеется указатель терминов. Это и есть индекс — все слова по алфавиту с указанием, на каких страницах они используются.

Есть различные технологии физического хранения данных. Например, и реляционные и нереляционные базы могут быть in-memory, т.е. держащими все данные в оперативной памяти. Это позволяет достичь высочайших скоростей с доступа к данным. Один из ярких примеров — Tarantool.

И это далеко неполный перечень различных технологий. С базами данных связан целый спектр самых разных технологий.

1
Прокомментировать
Ответить