Современные информационные технологии просто немыслимы без баз данных. В поисковой системе Google полно сведений о том, что они собой представляют, как формируются и в каких областях применяются активнее всего.
Далее предстоит выяснить, что называется базой данных, а также разобрать основные термины и определения. Предложенная информация рассчитана на широкий спектр читателей. Она пригодится как IT-специалисту, так и обычному ПК-пользователю. Также будут приведены самые распространенные БД и системы управления ими.
Что это такое
Google указывает на то, что с рассматриваемым направлением связаны самые разные понятия. Что же собой представляет БД?
База данных – это набор упорядоченной информации, то есть набор данных, организованных тем или иным способом. В каком-то смысле, Excel-таблица – это элементарный образец организации данных в табличном виде. С таким образцом сталкивался почти каждый ПК-пользователь.
СУБД – это…
Теперь понятно, что является базой данных. Это упорядоченная таблица или иная форма организации данных, необходимая для хранения информации в цифровом виде. С соответствующим понятием связано еще одно – СУБД.
Система управления базами данных – средство манипуляции данными в имеющейся структуре. Google определяет СУБД как совокупность программных и лингвистических средств общего или специального назначения, которые обеспечивают управление созданием и использованием баз данных.
СУБД – комплекс программ, позволяющий создавать БД и манипулировать данными:
- вставлять;
- удалять;
- выбирать;
- обновлять.
Такая система будет обеспечивать безопасность, а также надежность хранения и целостность данных. Она предоставит средства администрирования БД.
Язык структурированных запросов
Рассматривая в Google вопросы, связанные с базами данных, можно заметить частое упоминание языка структурированных запросов. Он помечается как SQL. Google указывает на то, что этот язык является одним из наиболее популярных в отношении БД.
SQL – язык программирования, который используется в большинстве реляционных баз данных для запросов, обработки и определения данных, а также решения вопросов, связанных с контролем доступа. Google указывает на то, что этот ЯП был создан еще в 1970-х годах. Со временем стандарт SQL ANSI получил множество расширений, разработанных известными IT-компаниями: IBM, Oracle, Microsoft.
Google указывает на то, что SQL – это до сих пор один из самых популярных языков запросов, используемых в СУБД для управления БД.
Свойства
Google и другие поисковые системы говорят о том, что базы данных легко и удобно использовать. Они чем-то напоминают «классические» электронные таблицы. Удобное использование БД, согласно Google, базируется на свойствах рассматриваемого элемента:
- Быстродействие. Современные БД, согласно Google, могут быть спроектированы по принципу «получение данных прямо сейчас». Ждать долго отклика на запрос не придется.
- Простота получения и обновления данных.
- Независимость структуры. Изменения в любом количестве и качестве информации не должны оказывать влияние на имеющуюся структуру базы данных. Соответствующие корректировки, согласно Google, не должны также касаться программного обеспечения и средств хранения исходных документов.
- Стандартизация. При обновлении программного обеспечения или СУБД база данных не должна изменять структуру или свойства.
- Безопасность данных. Google ссылается на то, что для каждой категории пользователей создается список ограничений и доступов. Базируясь на них, пользователи и администраторы смогут взаимодействовать со сведениями, размещенными в БД.
- Интегрированность. Данные в электронной базе должны быть логически связаны. Соответствующие связи должны отслеживаться по структуре имеющихся таблиц.
- Многопользовательский доступ. Google подчеркивает, что в базу данных могут одновременно вносить изменения и получать информацию множество пользователей, причем с разных устройств.
Это свойства, которыми обязательно будет обладать каждая БД. Google указывает на то, что отсутствие перечисленных «характеристик» делает из «базы данных» обычную цифровую таблицу.
Отличие от электронной таблицы
Задумываясь над тем, что хранится в базах данных, дать однозначный ответ не получится. Все зависит от того, с какой именно БД и для каких конкретно целей используется рассматриваемый элемент. Если кратко описать содержание информационного хранилища, то в ней содержатся упорядоченные «цифровые материалы».
Google четко разделяет классические электронные таблицы и БД. Связано это с тем, что пользователи иногда путают эти два элемента. Они схожи между собой и являются удобными средствами хранения/оперирования данными.
Основными различиями упомянутых элементов, согласно Google, являются следующие особенности:
- способы хранения и обработки данных;
- права доступа;
- объем хранения информации.
Google ссылается на то, что электронные таблицы с самого начала разрабатывались для одного пользователя. На эту особенность указывают табличные свойства. Электронные таблицы подойдут для работы одного человека или небольшого количества пользователей, которым не требуется производить сложные операции с имеющимися сведениями.
Базы данных, согласно Google, предназначаются для работы с большим объемом упорядоченной информации. Они позволяют одновременное подключение множества пользователей. Гарантируют безопасное получение доступа к данным, позволяют выполнять запросы за счет развитой логики и отдельного языка (чаще – SQL).
Типы
Что называют базой данных, понятно. Чтобы лучше понимать их функции и назначение, необходимо изучить классификацию рассматриваемых элементов. В зависимости от типа БД может меняться сфера ее применения. Далее в статье будут рассмотрены возможные виды информационных баз более подробно.
Иерархические
Google называет этот тип БД самым простым. Здесь записи, словно ветви, отходят от «родителя». Данные связаны по аналогии с папками на рабочем столе. У каждой записи имеется физическая связь только с одной предыдущей, а отношение «многие ко многим» не поддерживается.
Выше – наглядный пример базы данных для кофейни в иерархической структуре. Ту представлены сорта кофе.
Сетевые
Отличается от предыдущего типа тем, что записи могут иметь более одного «родителя». Сетевые базы данных представляют собой не «древовидный», а «общий» граф.
Выше – наглядный пример того, как будет выглядеть сетевая структура БД, описывающая рецепты кофе.
Объектно-ориентированные
Google ссылается на то, что существуют объектно-ориентированные БД. В них данные о реальных вещах представляются в виде объектов с уникальными идентификаторами. К ООБД обращаются не через SQL или иные языки структурированных запросов, а при помощи языков объектно-ориентированного программирования.
Здесь:
- состояние объекта будет описываться атрибутами;
- поведение элемента задается набором некоторых методов;
- объекты с одинаковыми атрибутами и методами образовывают классы.
Объекты в ООП, согласно Google, создаются в виде отдельных сущностей со своими свойствами и методами работы. Как только соответствующие элементы созданы, их можно вызвать по «имени» или коду, но не разрабатывать «с нуля».
Реляционные
Записи и связи между ними организовываются через таблицы. У таблиц поддерживается поле для внешнего ключа со ссылками на другие таблицы. За счет высокой организации и гибкости структуры реляционные БД применяются для хранения большинства информационных типов.
Выше можно увидеть, как выглядит база данных реляционного типа. Этот пример демонстрирует работу кофейни. Реляционные БД хороши и для описания рецептов, закупок, а также организации связей между ними. В таблице с поставщиками можно указать стоимость одного и того же продукта, но у разных брендов. При его выборе сведения будут автоматически попадать в таблицу под названием «Закупка ингредиентов». Можно дополнительно настроить расчет суммы всей закупки и себестоимости одного конкретного напитка. Каждый работник сможет вывести информацию по любому поставщику, а также обновить цены по мере надобности.
Нереляционные
Пытаясь выяснить, зачем нужна БД и как ее использовать, рассматривая основы работы с соответствующим объектом, рекомендуется обратить внимание на нереляционные информационные базы. Они могут называться как NoSQL.
Соответствующая группа, согласно Google, получила такое название из-за того, что для управления и работы с подобными БД требуются запросы, отличные от SQL. В них не применяется классическая табличная схема строк и столбцов. Нереляционные базы данных подразделяются на несколько видов.
Ключ-значение
В таких БД данные сохраняются в виде ключей. Если нужно получить объект (текст, изображение), требуется ввести ключ. Этот способ организации хранения используется для получения информации о состоянии объектов, представленных различными типами данных. Каждое хранилище получает свою собственную схему именования ключей. Она зависит от форматов значений.
Графы
Связи в таких БД, как уверяет Google, представляются:
- узлами;
- ребрами;
- свойствами.
Записи здесь могут иметь любой количество связанных с ними свойств. Пример – взаимодействие между сотрудниками кофейни. Они могут быть представлены графом.
Выше – пример того, как будет выглядеть соответствующий граф. В его узлах находятся карточки сотрудников, которые отражают имя, возраст, должность человека. Каждое ребро используется для демонстрации функций и задач, которые связывают подчиненных друг с другом.
Колоночные
Что хранится в базе данных, а также для чего нужна такая «информационная структура», уже понятно. Google указывает на то, что при рассмотрении NoSQL Database необходимо запомнить еще один их тип – колоночный. Они напоминают реляционные БД.
Информация здесь будет храниться в виде таблиц. Структура колонок не имеет строгого регламентирования: они могут объединяться в колоночные семейства того или иного формата. Строки колоночного семейства обладают уникальными идентификаторами.
Выше – пример колоночного семейства «Десерты». Оно поддерживает две строки: «Круассаны» и Печенье».
NewSQL
Роль основных типов БД стала понятна. Соответствующая структура нужна для комфортного хранения и управления информационными потоками. В Google можно найти сведения о том, что есть еще один тип баз. Он называется NewSQL.
Данный «класс» совмещает реляционные модели, SQL-язык и распределенные горизонтально масштабируемые базы данных NoSQL. Соответствующий «формат» появился в 2000-2010-х годах. Такая БД нужна в качестве ответа на потребности рынка, которые ранее упомянутые базы удовлетворить не могли. SQL-базы не поддерживали масштабируемость на уровне NoSQL, а нереляционные БД не отвечали стандартам точного выполнения транзакций ACID.
Google указывает следующие характерные черты NewSQL:
- транзакционность;
- наличие реляционной модели;
- горизонтальная масштабируемость;
- использование SQL-языка для доступа к данным;
- более высокая производительность за счет новых «движков».
Несмотря на все это, наиболее распространенными в IT и администрировании до сих пор являются реляционные БД.
Области применения
Вопрос о том, зачем нужны базы данных, не имеет однозначного ответа. Google указывает на то, что соответствующие объекты будут встречаться практически во всех областях жизни человека. Изучив основы работы с ними, можно оперативно манипулировать цифровой информацией. Вот несколько примеров, когда нужна БД:
- Хранение показаний счетчиков. Информация может передаваться как жильцами, так и оборудованием автоматически. Это не меняет того, что сведения будут формировать информационную базу.
- Данные о сотрудниках. Если информации и подчиненных немного, их можно записать и хранить в виде электронной таблицы. В противном случае рекомендуется задействовать БД.
- Налоги. Налоговая сфера – одна из простейший областей, где используются БД. Связано это с объемом обрабатываемой информации. С ним не справится ни одна электронная таблица.
- Заказы и покупки. Google указывает на то, что БД помогут оценивать самые «прибыльные» дни в магазине, выявлять наиболее «щедрых» покупателей и выяснять, какие товары пользуются большим спросом.
- Сайты. Если сайт – это не визитка, его внутренняя механика будет иметь базу данных. Это касается не только интернет-магазинов, но и других веб-порталов. В БД могут храниться изображения, сведения о зарегистрированных пользователях, статистика.
Теперь ясно понятие и назначение базы данных. Google указывает на то, что рассматриваемый элемент будет встречаться повсеместно. Поэтому рекомендуется изучить наиболее распространенные СУБД.
Известные СУБД
Google – поисковая система, которая всегда придет на помощь и поможет обнаружить необходимые сведения/программы. Если попытаться найти СУБД, результат окажется ошеломительным. Систем управления базами данных очень много, причем их ассортимент расширяется. Далее будут приведены наиболее распространенные СУБД.
MySQL
Самый распространенный вариант управления. Используется крупными IT-компаниями. Здесь поддерживается работа с базами данных реляционного типа. MySQL – это программное обеспечение, которое распространяется свободно.
MySQL имеет следующие особенности:
- поддержка разных типов таблиц;
- высокая скорость работы;
- простота;
- поддержка SQL-запросов;
- постоянное обновление и добавление новых типов поддерживаемых таблиц;
- доступ не только к тестовым, но и графическим режимам.
MySQL – СУБД, которая является гибкой и качественной. Она подойдет для крупных и средних проектов.
Oracle
СУБД объектно-реляционного типа. В процессе работы с Oracle необходимо использовать язык Java и расширение PL/SQL. К особенностям этой СУБД относят:
- быстрое восстановление после сбоев;
- надежную защиту данных;
- совместимость с Java.
Oracle – дорогое программное обеспечение. Из-за этого оно используется в основном крупными компаниями.
PostgreSQL
СУБД объектно-реляционного типа. Распространяется свободно и работает с SQL и MySQL. Обладает более широким функционалом, чем предыдущие СУБД.
Имеет такие особенности как:
- наличие наследования и перегрузки функций;
- поддержка большого количества типов данных;
- расширяемость.
PostgreSQL не подойдет для работы с базами данных, где поддерживается горизонтальное масштабирование. Используется при хранении больших объемов данных. Эта СУБД дает возможность создания и обработки сложных запросов и встраивания небольших DWH (Data Warehouse).
Теперь понятно, что такое БД. Основы и определения, которые пригодятся при обработке данных, тоже рассмотрены. Лучше работать с СУБД и БД поможет не Google, а дистанционные компьютерные курсы. На них с нуля научат всему, что может пригодиться администратору/разработчику/обычному пользователю или иным IT-специалистам.
<!DOCTYPE html>
<html dir="ltr" lang="ru-RU">
<head>
<meta charset="UTF-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="profile" href="http://gmpg.org/xfn/11" />
<title>Базы данных OTUS</title>
<!-- All in One SEO 4.5.2.1 - aioseo.com -->
<meta name="description" content="Современные информационные технологии просто немыслимы без баз данных. В поисковой системе Google полно сведений о том, что они собой представляют, как формируются и в каких областях применяются активнее всего. Далее предстоит выяснить, что называется базой данных, а также разобрать основные термины и определения. Предложенная информация рассчитана на широкий спектр читателей. Она пригодится как IT-специалисту, так" />
<meta name="robots" content="max-image-preview:large" />
<link rel="canonical" href="https://otus.ru/journal/bazy-dannyh/" />
<meta name="generator" content="All in One SEO (AIOSEO) 4.5.2.1" />
<script type="application/ld+json" class="aioseo-schema">
{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/otus.ru\/journal\/bazy-dannyh\/#article","name":"\u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 OTUS","headline":"\u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445","author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2023\/10\/oj-1080x72026-1.png","width":2245,"height":1587},"datePublished":"2023-10-30T20:21:23+00:00","dateModified":"2024-01-09T19:50:10+00:00","inLanguage":"ru-RU","mainEntityOfPage":{"@id":"https:\/\/otus.ru\/journal\/bazy-dannyh\/#webpage"},"isPartOf":{"@id":"https:\/\/otus.ru\/journal\/bazy-dannyh\/#webpage"},"articleSection":"\u041f\u043e\u043b\u0435\u0437\u043d\u043e\u0435, NewSQL, nosql, SQL, \u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445"},{"@type":"BreadcrumbList","@id":"https:\/\/otus.ru\/journal\/bazy-dannyh\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/#listItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/otus.ru\/journal\/","nextItem":"https:\/\/otus.ru\/journal\/bazy-dannyh\/#listItem"},{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/bazy-dannyh\/#listItem","position":2,"name":"\u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445","previousItem":"https:\/\/otus.ru\/journal\/#listItem"}]},{"@type":"Organization","@id":"https:\/\/otus.ru\/journal\/#organization","name":"\u041e\u0442\u0443\u0441 \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","url":"https:\/\/otus.ru\/journal\/","sameAs":["https:\/\/www.youtube.com\/channel\/UCetgtvy93o3i3CvyGXKFU3g"],"contactPoint":{"@type":"ContactPoint","telephone":"+74999389202","contactType":"Customer Support"}},{"@type":"Person","@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author","url":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/","name":"A. Pavlenko","image":{"@type":"ImageObject","@id":"https:\/\/otus.ru\/journal\/bazy-dannyh\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/d4c499a104d7c2522fa41f89e6819499?s=96&d=mm&r=g","width":96,"height":96,"caption":"A. Pavlenko"}},{"@type":"WebPage","@id":"https:\/\/otus.ru\/journal\/bazy-dannyh\/#webpage","url":"https:\/\/otus.ru\/journal\/bazy-dannyh\/","name":"\u0411\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 OTUS","description":"\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u043c\u044b\u0441\u043b\u0438\u043c\u044b \u0431\u0435\u0437 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 Google \u043f\u043e\u043b\u043d\u043e \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u0438 \u0441\u043e\u0431\u043e\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442, \u043a\u0430\u043a \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0438 \u0432 \u043a\u0430\u043a\u0438\u0445 \u043e\u0431\u043b\u0430\u0441\u0442\u044f\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0432\u0441\u0435\u0433\u043e. \u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0442\u0435\u0440\u043c\u0438\u043d\u044b \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f. \u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u0430 \u043d\u0430 \u0448\u0438\u0440\u043e\u043a\u0438\u0439 \u0441\u043f\u0435\u043a\u0442\u0440 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439. \u041e\u043d\u0430 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u0430\u043a IT-\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0443, \u0442\u0430\u043a","inLanguage":"ru-RU","isPartOf":{"@id":"https:\/\/otus.ru\/journal\/#website"},"breadcrumb":{"@id":"https:\/\/otus.ru\/journal\/bazy-dannyh\/#breadcrumblist"},"author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"creator":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2023\/10\/oj-1080x72026-1.png","@id":"https:\/\/otus.ru\/journal\/bazy-dannyh\/#mainImage","width":2245,"height":1587},"primaryImageOfPage":{"@id":"https:\/\/otus.ru\/journal\/bazy-dannyh\/#mainImage"},"datePublished":"2023-10-30T20:21:23+00:00","dateModified":"2024-01-09T19:50:10+00:00"},{"@type":"WebSite","@id":"https:\/\/otus.ru\/journal\/#website","url":"https:\/\/otus.ru\/journal\/","name":"OTUS JOURNAL","description":"Blog about IT","inLanguage":"ru-RU","publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"}}]}
</script>
<!-- All in One SEO -->
<link rel='dns-prefetch' href='//otus.ru' />
<link rel='dns-prefetch' href='//fonts.googleapis.com' />
<link rel='stylesheet' id='wp-block-library-css' href='https://otus.ru/journal/wp-includes/css/dist/block-library/style.min.css?ver=6.4.7' type='text/css' media='all' />
<style id='classic-theme-styles-inline-css' type='text/css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
</style>
<style id='global-styles-inline-css' type='text/css'>
body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
</style>
<link rel='stylesheet' id='wbcr-comments-plus-url-span-css' href='https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/css/url-span.css?ver=2.2.0' type='text/css' media='all' />
<link rel='stylesheet' id='wpel-style-css' href='https://otus.ru/journal/wp-content/plugins/wp-external-links/public/css/wpel.css?ver=2.59' type='text/css' media='all' />
<link rel='stylesheet' id='ez-toc-css' href='https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/css/screen.min.css?ver=2.0.61' type='text/css' media='all' />
<style id='ez-toc-inline-css' type='text/css'>
div#ez-toc-container .ez-toc-title {font-size: 120%;}div#ez-toc-container .ez-toc-title {font-weight: 500;}div#ez-toc-container ul li {font-size: 95%;}div#ez-toc-container nav ul ul li {font-size: 90%;}
.ez-toc-container-direction {direction: ltr;}.ez-toc-counter ul{counter-reset: item ;}.ez-toc-counter nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }.ez-toc-widget-direction {direction: ltr;}.ez-toc-widget-container ul{counter-reset: item ;}.ez-toc-widget-container nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }
</style>
<link rel='stylesheet' id='contentberg-fonts-css' href='https://fonts.googleapis.com/css?family=Roboto%3A400%2C500%2C700%7CPT+Serif%3A400%2C400i%2C600%7CIBM+Plex+Serif%3A500' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-core-css' href='https://otus.ru/journal/wp-content/themes/contentberg/style.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-lightbox-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/lightbox.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='font-awesome-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/fontawesome/css/font-awesome.min.css?ver=1.8.3' type='text/css' media='all' />
<script type="text/javascript" id="breeze-prefetch-js-extra">
/* <![CDATA[ */
var breeze_prefetch = {"local_url":"https:\/\/otus.ru\/journal","ignore_remote_prefetch":"1","ignore_list":["\/wp-admin\/"]};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js" id="breeze-prefetch-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/lazysizes.js" id="lazysizes-js"></script>
<link rel="https://api.w.org/" href="https://otus.ru/journal/wp-json/" /><link rel="alternate" type="application/json" href="https://otus.ru/journal/wp-json/wp/v2/posts/7837" /><link rel='shortlink' href='https://otus.ru/journal/?p=7837' />
<link rel="alternate" type="application/json+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fbazy-dannyh%2F" />
<link rel="alternate" type="text/xml+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fbazy-dannyh%2F&format=xml" />
<script>var Sphere_Plugin = {"ajaxurl":"https:\/\/otus.ru\/journal\/wp-admin\/admin-ajax.php"};</script><link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-32x32.png" sizes="32x32" />
<link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-180x180.png" />
<meta name="msapplication-TileImage" content="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-270x270.png" />
<style type="text/css" id="wp-custom-css">
#menu-item-10406 .wpel-icon {
display: none;
}
#menu-item-10407 .wpel-icon {
display: none;
}
.otus-login-site a .wpel-icon {
display: none;
}
.menu-menju-navykov-container a .wpel-icon {
display: none;
}
.otus-login-site a
{
background: #ffd709;
border-radius: 12px;
color: #0f0f10;
font-size: 14px;
font-weight: 700;
line-height: 20px;
display: block;
text-align: center;
padding: 8px 25px;
}
.main-footer.dark {
background: linear-gradient(90deg, #a64fc5, #4f54e6);
border-color: transparent;
}
.main-footer.bold .copyright {
color: #fff;
}
.main-footer.bold .to-top i {
color: #fff;
}
.main-footer.bold .back-to-top {
color: #fff;
}
.nav__scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.scrollable-menu .menu {
display: flex;
}
.nav__scroll
{
background: linear-gradient(90deg, #a64fc5, #4f54e6);
}
.scrollable-menu .menu .menu-item {
flex: 0 0 auto;
padding: 15px 15px;
}
.scrollable-menu .menu .menu-item a {
color: #fff;
}
.nav__scroll::-webkit-scrollbar{background-color:#fff;height:5px;}
.nav__scroll::-webkit-scrollbar-thumb{background-color:#dcdcdc;}
.nav__scroll::-webkit-scrollbar-track{-webkit-border-radius:0;border-radius:0;background-color:#fff;}/
body {
min-width: 320px;
}
.banner-click img {
margin: 0 auto;
display: block;
}
.banner-click {
cursor: pointer;
}
.banner-footer-area {
margin-bottom: 20px;
}
.banner-left-area {
margin-top: 40px;
} </style>
<!--Start VDZ Yandex Metrika Plugin-->
<!-- Yandex.Metrika counter --><script type="text/javascript" >(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");ym(34531570, "init", {clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, trackHash:true, ecommerce:"dataLayer"});</script>
<noscript><div><img src="https://mc.yandex.ru/watch/34531570" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter --><!--START ADD EVENTS FROM CF7--><script type='text/javascript'>document.addEventListener( 'wpcf7submit', function( event ) {
//event.detail.contactFormId;
if(ym){
//console.log(event.detail);
ym(34531570, 'reachGoal', 'VDZ_SEND_CONTACT_FORM_7');
ym(34531570, 'params', {
page_url: window.location.href,
status: event.detail.status,
locale: event.detail.contactFormLocale,
form_id: event.detail.contactFormId,
});
}
}, false );
</script><!--END ADD EVENTS FROM CF7-->
<!--End VDZ Yandex Metrika Plugin-->
</head>
<body class="post-template-default single single-post postid-7837 single-format-standard right-sidebar lazy-normal has-lb">
<div class="main-wrap">
<header id="main-head" class="main-head head-nav-below has-search-modal simple simple-boxed">
<div class="inner inner-head" data-sticky-bar="0">
<div class="wrap cf wrap-head">
<div class="left-contain">
<span class="mobile-nav"><i class="fa fa-bars"></i></span>
<div class="title">
<a href="https://otus.ru/journal/" title="OTUS JOURNAL" rel="home" data-wpel-link="internal">
<span class="text-logo"><img src="/journal/wp-content/themes/contentberg/img/logo_site.svg" alt="OTUS JOURNAL"></span>
</a>
</div>
</div>
<div class="navigation-wrap inline">
<nav class="navigation inline simple light" data-sticky-bar="0">
<div class="menu-rubriki-container"><ul id="menu-rubriki" class="menu"><li id="menu-item-109" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-1 menu-item-109"><a href="https://otus.ru/journal/category/pro-it/" data-wpel-link="internal"><span>Про IT</span></a></li>
<li id="menu-item-113" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-cat-4 menu-item-113"><a href="https://otus.ru/journal/category/polza/" data-wpel-link="internal"><span>Полезное</span></a></li>
<li id="menu-item-114" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-3 menu-item-114"><a href="https://otus.ru/journal/category/lifestyle/" data-wpel-link="internal"><span>Лайфстайл</span></a></li>
<li id="menu-item-10406" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10406"><a href="https://otus.ru/catalog/courses" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Обучение</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10407" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10407"><a href="https://otus.ru/about" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Информация</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </nav>
</div>
<div class="actions">
<div class="otus-login-site">
<a href="https://otus.ru/login/" target="_blank" data-wpel-link="external" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Войти<span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
<a href="#" title="Search" class="search-link"><i class="fa fa-search"></i></a>
</div>
</div>
</div>
</header> <!-- .main-head -->
<div class="nav nav_disable nav_colored nav_transparent course-categories__nav nav__scroll ">
<div class="container wrap">
<div class="links inline simple light scrollable-menu">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov" class="menu"><li id="menu-item-10413" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10414" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10415" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10416" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10417" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10418" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10419" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10420" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
</div>
</div>
<div class="main wrap">
<div class="ts-row cf">
<div class="col-8 main-content cf">
<article id="post-7837" class="the-post post-7837 post type-post status-publish format-standard has-post-thumbnail category-polza tag-newsql tag-nosql tag-sql tag-bazy-dannyh">
<header class="post-header the-post-header cf">
<div class="post-meta the-post-meta">
<span class="post-cat">
<a href="https://otus.ru/journal/category/polza/" class="category" data-wpel-link="internal">Полезное</a>
</span>
<h1 class="post-title">
Базы данных
</h1>
<a href="https://otus.ru/journal/bazy-dannyh/" class="date-link" data-wpel-link="internal"><time class="post-date">30 октября, 2023</time></a>
</div>
<div class="featured">
<a href="https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x72026-1.png" class="image-link" data-wpel-link="internal"><img width="770" height="515" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20770%20515%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-contentberg-main size-contentberg-main lazyload wp-post-image" alt="Базы данных" title="Базы данных" decoding="async" fetchpriority="high" data-srcset="https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x72026-1-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x72026-1-270x180.png 270w" data-src="https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x72026-1-770x515.png" data-sizes="(max-width: 770px) 100vw, 770px" /> </a>
</div>
</header><!-- .post-header -->
<div class="post-content description cf entry-content content-normal">
<div id="ez-toc-container" class="ez-toc-v2_0_61 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title " >Содержание</p>
<span class="ez-toc-title-toggle"><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="Toggle Table of Content"><span class="ez-toc-js-icon-con"><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #999;color:#999" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #999;color:#999" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></span></a></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="#%D0%A7%D1%82%D0%BE_%D1%8D%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5" title="Что это такое">Что это такое</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-2" href="#%D0%A1%D0%A3%D0%91%D0%94_%E2%80%93_%D1%8D%D1%82%D0%BE%E2%80%A6" title="СУБД – это…">СУБД – это…</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-3" href="#%D0%AF%D0%B7%D1%8B%D0%BA_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2" title="Язык структурированных запросов">Язык структурированных запросов</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="#%D0%A1%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0" title="Свойства">Свойства</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="#%D0%9E%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D0%B5_%D0%BE%D1%82_%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B" title="Отличие от электронной таблицы">Отличие от электронной таблицы</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-6" href="#%D0%A2%D0%B8%D0%BF%D1%8B" title="Типы">Типы</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-7" href="#%D0%98%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5" title="Иерархические">Иерархические</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-8" href="#%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D1%8B%D0%B5" title="Сетевые">Сетевые</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-9" href="#%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5" title="Объектно-ориентированные">Объектно-ориентированные</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-10" href="#%D0%A0%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5" title="Реляционные">Реляционные</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-11" href="#%D0%9D%D0%B5%D1%80%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5" title="Нереляционные">Нереляционные</a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-12" href="#%D0%9A%D0%BB%D1%8E%D1%87-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5" title="Ключ-значение">Ключ-значение</a></li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-13" href="#%D0%93%D1%80%D0%B0%D1%84%D1%8B" title="Графы">Графы</a></li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-14" href="#%D0%9A%D0%BE%D0%BB%D0%BE%D0%BD%D0%BE%D1%87%D0%BD%D1%8B%D0%B5" title="Колоночные">Колоночные</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-15" href="#NewSQL" title="NewSQL">NewSQL</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-16" href="#%D0%9E%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F" title="Области применения">Области применения</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-17" href="#%D0%98%D0%B7%D0%B2%D0%B5%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%A1%D0%A3%D0%91%D0%94" title="Известные СУБД">Известные СУБД</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-18" href="#MySQL" title="MySQL">MySQL</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-19" href="#Oracle" title="Oracle">Oracle</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-20" href="#PostgreSQL" title="PostgreSQL">PostgreSQL</a></li></ul></li></ul></nav></div>
<p>Современные информационные технологии просто немыслимы без баз данных. В поисковой системе Google полно сведений о том, что они собой представляют, как формируются и в каких областях применяются активнее всего.</p>
<p>Далее предстоит выяснить, что называется базой данных, а также разобрать основные термины и определения. Предложенная информация рассчитана на широкий спектр читателей. Она пригодится как IT-специалисту, так и обычному ПК-пользователю. Также будут приведены самые распространенные БД и системы управления ими.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A7%D1%82%D0%BE_%D1%8D%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5"></span>Что это такое<span class="ez-toc-section-end"></span></h2>
<p>Google указывает на то, что с рассматриваемым направлением связаны самые разные понятия. Что же собой представляет БД?</p>
<p>База данных – это набор упорядоченной информации, то есть набор данных, организованных тем или иным способом. В каком-то смысле, Excel-таблица – это элементарный образец организации данных в табличном виде. С таким образцом сталкивался почти каждый ПК-пользователь.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%A3%D0%91%D0%94_%E2%80%93_%D1%8D%D1%82%D0%BE%E2%80%A6"></span>СУБД – это…<span class="ez-toc-section-end"></span></h3>
<p>Теперь понятно, что является базой данных. Это упорядоченная таблица или иная форма организации данных, необходимая для хранения информации в цифровом виде. С соответствующим понятием связано еще одно – СУБД.</p>
<p>Система управления базами данных – средство манипуляции данными в имеющейся структуре. Google определяет СУБД как совокупность программных и лингвистических средств общего или специального назначения, которые обеспечивают управление созданием и использованием баз данных.</p>
<p>СУБД – комплекс программ, позволяющий создавать БД и манипулировать данными:</p>
<ul>
<li>вставлять;</li>
<li>удалять;</li>
<li>выбирать;</li>
<li>обновлять.</li>
</ul>
<p>Такая система будет обеспечивать безопасность, а также надежность хранения и целостность данных. Она предоставит средства администрирования БД.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%AF%D0%B7%D1%8B%D0%BA_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2"></span>Язык структурированных запросов<span class="ez-toc-section-end"></span></h3>
<p>Рассматривая в Google вопросы, связанные с базами данных, можно заметить частое упоминание языка структурированных запросов. Он помечается как SQL. Google указывает на то, что этот язык является одним из наиболее популярных в отношении БД.</p>
<p>SQL – язык программирования, который используется в большинстве реляционных баз данных для запросов, обработки и определения данных, а также решения вопросов, связанных с контролем доступа. Google указывает на то, что этот ЯП был создан еще в 1970-х годах. Со временем стандарт SQL ANSI получил множество расширений, разработанных известными IT-компаниями: IBM, Oracle, Microsoft.</p>
<p>Google указывает на то, что SQL – это до сих пор один из самых популярных языков запросов, используемых в СУБД для управления БД.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0"></span>Свойства<span class="ez-toc-section-end"></span></h2>
<p>Google и другие поисковые системы говорят о том, что базы данных легко и удобно использовать. Они чем-то напоминают «классические» электронные таблицы. Удобное использование БД, согласно Google, базируется на свойствах рассматриваемого элемента:</p>
<ol>
<li>Быстродействие. Современные БД, согласно Google, могут быть спроектированы по принципу «получение данных прямо сейчас». Ждать долго отклика на запрос не придется.</li>
<li>Простота получения и обновления данных.</li>
<li>Независимость структуры. Изменения в любом количестве и качестве информации не должны оказывать влияние на имеющуюся структуру базы данных. Соответствующие корректировки, согласно Google, не должны также касаться программного обеспечения и средств хранения исходных документов.</li>
<li>Стандартизация. При обновлении программного обеспечения или СУБД база данных не должна изменять структуру или свойства.</li>
<li>Безопасность данных. Google ссылается на то, что для каждой категории пользователей создается список ограничений и доступов. Базируясь на них, пользователи и администраторы смогут взаимодействовать со сведениями, размещенными в БД.</li>
<li>Интегрированность. Данные в электронной базе должны быть логически связаны. Соответствующие связи должны отслеживаться по структуре имеющихся таблиц.</li>
<li>Многопользовательский доступ. Google подчеркивает, что в базу данных могут одновременно вносить изменения и получать информацию множество пользователей, причем с разных устройств.</li>
</ol>
<p>Это свойства, которыми обязательно будет обладать каждая БД. Google указывает на то, что отсутствие перечисленных «характеристик» делает из «базы данных» обычную цифровую таблицу.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D0%B5_%D0%BE%D1%82_%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B"></span>Отличие от электронной таблицы<span class="ez-toc-section-end"></span></h2>
<p>Задумываясь над тем, что хранится в базах данных, дать однозначный ответ не получится. Все зависит от того, с какой именно БД и для каких конкретно целей используется рассматриваемый элемент. Если кратко описать содержание информационного хранилища, то в ней содержатся упорядоченные «цифровые материалы».</p>
<p>Google четко разделяет классические электронные таблицы и БД. Связано это с тем, что пользователи иногда путают эти два элемента. Они схожи между собой и являются удобными средствами хранения/оперирования данными.</p>
<p>Основными различиями упомянутых элементов, согласно Google, являются следующие особенности:</p>
<ul>
<li>способы хранения и обработки данных;</li>
<li>права доступа;</li>
<li>объем хранения информации.</li>
</ul>
<p>Google ссылается на то, что электронные таблицы с самого начала разрабатывались для одного пользователя. На эту особенность указывают табличные свойства. Электронные таблицы подойдут для работы одного человека или небольшого количества пользователей, которым не требуется производить сложные операции с имеющимися сведениями.</p>
<p>Базы данных, согласно Google, предназначаются для работы с большим объемом упорядоченной информации. Они позволяют одновременное подключение множества пользователей. Гарантируют безопасное получение доступа к данным, позволяют выполнять запросы за счет развитой логики и отдельного языка (чаще – SQL).</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A2%D0%B8%D0%BF%D1%8B"></span>Типы<span class="ez-toc-section-end"></span></h2>
<p>Что называют базой данных, понятно. Чтобы лучше понимать их функции и назначение, необходимо изучить классификацию рассматриваемых элементов. В зависимости от типа БД может меняться сфера ее применения. Далее в статье будут рассмотрены возможные виды информационных баз более подробно.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%98%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5"></span>Иерархические<span class="ez-toc-section-end"></span></h3>
<p>Google называет этот тип БД самым простым. Здесь записи, словно ветви, отходят от «родителя». Данные связаны по аналогии с папками на рабочем столе. У каждой записи имеется физическая связь только с одной предыдущей, а отношение «многие ко многим» не поддерживается.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/Pn56bz137znR8AryLVDn_cmicwaQnVuDS8GXk6pGV0sVuzs4y9lB-ufjf-e30Z51Akjrwcmwzb-bTOA3TcCzyhDK8seSm2RXOQkUAAgHklO9WkGg7ZCgctcY6Jcvbk8SMgcASsRufKrGZQyCEAJmnA" alt="Базы данных"/></figure>
<p>Выше – наглядный пример базы данных для кофейни в иерархической структуре. Ту представлены сорта кофе.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D1%8B%D0%B5"></span>Сетевые<span class="ez-toc-section-end"></span></h3>
<p>Отличается от предыдущего типа тем, что записи могут иметь более одного «родителя». Сетевые базы данных представляют собой не «древовидный», а «общий» граф.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/bImREBGZyZXs27ruH_XmaN2-WMiKYnzQOxt1WcY_JrDF1nwVcmSAKLSmaslhvRv3JW4HZ9A3zlTZMk5o3ZVI0tICjv6V_9v8mi-WsSa1L_Jc27YtL9yAC4yhE8l7-HT2T_bfkd5MKgssTuqAH73h0w" alt="Базы данных"/></figure>
<p>Выше – наглядный пример того, как будет выглядеть сетевая структура БД, описывающая рецепты кофе.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5"></span>Объектно-ориентированные<span class="ez-toc-section-end"></span></h3>
<p>Google ссылается на то, что существуют объектно-ориентированные БД. В них данные о реальных вещах представляются в виде объектов с уникальными идентификаторами. К ООБД обращаются не через SQL или иные языки структурированных запросов, а при помощи языков объектно-ориентированного программирования.</p>
<p>Здесь:</p>
<ul>
<li>состояние объекта будет описываться атрибутами;</li>
<li>поведение элемента задается набором некоторых методов;</li>
<li>объекты с одинаковыми атрибутами и методами образовывают классы.</li>
</ul>
<p>Объекты в ООП, согласно Google, создаются в виде отдельных сущностей со своими свойствами и методами работы. Как только соответствующие элементы созданы, их можно вызвать по «имени» или коду, но не разрабатывать «с нуля».</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A0%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5"></span>Реляционные<span class="ez-toc-section-end"></span></h3>
<p>Записи и связи между ними организовываются через таблицы. У таблиц поддерживается поле для внешнего ключа со ссылками на другие таблицы. За счет высокой организации и гибкости структуры реляционные БД применяются для хранения большинства информационных типов.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/D0UwBHojcb9Os57pYw3nRlzBQ2dMbLkDugJQBD_TrJ1pvyPBY1sgYWU8iCoM9KBr2L-zC_P_30oiPjsuFCg2jzTFpep9MK6trWT41OeU8obxkKVJ8F_Gnuwi7Vn1fBk2kQ9cl8Rc_dLCZTnRoM0vbg" alt="Базы данных"/></figure>
<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/AgYJq1i5Nz_xnsUGNZQiibufKF17kRY2eH1PjRBzp_4Ic0Sk--TKHefYlAd2wn7uRw9ubntfbwMvagj4-iRVVFuc4xbNqGenb3L4BEZEw8MKx1Qfg40cd21Eqj1xHiTVIqUurslz8ZOu3Zlaay2rfg" alt="Базы данных"/></figure>
<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/psWM2Mw4bwge4TRAupAAJQThTZacBzIinuQbC2aleKZaRv5RAzqz-L16qY3UH92hjvuEBYwhazrj9560VHsStEX7Rkh-CVn26WnBa8EE0Ful6v4DdZikDtHgfYUK78qeRzjpL6E-ayokpQ6-HqqBXQ" alt="Базы данных"/></figure>
<p>Выше можно увидеть, как выглядит база данных реляционного типа. Этот пример демонстрирует работу кофейни. Реляционные БД хороши и для описания рецептов, закупок, а также организации связей между ними. В таблице с поставщиками можно указать стоимость одного и того же продукта, но у разных брендов. При его выборе сведения будут автоматически попадать в таблицу под названием «Закупка ингредиентов». Можно дополнительно настроить расчет суммы всей закупки и себестоимости одного конкретного напитка. Каждый работник сможет вывести информацию по любому поставщику, а также обновить цены по мере надобности.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9D%D0%B5%D1%80%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5"></span>Нереляционные<span class="ez-toc-section-end"></span></h3>
<p>Пытаясь выяснить, зачем нужна БД и как ее использовать, рассматривая основы работы с соответствующим объектом, рекомендуется обратить внимание на нереляционные информационные базы. Они могут называться как NoSQL.</p>
<p>Соответствующая группа, согласно Google, получила такое название из-за того, что для управления и работы с подобными БД требуются запросы, отличные от SQL. В них не применяется классическая табличная схема строк и столбцов. Нереляционные базы данных подразделяются на несколько видов.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9A%D0%BB%D1%8E%D1%87-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5"></span><em>Ключ-значение</em><span class="ez-toc-section-end"></span></h4>
<p>В таких БД данные сохраняются в виде ключей. Если нужно получить объект (текст, изображение), требуется ввести ключ. Этот способ организации хранения используется для получения информации о состоянии объектов, представленных различными типами данных. Каждое хранилище получает свою собственную схему именования ключей. Она зависит от форматов значений.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%93%D1%80%D0%B0%D1%84%D1%8B"></span><em>Графы</em><span class="ez-toc-section-end"></span></h4>
<p>Связи в таких БД, как уверяет Google, представляются:</p>
<ul>
<li>узлами;</li>
<li>ребрами;</li>
<li>свойствами.</li>
</ul>
<p>Записи здесь могут иметь любой количество связанных с ними свойств. Пример – взаимодействие между сотрудниками кофейни. Они могут быть представлены графом.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/uJVk-_NOyR-P15vN6j9dQz5lCEZj0R_hj97XNBh2jT_dDXwvUlLxM9BarMrymD3B96V7J7vtJ4OQnH2NROeRGLHhESI59vl5EOfZ35OqeLtZgai1LPobL8b_xRyS2JAF733V9BfltQT3J_YPEIGSuw" alt="Базы данных"/></figure>
<p>Выше – пример того, как будет выглядеть соответствующий граф. В его узлах находятся карточки сотрудников, которые отражают имя, возраст, должность человека. Каждое ребро используется для демонстрации функций и задач, которые связывают подчиненных друг с другом.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9A%D0%BE%D0%BB%D0%BE%D0%BD%D0%BE%D1%87%D0%BD%D1%8B%D0%B5"></span><em>Колоночные</em><span class="ez-toc-section-end"></span></h4>
<p>Что хранится в базе данных, а также для чего нужна такая «информационная структура», уже понятно. Google указывает на то, что при рассмотрении NoSQL Database необходимо запомнить еще один их тип – колоночный. Они напоминают реляционные БД.</p>
<p>Информация здесь будет храниться в виде таблиц. Структура колонок не имеет строгого регламентирования: они могут объединяться в колоночные семейства того или иного формата. Строки колоночного семейства обладают уникальными идентификаторами.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh7-us.googleusercontent.com/PNZw-Yx6Gq500GicuoUTBavPr0vL8WWHvUKq2boDdY8RtslGIynCZoxS6gBOtjMKBy0zL9vlLEsvzcsxtxlDTvcZgejvp8Uo1muKWT_99SFHW6FgSkoWVV6SdnarIWhY_hAe0mjL3TAArw_TKDWzCw" alt="Базы данных"/></figure>
<p>Выше – пример колоночного семейства «Десерты». Оно поддерживает две строки: «Круассаны» и Печенье».</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="NewSQL"></span>NewSQL<span class="ez-toc-section-end"></span></h3>
<p>Роль основных типов БД стала понятна. Соответствующая структура нужна для комфортного хранения и управления информационными потоками. В Google можно найти сведения о том, что есть еще один тип баз. Он называется NewSQL.</p>
<p>Данный «класс» совмещает реляционные модели, SQL-язык и распределенные горизонтально масштабируемые базы данных NoSQL. Соответствующий «формат» появился в 2000-2010-х годах. Такая БД нужна в качестве ответа на потребности рынка, которые ранее упомянутые базы удовлетворить не могли. SQL-базы не поддерживали масштабируемость на уровне NoSQL, а нереляционные БД не отвечали стандартам точного выполнения транзакций ACID.</p>
<p>Google указывает следующие характерные черты NewSQL:</p>
<ul>
<li>транзакционность;</li>
<li>наличие реляционной модели;</li>
<li>горизонтальная масштабируемость;</li>
<li>использование SQL-языка для доступа к данным;</li>
<li>более высокая производительность за счет новых «движков».</li>
</ul>
<p>Несмотря на все это, наиболее распространенными в IT и администрировании до сих пор являются реляционные БД.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D0%B8_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F"></span>Области применения<span class="ez-toc-section-end"></span></h2>
<p>Вопрос о том, зачем нужны базы данных, не имеет однозначного ответа. Google указывает на то, что соответствующие объекты будут встречаться практически во всех областях жизни человека. Изучив основы работы с ними, можно оперативно манипулировать цифровой информацией. Вот несколько примеров, когда нужна БД:</p>
<ol>
<li>Хранение показаний счетчиков. Информация может передаваться как жильцами, так и оборудованием автоматически. Это не меняет того, что сведения будут формировать информационную базу.</li>
<li>Данные о сотрудниках. Если информации и подчиненных немного, их можно записать и хранить в виде электронной таблицы. В противном случае рекомендуется задействовать БД.</li>
<li>Налоги. Налоговая сфера – одна из простейший областей, где используются БД. Связано это с объемом обрабатываемой информации. С ним не справится ни одна электронная таблица.</li>
<li>Заказы и покупки. Google указывает на то, что БД помогут оценивать самые «прибыльные» дни в магазине, выявлять наиболее «щедрых» покупателей и выяснять, какие товары пользуются большим спросом.</li>
<li>Сайты. Если сайт – это не визитка, его внутренняя механика будет иметь базу данных. Это касается не только интернет-магазинов, но и других веб-порталов. В БД могут храниться изображения, сведения о зарегистрированных пользователях, статистика.</li>
</ol>
<p>Теперь ясно понятие и назначение базы данных. Google указывает на то, что рассматриваемый элемент будет встречаться повсеместно. Поэтому рекомендуется изучить наиболее распространенные СУБД.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%98%D0%B7%D0%B2%D0%B5%D1%81%D1%82%D0%BD%D1%8B%D0%B5_%D0%A1%D0%A3%D0%91%D0%94"></span>Известные СУБД<span class="ez-toc-section-end"></span></h2>
<p>Google – поисковая система, которая всегда придет на помощь и поможет обнаружить необходимые сведения/программы. Если попытаться найти СУБД, результат окажется ошеломительным. Систем управления базами данных очень много, причем их ассортимент расширяется. Далее будут приведены наиболее распространенные СУБД.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="MySQL"></span>MySQL<span class="ez-toc-section-end"></span></h3>
<p>Самый распространенный вариант управления. Используется крупными IT-компаниями. Здесь поддерживается работа с базами данных реляционного типа. MySQL – это программное обеспечение, которое распространяется свободно.</p>
<p>MySQL имеет следующие особенности:</p>
<ul>
<li>поддержка разных типов таблиц;</li>
<li>высокая скорость работы;</li>
<li>простота;</li>
<li>поддержка SQL-запросов;</li>
<li>постоянное обновление и добавление новых типов поддерживаемых таблиц;</li>
<li>доступ не только к тестовым, но и графическим режимам.</li>
</ul>
<p>MySQL – СУБД, которая является гибкой и качественной. Она подойдет для крупных и средних проектов.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="Oracle"></span>Oracle<span class="ez-toc-section-end"></span></h3>
<p>СУБД объектно-реляционного типа. В процессе работы с Oracle необходимо использовать язык Java и расширение PL/SQL. К особенностям этой СУБД относят:</p>
<ul>
<li>быстрое восстановление после сбоев;</li>
<li>надежную защиту данных;</li>
<li>совместимость с Java.</li>
</ul>
<p>Oracle – дорогое программное обеспечение. Из-за этого оно используется в основном крупными компаниями.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="PostgreSQL"></span>PostgreSQL<span class="ez-toc-section-end"></span></h3>
<p>СУБД объектно-реляционного типа. Распространяется свободно и работает с SQL и MySQL. Обладает более широким функционалом, чем предыдущие СУБД.</p>
<p>Имеет такие особенности как:</p>
<ul>
<li>наличие наследования и перегрузки функций;</li>
<li>поддержка большого количества типов данных;</li>
<li>расширяемость.</li>
</ul>
<p>PostgreSQL не подойдет для работы с базами данных, где поддерживается горизонтальное масштабирование. Используется при хранении больших объемов данных. Эта СУБД дает возможность создания и обработки сложных запросов и встраивания небольших DWH (Data Warehouse).</p>
<p>Теперь понятно, что такое БД. Основы и определения, которые пригодятся при обработке данных, тоже рассмотрены. <a href="https://otus.ru/lessons/subd/?utm_source=oj&utm_medium=affilate&utm_campaign=subd" title="" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Лучше работать с СУБД и БД поможет не Google, а дистанционные компьютерные курсы<span class="wpel-icon wpel-image wpel-icon-6"></span></a>. На них с нуля научат всему, что может пригодиться администратору/разработчику/обычному пользователю или иным IT-специалистам.</p>
</div><!-- .post-content -->
<div class="the-post-foot cf">
<div class="tag-share cf">
<div class="post-tags"><a href="https://otus.ru/journal/tag/newsql/" rel="tag" data-wpel-link="internal">NewSQL</a><a href="https://otus.ru/journal/tag/nosql/" rel="tag" data-wpel-link="internal">nosql</a><a href="https://otus.ru/journal/tag/sql/" rel="tag" data-wpel-link="internal">SQL</a><a href="https://otus.ru/journal/tag/bazy-dannyh/" rel="tag" data-wpel-link="internal">Базы данных</a></div>
<div class="post-share">
<div class="post-share-icons cf">
<span class="counters">
</span>
<a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fotus.ru%2Fjournal%2Fbazy-dannyh%2F" class="link facebook wpel-icon-right" target="_blank" title="Share on Facebook" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-facebook"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fbazy-dannyh%2F&text=%D0%91%D0%B0%D0%B7%D1%8B%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85" class="link twitter wpel-icon-right" target="_blank" title="Share on Twitter" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-twitter"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fotus.ru%2Fjournal%2Fbazy-dannyh%2F" class="link linkedin wpel-icon-right" target="_blank" title="LinkedIn" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-linkedin"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fbazy-dannyh%2F&media=https%3A%2F%2Fotus.ru%2Fjournal%2Fwp-content%2Fuploads%2F2023%2F10%2Foj-1080x72026-1.png&description=%D0%91%D0%B0%D0%B7%D1%8B%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85" class="link pinterest wpel-icon-right" target="_blank" title="Pinterest" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-pinterest-p"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
</div>
</div>
</div>
<div class="post-nav">
<div class="post previous cf">
<a href="https://otus.ru/journal/linejnaya-algebra-i-vektory/" title="Prev Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-left"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/linejnaya-algebra-i-vektory/" class="image-link" rel="previous" data-wpel-link="internal">
<img width="150" height="106" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20106%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Линейная алгебра и векторы" decoding="async" data-srcset="https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x72024-1-150x106.png 150w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x72024-1-300x212.png 300w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x72024-1-1024x724.png 1024w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x72024-1-768x543.png 768w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x72024-1-1536x1086.png 1536w" data-src="https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x72024-1-150x106.png" data-sizes="(max-width: 150px) 100vw, 150px" title="Линейная алгебра и векторы" /> </a>
<div class="post-meta">
<span class="label">Prev Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/linejnaya-algebra-i-vektory/" data-wpel-link="internal">Линейная алгебра и векторы</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/linejnaya-algebra-i-vektory/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2023-10-30T18:29:06+00:00">30 октября, 2023</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">6 Mins Read</span>
</div>
</div> </div>
</span>
</div>
<div class="post next cf">
<a href="https://otus.ru/journal/obektno-orientirovannaya-razrabotka-osnovy/" title="Next Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-right"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/obektno-orientirovannaya-razrabotka-osnovy/" class="image-link" rel="next" data-wpel-link="internal">
<img width="150" height="106" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20106%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Объектно-ориентированная разработка: основы" decoding="async" data-srcset="https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720-2-150x106.jpg 150w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720-2-300x212.jpg 300w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720-2-1024x724.jpg 1024w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720-2-768x543.jpg 768w, https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720-2-1536x1086.jpg 1536w" data-src="https://otus.ru/journal/wp-content/uploads/2023/10/oj-1080x720-2-150x106.jpg" data-sizes="(max-width: 150px) 100vw, 150px" title="Объектно-ориентированная разработка: основы" /> </a>
<div class="post-meta">
<span class="label">Next Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/obektno-orientirovannaya-razrabotka-osnovy/" data-wpel-link="internal">Объектно-ориентированная разработка: основы</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/obektno-orientirovannaya-razrabotka-osnovy/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2023-10-31T21:16:18+00:00">31 октября, 2023</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">8 Mins Read</span>
</div>
</div> </div>
</span>
</div>
</div>
<section class="related-posts grid-3">
<h4 class="section-head"><span class="title">Читать ещё</span></h4>
<div class="ts-row posts cf">
<article class="post col-4">
<a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" title="Уровень готовности CTO к 2026" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Уровень готовности CTO к 2026" title="Уровень готовности CTO к 2026" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" class="post-link" data-wpel-link="internal">Уровень готовности CTO к 2026</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-16T19:50:59+00:00">16 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" title="Новые уроки ноября: только топ-темы по программированию" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Новые уроки ноября: только топ-темы по программированию" title="Новые уроки ноября: только топ-темы по программированию" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" class="post-link" data-wpel-link="internal">Новые уроки ноября: только топ-темы по программированию</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-09T23:24:11+00:00">9 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/schjot-idjot-na-chasy/" title="Счёт идёт на часы" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Счёт идёт на часы" title="Счёт идёт на часы" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-370x245.png 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/schjot-idjot-na-chasy/" class="post-link" data-wpel-link="internal">Счёт идёт на часы</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-10-30T15:04:59+00:00">30 октября, 2025</time>
</div>
</div>
</article >
</div>
</section>
</article> <!-- .the-post -->
</div>
<aside class="col-4 sidebar">
<div class="inner">
<ul>
<li id="search-2" class="widget widget_search"><h5 class="widget-title"><span>Поиск по блогу</span></h5>
<form method="get" class="search-form" action="https://otus.ru/journal/">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Введите запрос и нажмите Enter" value="" name="s" title="Search for:" />
</label>
<button type="submit" class="search-submit"><i class="fa fa-search"></i></button>
</form>
</li>
<li id="tag_cloud-5" class="widget widget_tag_cloud"><h5 class="widget-title"><span>Метки</span></h5><div class="tagcloud"><a href="https://otus.ru/journal/tag/android-2/" class="tag-cloud-link tag-link-74 tag-link-position-1" style="font-size: 12.472222222222pt;" aria-label="Android (34 элемента)" data-wpel-link="internal">Android</a>
<a href="https://otus.ru/journal/tag/c-3/" class="tag-cloud-link tag-link-91 tag-link-position-2" style="font-size: 10.916666666667pt;" aria-label="C (23 элемента)" data-wpel-link="internal">C</a>
<a href="https://otus.ru/journal/tag/c-2/" class="tag-cloud-link tag-link-81 tag-link-position-3" style="font-size: 12.666666666667pt;" aria-label="C# (35 элементов)" data-wpel-link="internal">C#</a>
<a href="https://otus.ru/journal/tag/c/" class="tag-cloud-link tag-link-20 tag-link-position-4" style="font-size: 12.472222222222pt;" aria-label="c++ (34 элемента)" data-wpel-link="internal">c++</a>
<a href="https://otus.ru/journal/tag/computer-science/" class="tag-cloud-link tag-link-209 tag-link-position-5" style="font-size: 15.972222222222pt;" aria-label="computer science (78 элементов)" data-wpel-link="internal">computer science</a>
<a href="https://otus.ru/journal/tag/css/" class="tag-cloud-link tag-link-288 tag-link-position-6" style="font-size: 8.6805555555556pt;" aria-label="CSS (13 элементов)" data-wpel-link="internal">CSS</a>
<a href="https://otus.ru/journal/tag/data-science/" class="tag-cloud-link tag-link-151 tag-link-position-7" style="font-size: 8pt;" aria-label="Data Science (11 элементов)" data-wpel-link="internal">Data Science</a>
<a href="https://otus.ru/journal/tag/devops/" class="tag-cloud-link tag-link-98 tag-link-position-8" style="font-size: 10.138888888889pt;" aria-label="devops (19 элементов)" data-wpel-link="internal">devops</a>
<a href="https://otus.ru/journal/tag/docker/" class="tag-cloud-link tag-link-143 tag-link-position-9" style="font-size: 8.2916666666667pt;" aria-label="Docker (12 элементов)" data-wpel-link="internal">Docker</a>
<a href="https://otus.ru/journal/tag/gamedev/" class="tag-cloud-link tag-link-25 tag-link-position-10" style="font-size: 11.694444444444pt;" aria-label="gamedev (28 элементов)" data-wpel-link="internal">gamedev</a>
<a href="https://otus.ru/journal/tag/hr/" class="tag-cloud-link tag-link-103 tag-link-position-11" style="font-size: 8pt;" aria-label="hr (11 элементов)" data-wpel-link="internal">hr</a>
<a href="https://otus.ru/journal/tag/html/" class="tag-cloud-link tag-link-217 tag-link-position-12" style="font-size: 11.208333333333pt;" aria-label="HTML (25 элементов)" data-wpel-link="internal">HTML</a>
<a href="https://otus.ru/journal/tag/ios/" class="tag-cloud-link tag-link-101 tag-link-position-13" style="font-size: 8.9722222222222pt;" aria-label="iOS (14 элементов)" data-wpel-link="internal">iOS</a>
<a href="https://otus.ru/journal/tag/it/" class="tag-cloud-link tag-link-50 tag-link-position-14" style="font-size: 10.527777777778pt;" aria-label="IT (21 элемент)" data-wpel-link="internal">IT</a>
<a href="https://otus.ru/journal/tag/java/" class="tag-cloud-link tag-link-75 tag-link-position-15" style="font-size: 15.680555555556pt;" aria-label="Java (73 элемента)" data-wpel-link="internal">Java</a>
<a href="https://otus.ru/journal/tag/javascript/" class="tag-cloud-link tag-link-83 tag-link-position-16" style="font-size: 14.319444444444pt;" aria-label="JavaScript (53 элемента)" data-wpel-link="internal">JavaScript</a>
<a href="https://otus.ru/journal/tag/linux/" class="tag-cloud-link tag-link-141 tag-link-position-17" style="font-size: 11.888888888889pt;" aria-label="Linux (29 элементов)" data-wpel-link="internal">Linux</a>
<a href="https://otus.ru/journal/tag/machine-learning/" class="tag-cloud-link tag-link-167 tag-link-position-18" style="font-size: 8.6805555555556pt;" aria-label="Machine Learning (13 элементов)" data-wpel-link="internal">Machine Learning</a>
<a href="https://otus.ru/journal/tag/otus-book/" class="tag-cloud-link tag-link-261 tag-link-position-19" style="font-size: 9.9444444444444pt;" aria-label="otus book (18 элементов)" data-wpel-link="internal">otus book</a>
<a href="https://otus.ru/journal/tag/php/" class="tag-cloud-link tag-link-45 tag-link-position-20" style="font-size: 10.527777777778pt;" aria-label="PHP (21 элемент)" data-wpel-link="internal">PHP</a>
<a href="https://otus.ru/journal/tag/python/" class="tag-cloud-link tag-link-27 tag-link-position-21" style="font-size: 16.944444444444pt;" aria-label="Python (99 элементов)" data-wpel-link="internal">Python</a>
<a href="https://otus.ru/journal/tag/qa/" class="tag-cloud-link tag-link-155 tag-link-position-22" style="font-size: 11.402777777778pt;" aria-label="qa (26 элементов)" data-wpel-link="internal">qa</a>
<a href="https://otus.ru/journal/tag/sql/" class="tag-cloud-link tag-link-38 tag-link-position-23" style="font-size: 12.861111111111pt;" aria-label="SQL (37 элементов)" data-wpel-link="internal">SQL</a>
<a href="https://otus.ru/journal/tag/team-lead/" class="tag-cloud-link tag-link-364 tag-link-position-24" style="font-size: 9.9444444444444pt;" aria-label="team lead (18 элементов)" data-wpel-link="internal">team lead</a>
<a href="https://otus.ru/journal/tag/unity/" class="tag-cloud-link tag-link-24 tag-link-position-25" style="font-size: 8pt;" aria-label="unity (11 элементов)" data-wpel-link="internal">unity</a>
<a href="https://otus.ru/journal/tag/algoritmy/" class="tag-cloud-link tag-link-30 tag-link-position-26" style="font-size: 9.9444444444444pt;" aria-label="Алгоритмы (18 элементов)" data-wpel-link="internal">Алгоритмы</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh/" class="tag-cloud-link tag-link-40 tag-link-position-27" style="font-size: 10.138888888889pt;" aria-label="Базы данных (19 элементов)" data-wpel-link="internal">Базы данных</a>
<a href="https://otus.ru/journal/tag/matematika/" class="tag-cloud-link tag-link-44 tag-link-position-28" style="font-size: 10.916666666667pt;" aria-label="Математика (23 элемента)" data-wpel-link="internal">Математика</a>
<a href="https://otus.ru/journal/tag/arhitektura-po/" class="tag-cloud-link tag-link-10 tag-link-position-29" style="font-size: 9.4583333333333pt;" aria-label="архитектура ПО (16 элементов)" data-wpel-link="internal">архитектура ПО</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh-2/" class="tag-cloud-link tag-link-251 tag-link-position-30" style="font-size: 10.138888888889pt;" aria-label="базы данных (19 элементов)" data-wpel-link="internal">базы данных</a>
<a href="https://otus.ru/journal/tag/vebinar/" class="tag-cloud-link tag-link-201 tag-link-position-31" style="font-size: 13.930555555556pt;" aria-label="вебинар (48 элементов)" data-wpel-link="internal">вебинар</a>
<a href="https://otus.ru/journal/tag/dajdzhest/" class="tag-cloud-link tag-link-308 tag-link-position-32" style="font-size: 10.722222222222pt;" aria-label="дайджест (22 элемента)" data-wpel-link="internal">дайджест</a>
<a href="https://otus.ru/journal/tag/zapis-vebinara/" class="tag-cloud-link tag-link-226 tag-link-position-33" style="font-size: 14.902777777778pt;" aria-label="запись вебинара (61 элемент)" data-wpel-link="internal">запись вебинара</a>
<a href="https://otus.ru/journal/tag/zapis-uroka/" class="tag-cloud-link tag-link-272 tag-link-position-34" style="font-size: 16.069444444444pt;" aria-label="запись урока (80 элементов)" data-wpel-link="internal">запись урока</a>
<a href="https://otus.ru/journal/tag/informacionnaya-bezopasnost/" class="tag-cloud-link tag-link-232 tag-link-position-35" style="font-size: 10.138888888889pt;" aria-label="информационная безопасность (19 элементов)" data-wpel-link="internal">информационная безопасность</a>
<a href="https://otus.ru/journal/tag/karera-v-it/" class="tag-cloud-link tag-link-292 tag-link-position-36" style="font-size: 9.9444444444444pt;" aria-label="карьера в IT (18 элементов)" data-wpel-link="internal">карьера в IT</a>
<a href="https://otus.ru/journal/tag/podborka/" class="tag-cloud-link tag-link-7 tag-link-position-37" style="font-size: 12.666666666667pt;" aria-label="подборка (35 элементов)" data-wpel-link="internal">подборка</a>
<a href="https://otus.ru/journal/tag/podborka-statej/" class="tag-cloud-link tag-link-219 tag-link-position-38" style="font-size: 15.777777777778pt;" aria-label="подборка статей (75 элементов)" data-wpel-link="internal">подборка статей</a>
<a href="https://otus.ru/journal/tag/programmirovanie/" class="tag-cloud-link tag-link-65 tag-link-position-39" style="font-size: 22pt;" aria-label="программирование (332 элемента)" data-wpel-link="internal">программирование</a>
<a href="https://otus.ru/journal/tag/proekt/" class="tag-cloud-link tag-link-321 tag-link-position-40" style="font-size: 11.888888888889pt;" aria-label="проект (29 элементов)" data-wpel-link="internal">проект</a>
<a href="https://otus.ru/journal/tag/proektnaya-rabota/" class="tag-cloud-link tag-link-310 tag-link-position-41" style="font-size: 11.597222222222pt;" aria-label="проектная работа (27 элементов)" data-wpel-link="internal">проектная работа</a>
<a href="https://otus.ru/journal/tag/seti/" class="tag-cloud-link tag-link-181 tag-link-position-42" style="font-size: 12.958333333333pt;" aria-label="сети (38 элементов)" data-wpel-link="internal">сети</a>
<a href="https://otus.ru/journal/tag/testirovanie/" class="tag-cloud-link tag-link-69 tag-link-position-43" style="font-size: 13.930555555556pt;" aria-label="тестирование (48 элементов)" data-wpel-link="internal">тестирование</a>
<a href="https://otus.ru/journal/tag/upravlenie-komandoj/" class="tag-cloud-link tag-link-63 tag-link-position-44" style="font-size: 11.694444444444pt;" aria-label="управление командой (28 элементов)" data-wpel-link="internal">управление командой</a>
<a href="https://otus.ru/journal/tag/habr-2/" class="tag-cloud-link tag-link-203 tag-link-position-45" style="font-size: 13.930555555556pt;" aria-label="хабр (48 элементов)" data-wpel-link="internal">хабр</a></div>
</li>
</ul>
</div>
</aside>
</div> <!-- .ts-row -->
</div> <!-- .main -->
<footer class="main-footer dark bold">
<section class="lower-footer cf">
<div class="wrap">
<div class="links">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
<p class="copyright"> © 2015-2026 OTUS </p>
<div class="to-top">
<a href="#" class="back-to-top"><i class="fa fa-angle-up"></i> Top</a>
</div>
</div>
</section>
</footer>
</div> <!-- .main-wrap -->
<div class="mobile-menu-container off-canvas" id="mobile-menu">
<a href="#" class="close"><i class="fa fa-times"></i></a>
<div class="logo">
</div>
<ul class="mobile-menu"></ul>
</div>
<div class="search-modal-wrap">
<div class="search-modal-box" role="dialog" aria-modal="true">
<form method="get" class="search-form" action="https://otus.ru/journal/">
<input type="search" class="search-field" name="s" placeholder="Search..." value="" required />
<button type="submit" class="search-submit visuallyhidden">Submit</button>
<p class="message">
Type above and press <em>Enter</em> to search. Press <em>Esc</em> to cancel. </p>
</form>
</div>
</div>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/js/url-span.js" id="wbcr-comments-plus-url-span-js"></script>
<script type="text/javascript" id="ez-toc-scroll-scriptjs-js-extra">
/* <![CDATA[ */
var eztoc_smooth_local = {"scroll_offset":"30"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/smooth_scroll.min.js" id="ez-toc-scroll-scriptjs-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.min.js" id="ez-toc-js-cookie-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.min.js" id="ez-toc-jquery-sticky-kit-js"></script>
<script type="text/javascript" id="ez-toc-js-js-extra">
/* <![CDATA[ */
var ezTOC = {"smooth_scroll":"1","visibility_hide_by_default":"","scroll_offset":"30","fallbackIcon":"<span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span>"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/front.min.js" id="ez-toc-js-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/custom-script.js" id="custom-script-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/magnific-popup.js" id="magnific-popup-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.fitvids.js" id="jquery-fitvids-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/imagesloaded.min.js" id="imagesloaded-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/object-fit-images.js" id="object-fit-images-js"></script>
<script type="text/javascript" id="contentberg-theme-js-extra">
/* <![CDATA[ */
var Bunyad = {"custom_ajax_url":"\/journal\/bazy-dannyh\/"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theme.js" id="contentberg-theme-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theia-sticky-sidebar.js" id="theia-sticky-sidebar-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.slick.js" id="jquery-slick-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jarallax.js" id="jarallax-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/masonry.min.js" id="masonry-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.masonry.min.js" id="jquery-masonry-js"></script>
</body>
</html>
<!-- Cache served by breeze CACHE - Last modified: Tue, 10 Mar 2026 01:31:40 GMT -->