Я студент бакалавриата по вычислительной технике, сейчас учусь на пятом семестре, и мне всегда нравились СУБД. В этой статье я постараюсь максимально просто поделиться своими знаниями :)

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

Начнем с определений.

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

Система управления базой данных - это программное обеспечение, которое позволяет пользователю управлять, изменять и поддерживать данные, хранящиеся в базе данных. Цель СУБД - предоставить пользователям абстрактное представление о данных, с которыми они имеют дело. Следовательно, некоторая информация, например, где хранятся данные или как данные хранятся или к которым осуществляется доступ, скрыта. MySQL и Oracle - некоторые известные примеры СУБД.

Типы СУБД:

Мы можем разделить системы управления базами данных на три основные категории:

  • Файловая система
  • Системы управления реляционными базами данных
  • NoSQL, или не только продолжение.

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

Файловая система

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

  • Сложный доступ: чтобы получить доступ к определенному фрагменту данных, пользователь должен знать, в каком файле они хранятся. Кроме того, они также должны знать точное местоположение файла.
  • Избыточность. Избыточность означает просто дублирование данных. Если одни и те же данные присутствуют в слишком большом количестве файлов, эти данные считаются избыточными. Хотя это увеличивает размер нашей базы данных, избыточность может сократить время поиска, но это тема для другой статьи. Если данные избыточны, то пользователю придется изменить их в каждом отдельном файле, что приведет к долгому и утомительному процессу.
  • Несогласованность: избыточность приводит к несогласованности. Считается, что данные несовместимы, если их копии не совпадают друг с другом. Например, если студент меняет свой номер телефона в университетской СУБД и забывает обновить один из файлов, возникнет несогласованность.
  • Отсутствие параллелизма. В файловой СУБД только один пользователь может получить доступ к данным одновременно. Это приводит к проблемам и большим временам ожидания в крупномасштабных системах.

Эти проблемы, наряду с отсутствием безопасности и резервного копирования, побудили перейти к более продвинутой и безопасной системе управления базами данных.

Реляционная СУБД

Реляционная база данных означает, что данные хранятся и доступны в форме отношений или таблиц. Например, рассмотрим таблицу студентов ниже:

STUDENT

+----------+------------------+--------+-------+
| Roll No. |       Name       |  Age   | Grade |
+----------+------------------+--------+-------+
|        1 | Bruce Wayne      |     26 | A     |
|        2 | Gandalf the Grey | 24,000 | A+    |
|        3 | Harry Potter     |     17 | A+    |
|        4 | James T. Kirk    |     49 | A     |
+----------+------------------+--------+-------+

Сущность ученика здесь имеет четыре атрибута: Номер опроса, Имя, Возраст и Оценка. Реляционная СУБД также предоставляет нам «язык структурированных запросов» для создания, доступа, изменения и удаления того же самого. Это называется SQL и имеет несколько разновидностей, таких как MySQL, Microsoft SQL Server, PostgreSQL и т. Д. Хотя SQL имеет стандарт, эти дистрибутивы немного отличаются по синтаксису. Таким образом, мы можем столкнуться с запросами, которые будут работать в MySQL, но не в SQL-сервере.

NoSQL

NoSQL - это нереляционная СУБД, которая не требует фиксированной схемы / структуры, избегает объединений и легко масштабируется. Цель использования базы данных NoSQL - для распределенных хранилищ данных с очень большими потребностями в хранении данных. Некоторые распространенные реализации включают:

  • На основе документов: MongoDB, Cloud Firestore.
  • Хранилища "ключ-значение": Amazon SimpleDB, Redis.
  • Семейные магазины Column: Cassandra, HyperTable.
  • График: OrientDB, FlockDB.

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

  • Можно очень легко обрабатывать различные формы данных с разными атрибутами и структурами.
  • Легкая масштабируемость.
  • Более быстрый темп разработки по сравнению с SQL-серверами.
  • Обрабатывайте большие объемы данных на высокой скорости.

Такие компании, как Google, Amazon и Twitter, собирают терабайты пользовательских данных каждый день. Таким образом, медленная и менее масштабируемая СУБД не будет для них оптимальным выбором.

Вывод

Система управления базами данных - это набор связанных данных и набор программ для доступа к этим данным. Цель СУБД - предоставить пользователям абстрактное представление данных. Следовательно, система скрывает определенные детали того, как информация хранится и поддерживается.

Это несколько типов баз данных, которые объясняют основные концепции. Как упоминалось ранее, клиенты, как правило, сосредотачиваются на создании баз данных, удовлетворяющих их исключительные потребности.

Спасибо за чтение! Увидимся в следующей статье :)