Что таоке база данных
Что такое База Данных (БД)
База данных — это место для хранения данных. Используется в том числе в клиент-серверной архитектуре. Это все интернет-магазины, сайты кинотеатров или авиабилетов. Вы делаете заказ, а система сохраняет ваши данные в базе.
В этот статье я на простых примерах расскажу, что такое база данных и как она выглядит. А потом поясню некоторые термины из конкретной (реляционной) базы. Те, с которыми вы почти наверняка столкнетесь на работе.
Статья рассчитана на начинающих тестировщиков или аналитиков, то есть тех, кто будет работать с базой, но не на супер-глубоком уровне. Она для тех, кто только входит в мир ИТ, и многого не знает. Она объясняет, что это за звено в клиент-серверной архитектуре такое, и зачем оно нужно.
Содержание
Что такое база данных
База данных — хранилище, куда приложение складывает свои данные. Если приложение небольшое, отдельная база не нужна. Но потом это становится удобнее и выгоднее с точки зрения памяти.
Катя решила открыть свой магазинчик. Она нашла хорошую марку обуви, которую «днем с огнем» не сыскать в ее городе. Заказала оптовую партию и стала потихоньку распродавать через знакомых. Пришлось освободить половину шкафа под коробки, но вроде всё поместилось.
Обувь хорошая, в розницу заказывать в других местах невыгодно — и вот уже у Кати есть постоянные клиенты, которые приводят друзей. Как только какая-то пара заканчивается, Катя делает новый заказ.
Но покупатели хотят новинок, разных размеров. Да и самих покупателей становится все больше и больше. В шкаф коробки уже не влезают!
Теперь, если покупатель просит определенную пару, Катьке сложно её найти. Пока коробок было мало, она помнила наизусть, где что лежит. А теперь уже нет, да и все попытки организовать систему провалились. Места мало, да и детки любят с коробками поиграть.
Тогда Катька решила арендовать складское помещение. И вот теперь красота! Не надо теснить своих домашних, дома чисто и свободно! И на складе место есть, появилась система — тут босоножки, тут сапоги.
Чем больше объемы производства, тем больше нужно места. Если в начале пути склад не нужен, всё поместится дома, то потом это будет оправданно.
То же самое и в приложениях. Если приложение маленькое, то все данные можно хранить в памяти. Но учтите, что это память на вашем компьютере, вашем телефоне. И чем больше данных туда пихать, тем медленнее будет работать программа.
Место в памяти ограничено. Поэтому когда данных много, их нужно куда-то сложить. Можно писать в файлики, а можно сохранять информацию в базу данных (сокращенно БД). Выбор за вами. А точнее, за вашим разработчиком.
Как она выглядит
Да примерно как excel-табличка! Есть колонки с заголовками, и информация внутри:
Это называется реляционная база данных — набор таблиц, хранящихся в одном пространстве.
Что за пространство? Ну вот представьте, что вы храните все данные в excel. Можно запихать всю-всю-всю информацию в одну огро-о-о-о-мную таблицу, но это неудобно. Обычно табличек несколько: тут информация по клиентам, там по заказам, а тут по адресам. Эти таблицы удобно хранить в одном месте, поэтому кладем их в отдельную папочку:
Так вот пространство внутри базы данных — это та же самая папочка в винде. Место, куда мы сложили свои таблички, чтобы они все были в одном месте.
Пример базы Oracle
Цель та же — выделить отдельное место, чтобы у вас не была одна большая свалка:
заходишь в папку в винде → видишь файлики только из этой папки
заходишь в пространство → видишь только те таблицы, которые в нем есть
Хранение данных в виде табличек — это не единственно возможный вариант. Вот вам для примера запись из таблицы в системе Users. Там используется MongoDB база данных, она не реляционная. Поэтому вместо таблички «словно в excel» каждая запись хранится в виде объекта, вот так:
А еще есть файловые базы — когда у вас вся информация хранится в файликах. Да-да, простых текстовых файликах!
Почитать о разных видах баз данных можно в википедии. Я не буду в этой статье углубляться в эту тему, потому что моя задача — объяснить «что это вообще такое» для ребят, которые базу в глаза не видели. А на работе они скорее всего столкнутся именно с реляционной базой данных, поэтому о ней и речь.
Как получить информацию из базы
Нужно записать свой запрос в понятном для базы виде — на SQL. SQL (Structured Query Language) — язык общения с базой данных. В нем есть ключевые слова, которые помогут вам сделать выборку:
select — выбери мне такие-то колонки.
from — из такой-то таблицы базы.
where — такую-то информацию.
Например, я хочу получить информацию по клиенту «Назина Ольга». Составляю в уме ТЗ:
В дословном переводе:
Комментарии в Oracle/PLSQL — мой перевод остается работающим запросом, потому что я убрала «лишнее» в комментарии
Если бы у меня была не база данных, а простые excel-файлики, то же действие было бы:
Открыть файл с нужными данными (clients)
Поставить фильтр на колонку «ФИО» — «Назина Ольга».
То есть нам в любом случае надо знать название таблицы, где лежат данные, и название колонки, по которой фильтруем. Это не что-то страшное, что есть только в базе данных. То же самое есть в простом экселе.
Бывают запросы и сложнее — когда надо достать данные не из одной таблицы, а из разных. В базе это будет выглядеть даже лучше, чем в эксельке. В экселе вам нужно открыть 1-2-3 таблицы и смотреть в каждую. Неудобно.
А в базе данных вы внутри запроса SQL указываете, какие колонки из каких таблиц вам нужны. И результат запроса их отрисовывает. Скажем, мы хотим увидеть заказ, который сделал клиент, ФИО клиента, и его номер телефона. И всё это в разных таблицах! А мы написали запрос и увидели то, что нам надо:
id_order
order (таблица order)
fio (таблица client)
phone (таблица contacts)
И пусть в таблице клиентов у нас будет 30 колонок, а в таблице заказов 50, в результате выборки мы видим ровно 4 запрошенные. Удобно, ничего лишнего!
Конечно, написать такой запрос будет немного сложнее обычного селекта. Это уже select join, почитать о нем можно тут. И я рекомендую вам его изучить, потому что он входит в «базовое знание sql», которое требуется на собеседованиях.
Результаты выборки можно группировать, сортировать — это следующий уровень сложности. См раздел «статьи и книги по теме» для получения большей информации.
Как связать данные между собой
Вот например, у нас есть интернет-магазин по доставке пиццы. Так выглядит его база данных:
В таблице «client» лежат данные по клиентам: ФИО, пол, дата рождения и т.д.
last_name
first_name
birthdate
В таблице «orders» лежат данные по заказам. Что заказали (пиццу, суши, роллы), когда, насколько довольны доставкой?
order
addr
date
time
Роллы «Филадельфия» и «Канада»
Пицца 35 см, роллы комбо 1
Пицца с сосиками по краям
Комбо набор 3, обед №4
Но как понять, где чей был заказ? Сколько раз заказывал Вася, а сколько Алина?
Тут есть несколько вариантов:
1. Запихать все данные в одну таблицу: тут и заказы, и информация по клиентам. В целом удобно, открыл табличку и сразу видишь — ага, это Васин заказ, а это Машин.
Таблица все растет и растет, в итоге получается просто огромной! А когда данных много, легкость чтения пропадает, придется листать до нужной колонки.
Поиск будет работать медленнее. Чем меньше информации в таблице, тем быстрее поиск. Когда у нас много строк, количество колонок становится существенным.
Много дублей — один человек может сделать хоть сотню заказов. И вся информация по нему будет продублирована сто раз. Неоптимальненько!
Чтобы избежать дублей, таблицы принято разделять:
Новые объекты отдельно
Но надо при этом их как-то связать между собой, мы ведь всё еще хотим знать, чей конкретно был заказ. Для связи таблиц используется foreign key, внешний ключ.
Нам надо у заказа сделать отметку о клиенте. Значит, таблица «orders» будет ссылаться на таблицу «clients». Ключ можно поставить на любую колонку таблицы (в некоторых базах колонка должна быть уникальной, сначала её нужно такой указать). Какую бы выбрать?
Можно ссылаться на имя. А что, миленько, в таблице заказов будем сразу имя видеть! Но минуточку. А если у нас два клиента Ивана? Или три Маши? Десять Саш. Ну вы поняли =) И как тогда разобраться, где какой клиент? Не подходит!
Можно вешать foreign key на несколько колонок. Например, на фамилию + имя, или фамилию + имя + отчество. Но ведь и ФИО бывают неуникальные! Что тогда? Можно добавить в связку дату рождения. Тогда шанс ошибиться будет минимален, хотя и такие ребята существуют. И чем больше клиентов у вас будет, тем больше шанс встретить дубликат.
А можно не усложнять! Вместо того, чтобы делать внешний ключ на 10 колонок, лучше создать в таблице клиентов primary key, первичный ключ. Первичный ключ отвечает за то, чтобы каждое значение в поле было уникальным, никаких дублей. При попытке добавить в таблицу запись с неуникальным первичным ключом получаешь ошибку:
Здесь ключ — «id_order»
Вот на него и нужно ссылаться! Обычно таким ключом является ID, идентификатор записи. Его можно сделать автоинкрементальным — это значит, что он генерируется сам по алгоритму «прошлое значение + 1».
Например, у нас гостиница для котиков. Это когда хозяева едут в отпуск, а котика оставить не с кем — оставляем в гостинице!
База данных. Реляционная база данных
Что такое базы данных (БД) и зачем они нужны
База данных (БД) — это программа, которая позволяет хранить и обрабатывать информацию в структурированном виде.
БД это отдельная независимая программа, которая не входит в состав языка программирования. В базе данных можно сохранять любую информацию, чтобы позже получать к ней доступ.
Пример использования
Базы данных нужны для хранения информации. Чтобы получить полное понимание необходимости использования БД в современном веб-программировании, необходимо ответить на три вопроса:
Предположим, вы решили сделать сайт, где каждый пользователь может вести личный дневник наблюдения за погодой в своем городе.
Такой сайт должен иметь как минимум одну форму ввода со следующими полями: город, дата, температура, облачность, погодное явление, и так далее.
Каждый день наблюдатель записывает показания погоды в эту форму, чтобы когда-нибудь в будущем вернуться на сайт и посмотреть, какая была погода месяц или даже год назад.
Из этого примера следует, что программист каким-то образом должен сохранять данные из формы для дальнейшего использования.
Кроме обычного просмотра дневника погоды за месяц в виде таблицы, можно сделать и более сложный проект.
Например, чтобы электронный дневник чем-то качественно отличался от своего бумажного аналога, будет неплохо добавить туда возможности для простого анализа: показать какой день был самым холодным в ноябре или какой продолжительности была самая длинная серия пасмурных дней.
Получается, что данные надо не просто как-то хранить, но и иметь возможность их обрабатывать и анализировать.
Именно для этих целей и существуют базы данных.
Как хранится информация в БД
В основе всей структуры хранения лежат три понятия:
База данных
База данных — это высокоуровневное понятие, которое означает объединение совокупности данных, хранимых для выполнения одной цели.
Если мы делаем современный сайт, то все его данные будут храниться внутри одной базы данных. Для сайта онлайн-дневника наблюдений за погодой тоже понадобится создать отдельную базу данных.
Таблица
По отношению к базе данных таблица является вложенным объеком. То есть одна БД может содержать в себе множество таблиц.
Аналогией из реального мира может быть шкаф (база данных) внутри которого лежит множество коробок (таблиц).
Таблицы нужны для хранения данных одного типа, например, списка городов, пользователей сайта, или библиотечного каталога.
Таблицу можно представить как обычный лист в Excel-таблице, то есть совокупность строк и столбцов.
Наверняка каждый хоть раз имел дело с электронными таблицами (MS Excel).
Заполняя такую таблицу, пользователь определяет столбцы, у каждого из которых есть заголовок. В строках хранится информация.
В БД точно также: создавая новую таблицу, необходимо описать, из каких столбцов она состоит, и дать им имена.
Запись
Запись — это строка электронной таблицы.
Это неделимая сущность, которая хранится в таблице. Когда мы сохраняем данные веб-формы с сайта, то на самом деле добавляем новую запись в какую-то из таблиц базы данных. Запись состоит из полей (столбцов) и их значений. Но значения не могут быть какими угодно.
Определяя столбец, программист должен указать тип данных, который будет храниться в этом столбце: текстовый, числовой, логический, файловый и т.д. Это нужно для того, чтобы в будущем в базу не были записаны данные неверного типа.
Соберем всё вместе, чтобы понять, как будет выглядеть ведение дневника погоды при участии базы данных.
Теперь можно быть уверенными, что наблюдения наших пользователей не пропадут, и к ним всегда можно будет получить доступ.
Реляционная база данных
Английское слово „relation“ можно перевести как связь, отношение.
А определение «реляционные базы данных» означает, что таблицы в этой БД могут вступать в отношения и находиться в связи между собой.
Что это за связи?
Например, одна таблица может ссылаться на другую таблицу. Это часто требуется, чтобы сократить объём и избежать дублирования информации.
В сценарии с дневником погоды пользователь вводит название своего города. Это название сохраняется вместе с погодными данными.
Но можно поступить иначе:
Так мы решим сразу две задачи:
Связи между таблицами в БД бывают разных видов.
В примере выше использовалась связь типа «один-ко-многим», так как одному городу может соответствовать множество погодных записей, но не наоборот!
Бывают связи и других типов: «один-к-одному» и «многие-ко-многим», но они используются значительно реже.
Что такое база данных: принципы работы, лучшие СУБД
Что такое база данных, пожалуй, знает каждый – это место, где хранится структурированная информация и к которой у владельца всегда есть доступ. БД облегчают работу сервисов, приложений, магазинов, предприятий – сферы их использования по-настоящему неисчерпаемы.
Существуют различные типы баз данных, каждая из которых заточена под выполнение определенных задач. Также необходимы системы управления, СУБД, чтобы настраивать, вносить данные, своевременно обрабатывать запросы. Больше о принципах работы баз данных и лучших СУБД вы узнаете из нашего материала.
Суть базы данных
Что же такое база данных? База данных – это хранилище определенной информации. Она используется во многих сферах, где необходимо собирать и сохранять большой объем материала. Например, в различные веб-разработки, интернет-магазины, сайты покупки билетов и так далее.
Все, что хранится в базе данных доступно для изменения и извлечения при необходимости.
Система базы данных представляет собой хранилище, куда приложение заносит полученную информацию. У небольших приложений она встроенная, но для сохранения объема памяти рекомендуется пользоваться отдельной.
Суть базы данных
Все материалы в базе данных взаимодействуют определенным образом: за изменением одной строчки следуют изменения других данных. Это упрощает работу с большим объемом информации.
Но база данных требуется не для всего. Если у вас одностраничный сайт (лэндинг), который предназначен для рекламы и ознакомления с товаром или услугой, то создание базы данных вовсе не требуется.
Пример использования базы данных в web-разработке
Использование базы данных в сфере веб-программирования необходимо только в некоторых случаях. Задайтесь вопросами:
Ваш Путь в IT начинается здесь
Рассмотрим сайт с ведением дневника. Здесь необходимо предусмотреть хотя бы один вид формы для заполнения с несколькими полями: дата, настроение, описание дня, главные мысли и так далее.
Это может быть краткий обзор по дням, либо что-то более сложное и изобретательное.
В отличие от своих бумажных аналогов, электронные варианты дневников могут иметь множество функций. Например, простого анализа: можно увидеть, какой день был самым веселым, самым грустным, в какой день было больше всего записей и так далее.
Для того чтобы не просто хранить данные и иметь доступ к ним, но и анализировать их, обрабатывать и делать определенные расчеты, были созданы базы данных.
Система хранения информации в базах данных
Структура база данных представлена тремя уровнями от большего к меньшему:
База данных
База данных — это высокоуровневое понятие, которое означает объединение совокупности данных, хранимых для выполнения одной цели.
Для большинства современных сайтов создаются отдельные базы данных, внутри которых будет храниться вся информация. Для нашего примера личного онлайн-дневника также понадобится определенная база данных.
Система хранения информации в базах данных
Таблица
Таблица – часть базы данных. Это один из ее компонентов. В одной БД может храниться огромное количество таблиц.
Если представить, что большой шкаф – это база данных, то все, что лежит внутри, например, куча коробок – это таблицы.
Таблицы предназначены для укомплектовки одного типа информации, например, списка городов, пользователей сайта или библиотечного каталога.
Она может быть представлен в виде обычного Exсel-файла, или простого набора строк и столбцов.
Мы в GeekBrains каждый день обучаем людей новым профессиям и точно знаем, с какими трудностями они сталкиваются. Вместе с экспертами по построению карьеры поможем определиться с новой профессией, узнать, с чего начать, и преодолеть страх изменений.
Карьерная мастерская это:
Уже 50 000 человек прошли мастерскую и сделали шаг к новой профессии!
Запишитесь на бесплатный курс и станьте ближе к новой карьере:
Зарегистрироваться и получить подарки
Каждый из пользователей ПК уже умеет обращаться с такими файлами и представляет, как они выглядят. Вы самостоятельно можете определить количество строк и столбцов, заголовки и внести необходимую информацию для хранения.
Тот же процесс и в системе базы данных. При создании таблицы внутри системы, пользователь так же самостоятельно определяет ее вид и структуру.
Запись
Запись — меньший уровень из всей системы. Это часть таблицы, то есть ее содержимое. Запись нельзя разбить на части. Например, если пользователь заполняет электронную форму на сайте, то вся его информация уходит в базу данных как одна отдельная запись, которая занимает место в одной из таблиц. Запись может состоять из множества столбцов и их значений, который заранее определяются.
Попробуем рассмотреть, как бы выглядела база данных пользователей онлайн-дневника, приведенного в пример выше.
Реляционные базы данных
Этот вид базы данных представлен связанными между собой таблицами, в которых каждая строка подразумевает собой запись. Название «реляционные» происходит из взаимосвязи объектов в базе данных.
Предположим, что у вас имеется таблица с данными об учащихся и таблица с успеваемостью целого курса, которая включает в себя номер курса, полученную оценку и идентификационный номер студента. В этом случае каждая строка с оценками будет соотносится с данными студента.
Реляционные базы данных
Для запроса информации из реляционных баз данных используются SQL-подобные языки. Они имеют встроенную поддержку операции объединения. Сами по себе для упрощения работы реляционные базы могут индексировать столбцы. Организованная система строения базы позволяет определять схемы до момента ввода данных, что ускоряет работу базы и доступ к информации.
NoSQL базы данных
Существует нереляционные базы данных. В отличие от реляционных они не имеют общей структурированной схемы для записей. Большая часть NoSQL баз содержит JSON записи. Разные записи могут содержать разные поля.
Такая группа баз данных называется NoSQL (Not only SQL — не только SQL). Несмотря на то, что большинство NoSQL баз данных поддерживают SQL, не стоит выбирать именно этот вариант использования. Рассмотрим 4 вида баз данных NoSQL.
Начальной единицей в этой системе является документ, каждый из которых определяется как своего рода запись – JSON. В зависимости от документа может различаться его схема, количество полей и так далее. Документные базы данных позволяют индексировать некоторые поля для ускорения анализа запросов.
С помощью таких БД очень легко обрабатывать большой объем информации, используя параллельные вычисления, так как все элементы в них не имеют между собой связи ни структурной, ни логической.
Начальная единица таких баз данных – колонка таблицы. Сохранение новой информации каждый раз задействует новый столбец, поэтому из такой базы данных очень легко получить нужную информацию. Колоночный вариант сохранения данных позволяет лучше сжимать содержимое из-за своей однородности.
Если вам в ходе использования базы данных каждый раз необходимо обращаться сразу к нескольким блокам информации, то лучше всего применять колоночные базы данных. Так как при поиске они считывают столбец, а не целую строку как в других видах БД. Это ускоряет и облегчает процесс поиска.
Такие базы данных работают исключительно на основе ключа. В них вы можете запрашивать только определенный ключ и затем получать его значение.
NoSQL базы данных
В таких базах данных нельзя обратиться сразу к нескольким блокам информации и получить данные из нескольких строк/столбцов. Например, вы не сможете выбрать сразу все записи с упоминанием города Москва. Преимущество баз ключ-значение заключается в поле времени жизни (Time-to-Live, TTL), в котором можно задать отдельно для каждой записи и состояния, когда их нужно удалить из базы данных программ.
Необходимо определять уникальные ключи, хорошие идентификаторы, основанные на заранее известных вам данных. Зачастую они дороже, чем другие типы баз данных, так как используют оперативную память.
Эти базы данных в первую очередь используются для кэширования, так как имеют высокую скорость работы и не требуют сложных запросов. Поле времени жизни помогает избавляться от ненужных файлов без посторонней помощи. Такие БД могут использоваться для любых данных, которые требуют быстрых запросов и соответствуют формату ключ-значение.
В первую очередь такие базы данных были разработаны для работы с графовым материалом, например, социальные сети или сети знаний. Они содержат в себе узлы, которые отображают объекты базы данных, и ребра, которые показывают взаимосвязь между ними.
ТОП-5 систем управления базами данных
Система управления базами данных (сокращенно СУБД) – это программное обеспечение для создания и работы с базами данных.
Основной задачей СУБД является управление информацией, которая располагается как во внешней, так и в оперативной памяти. СУБД поддерживает языки баз данных, а также отвечает за копирование и восстановление информации после каких-либо сбоев.
MySQL
MySQL – самая распространенная система управления базами данных. Она используется во многих крупных компаниях, таких как Facebook, Wikipedia, Twitter, LinkedIn, Alibaba и других. MySQL представляет собой реляционную СУБД, которая относится к свободному программному обеспечению: она распространяется на условиях GNU Public License. Это достаточно быстрая и гибкая СУБД, которая отлично подходит для работы с мелкими и средними проектами.
Рассматривая плюсы MySQL, можно выделить в первую очередь большое разнообразие таблиц, от более известных MyISAM и InnoDB, до нестандартных HEAP и MERGE. В этом плане MySQL постоянно развивается и увеличивает число поддерживаемых таблиц. По сравнению с другими системами, MySQL отличается высокой скоростью работы. Еще одним преимуществом будет возможность одновременного доступа неограниченного числа пользователей. А объем данных может достигать до 50 миллионов. Этот вариант хорошо подходит, если вы рассматриваете работу с базой данных в табличной форме.
MySQL
Не слишком обширный функционал данной СУБД по сравнению с другими облегчает работу с ней.
С MySQL можно работать в двух режимах: текстовый и графический. Переход из одного режима в другой возможен благодаря приложению phpMyAdmin. Чтобы работать в этом приложении не нужно знать SQL-команды. Управление своей базой данных можете осуществлять через обычный браузер без дополнительных программ.
MySQL отлично подойдет тем, кому нужная быстрая, простая и понятная СУБД для работы с проектами.
PostgreSQL
Данный тип СУБД – объектно-реляционный. PostgreSQL есть в свободном доступе. Ее работа основана на языке SQL, однако, в отличие от MySQL, PostgreSQL поддерживает стандарт SQL-2011. Большим преимуществом данной системы управления баз данных является неограниченное количество записей в таблице и неограниченный размер базы данных.
В сравнении с MySQL СУБД PostgreSQL может похвастаться доскональным описанием всех функций и возможностей в официальной документации.
На данный момент PostgreSQL считается одной из самых продвинутых систем управления базами данных. По своему функционалу она весьма обширная и встает наравне с такой мощной СУБД, как Oracle.
SQLite
Если вы ищите компактную и встраиваемую СУБД, то обратите внимание на реляционную SQLite.
SQLite отличается быстротой работы, что достигается за счет хранения всех данных в одном файле и минимальному объему занимаемой памяти. Структура SQLite значительно отличается от более мощных СУБД, таких как MySQL и PostgreSQL. Из-за того, движок и интерфейс SQLite находятся в одной библиотеке, запросы и анализ информации производится очень быстро. Другие СУБД (MySQL, PostgreSQL, Oracle и т.д.) используют парадигму «клиент-сервер», когда взаимодействие происходит через сетевой протокол. Отличный вариант для работы с информационными базами данных.
Однако несмотря на плюсы данной СУБД, она имеет свои недостатки: отсутствие системы пользователей и невозможность увеличения производительности.
Oracle
Эта система управления данными относится к объектно-реляционному типу. Своим название она восходит к компании, создавшей эту систему – фирма Oracle. Также как и в SQL, здесь используется процедурное расширение под названием PL/SQL, а также язык Java.
Oracle зарекомендовала себя как надежная и стабильно работающая система, которая обеспечивает высокую защиту базы данных организаций и гарантирует безопасностью. Ей отдают предпочтение крупные корпорации, которые в первую очередь обращают внимание на возможность быстрого восстановления данных после сбоев, отлаженная процедура бэкапа, возможность масштабирования и другие ценные возможности.
Oracle
Но цена за использование данной СУБД намного выше, чем у других. Поэтому ее пользователи преимущественно большие фирмы, а не маленький или средние предприятия. Несмотря на все свои плюсы и опережение конкурентов по функционалу и характеристикам, цена на доступ и дальнейшее обслуживание Oracle опускает ее в рейтинге 2016 года в России на 6-е место.
MongoDB
Данный тип СУБД в первую очередь направлен на хранение иерархических структур данных. Также ее называют документоориентированной. По-другому, MongoDB – это документное хранилище без использования таблиц или схем, которое имеет открытый исходный код.
Высокую скорость работы обеспечивает несколько факторов. Во-первых, использование идентификатора, что позволяет производить быстрые операции над объектом. Во-вторых, так как MongoDB относится к классу нереляционных баз данных, значит она использует объектный язык запросов. Поэтому одинаковые на первый взгляд приложения будут отличаться производительностью в зависимости от использованной СУБД.
В отличие от более сложных СУБД, MongoDB имеет множество ограничений в функционале. Поэтому этот вариант следует выбирать при хранении баз данных несложных проектов.
Составьте четкие требования для выбора системы управления базой данных. Отталкивайте от того, что необходимо вам в первую очередь. Попробуйте несколько моделей баз данных и решите, что для вас наиболее удобно и выгодно.