Различные типы баз данных, что вы должны знать

типы баз данных База данных

типы баз данных

Согласно рейтингу DB-Engines , четыре из самых популярных систем управления базами данных имеют реляционный тип. Они занимают львиную долю рынка — следовательно, они часто также являются единственными, о которых знает новичок. Однако существует несколько типов баз данных, каждая из которых представляет свой способ хранения данных.

Понимание их различий и уникальных точек имеет решающее значение для правильного выбора. Мы подготовили подробное руководство по типам баз данных, чтобы помочь вам узнать ваши варианты.

Что было до современной базы данных

Ранние типы баз данных имели довольно ограниченные функциональные возможности. Сначала компьютерные энтузиасты использовали то, что они называли плоскими базами данных, которые были в основном простыми текстовыми файлами. Это означает, что данные должны иметь текстовый формат и несколько скромную длину. Чтобы отметить начало каждого нового поля, программист должен был ввести разделитель — специальный символ, выбранный для определения границы (например, запятая или двоеточие). Поскольку между полями нет взаимосвязей, в плоской базе данных сложно осуществлять поиск и навигацию. Тем не менее, он работает для небольшого количества данных, которые нужно только прочитать, а не манипулировать. Чтобы увидеть основные примеры баз данных этого типа, смотрите файлы CSV (Comma Separated Values).

В 1960-х годах IBM представила иерархические базы данных. Как следует из самого названия, записи связаны древовидной структурой, основанной на родительских и дочерних отношениях. Один элемент может иметь только одного родителя, в то время как один родитель может иметь несколько дочерних элементов. Это был первый шаг к реляционным базам данных. Однако неявность иерархического отношения не работает хорошо для всех типов записей, что затрудняет организацию данных в некоторых случаях. Чтобы решить эту проблему, десятилетие спустя Чарльз Уильям Бахман III представил более гибкую модель, называемую сетевыми базами данных . У них всё ещё была древовидная структура, но у детей теперь могло быть и много родителей. Однако к настоящему времени сетевые базы данных практически вымерли: большинство компаний, которые их использовали, использовали реляционную базу данных.

Реляционная и нереляционная базы данных

типы баз данных2

При взгляде на современные типы баз данных, реляционные базы данных являются наиболее заметными. Эдгар Ф. Кодд придумал этот термин в 1962 году, работая в IBM. MySQL, PostgreSQL или SQL Server — отличные примеры реляционных баз данных. Их имена также содержат подсказку: чтобы получить доступ к данным и манипулировать ими, вам необходимо знать SQL (язык структурированных запросов). SQL имеет устоявшиеся стандарты и позволяет легко переносить ваши данные.

Читайте также:  Как удалить определенную строку в PostgreSQL?

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

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

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

Документно-ориентированные базы данных

В базе данных, ориентированной на документы (которую часто просто называют хранилищем документов), данные хранятся в коллекциях документов, обычно с использованием форматов JSON, XML или BSON. Одна запись может содержать столько данных, сколько вам нужно, в любом типе данных (или типах), которые вы предпочитаете — ограничений нет. Внутри одного документа есть определённая внутренняя структура, однако она может отличаться от одного документа к другому. Вы также можете их вкладывать.

Из всех нереляционных типов баз данных хранилища документов являются самыми популярными. Лучшим примером может служить MongoDB , который в настоящее время имеет более 400 миллионов загрузок по всему миру. Первоначально представленный в 2008 году, сейчас он используется промышленными гигантами, такими как Barclays и Bosch. Разработчикам нравится плавная форма обучения и превосходная манёвренность . Вы можете использовать бесплатную версию Community и платную версию Enterprise — как для Windows, Linux, так и для MacOS.

Базы данных ключ-значение

Как следует из самого названия, каждая запись в такого рода нереляционной базе данных имеет ключ и значение. Как и в словаре, ключ может использоваться для определения значения. Это действительно так просто. Разработчики в основном используют базы данных «ключ-значение», когда данные, с которыми они имеют дело, не слишком сложны и скорость является приоритетом. Например, это отличный выбор для хранения данных конфигурации.

Сохранённым данным не назначается никакой схемы, а сама база данных намного легче по сравнению с реляционной. Это также делает его одним из лучших типов баз данных для встраивания. По состоянию на 2019 год наиболее популярной базой данных ключ-значение является Redis . Она также была признана самой любимой базой данных ежегодного опроса StackOverflow три года подряд (2017, 2018 и 2019).

Граф базы данных

Используя базу данных графа, вы можете обрабатывать два типа данных. Узлы обозначают элементы в базе данных, а рёбра определяют их отношения, также называемые графами. На первый взгляд графовые базы данных кажутся похожими на устаревшие сетевые базы данных, и всё же есть одно различие. В сетевых базах данных не хватало абстракций, которые гораздо более профессионально моделируются в графовых базах данных, таких как Neo4J или Dgraph .

Из всех типов баз данных эта является лучшим вариантом в тех случаях, когда отношения и их анализ являются приоритетными. Однако у графических баз данных есть один явный недостаток: хотя вам нужен язык запросов для доступа к данным, вы не можете использовать ни SQL, ни какой-либо другой общепринятый подход. Отсутствие стандартизации означает, что большинство языков запросов могут использоваться только в одном или нескольких типах графовых баз данных.

База данных хранилища столбцов

Последний из нереляционных типов баз данных называется базой данных хранилища столбцов, базой данных семейства столбцов или хранилищем широких столбцов. Что делает их хорошим вариантом для обработки больших данных, так это высокая производительность, эффективное сжатие данных и отличная масштабируемость.

Вместо схемы, найденной в реляционных базах данных, базы данных хранилищ столбцов используют пространство ключей для хранения семейств столбцов. Подобно таблице, семейство столбцов содержит столбцы и строки. Тем не менее, есть чёткое различие: в этом случае столбец не охватывает все строки. Вместо этого он содержится в строке, что также означает, что разные строки могут иметь разные столбцы. Помимо столбцов каждая строка также имеет идентификатор, называемый ключом, а каждый столбец содержит имя, значение и метку времени. Несколько хороших примеров баз данных, использующих модель семейства столбцов: Cassandra , Vertica и Druid .

Типы баз данных: что дальше

типы баз данных3

В 2011 году Мэтью Аслетт первым использовал термин NewSQL . Это относится к новейшему поколению решений для хранения данных: те, которые сочетают в себе масштабируемость NoSQL с ACID-соответствием реляционных баз данных. ACID означает атомарность, согласованность, изоляцию и долговечность — самые важные принципы хранения данных. Один из способов получить лучшее из обоих миров — избавиться от идеала общего назначения и попытаться идеально справиться с одной задачей — например, MemSQL имеет дело именно с кластерной аналитикой.

Согласно The Economist , данные — это новое масло, поэтому вполне естественно, что выбор типов баз данных постоянно растёт. Хотя реляционные базы данных по-прежнему наиболее популярны, для разных случаев требуются разные инструменты. Мы надеемся, что наше подробное руководство пролило некоторый свет на эту тему — в конце концов, понимание различных типов баз данных помогает сделать лучший выбор.

 

Оцените статью
bestprogrammer.ru
Добавить комментарий