1 added
1 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#статьи</a></p>
1
<p><a>#статьи</a></p>
2
<ul><li>6 мар 2023</li>
2
<ul><li>6 мар 2023</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>Разбираемся, как работает популярная СУБД от Oracle, какие у неё есть фишки и чем она отличается от других баз данных.</p>
4
</ul><p>Разбираемся, как работает популярная СУБД от Oracle, какие у неё есть фишки и чем она отличается от других баз данных.</p>
5
<p>Иллюстрация: Clay Banks / Unsplash / Annie для Skillbox Media</p>
5
<p>Иллюстрация: Clay Banks / Unsplash / Annie для Skillbox Media</p>
6
<p>Шеф-редактор Skillbox Media "Код". Пишет о разработке, софт-скиллах и культовых личностях в IT. Обожает Swift, продукты Apple и мемы про код.</p>
6
<p>Шеф-редактор Skillbox Media "Код". Пишет о разработке, софт-скиллах и культовых личностях в IT. Обожает Swift, продукты Apple и мемы про код.</p>
7
<p>Всё, что вы видите в интернете, состоит из данных: текста, фотографий, мемов, постов, переписок и так далее. Чтобы облегчить себе жизнь, разработчики придумали хранить всю эту информацию в базах данных. Но сама по себе база данных мало что умеет - по сути, это текстовый файлик, лежащий на сервере.</p>
7
<p>Всё, что вы видите в интернете, состоит из данных: текста, фотографий, мемов, постов, переписок и так далее. Чтобы облегчить себе жизнь, разработчики придумали хранить всю эту информацию в базах данных. Но сама по себе база данных мало что умеет - по сути, это текстовый файлик, лежащий на сервере.</p>
8
<p>Представьте, что вы пришли за какой-то книгой в библиотеку. Если просто начать кричать куда-то в стеллажи: "Дай мне "Гарри Поттера“", ничего не случится - разве что выйдет высоченный "товарищ" Джона Уика и придётся срочно искать томик русских народных сказок. Но если обратиться к библиотекарю, эффект будет гораздо лучше: он посмотрит каталог и быстро принесёт нужные книги.</p>
8
<p>Представьте, что вы пришли за какой-то книгой в библиотеку. Если просто начать кричать куда-то в стеллажи: "Дай мне "Гарри Поттера“", ничего не случится - разве что выйдет высоченный "товарищ" Джона Уика и придётся срочно искать томик русских народных сказок. Но если обратиться к библиотекарю, эффект будет гораздо лучше: он посмотрит каталог и быстро принесёт нужные книги.</p>
9
<p>Если переложить нашу аналогию на язык машин, то библиотекарь - это как раз система управления базами данных. И вот для чего она может пригодиться:</p>
9
<p>Если переложить нашу аналогию на язык машин, то библиотекарь - это как раз система управления базами данных. И вот для чего она может пригодиться:</p>
10
<ul><li>добавлять в базу новые данные;</li>
10
<ul><li>добавлять в базу новые данные;</li>
11
<li>искать данные по запросу пользователя;</li>
11
<li>искать данные по запросу пользователя;</li>
12
<li>вносить в данные изменения;</li>
12
<li>вносить в данные изменения;</li>
13
<li>защищать базы данных от взлома и копирования;</li>
13
<li>защищать базы данных от взлома и копирования;</li>
14
<li>создавать резервные копии и восстанавливать данные после сбоя;</li>
14
<li>создавать резервные копии и восстанавливать данные после сбоя;</li>
15
<li>сортировать данные с помощью фильтров и учитывая структуру БД.</li>
15
<li>сортировать данные с помощью фильтров и учитывая структуру БД.</li>
16
</ul><p>А теперь займёмся нашей Oracle DB.</p>
16
</ul><p>А теперь займёмся нашей Oracle DB.</p>
17
<p>Oracle DB - это культовая СУБД, разработанная ещё в семидесятые программистами Ларри Эллисоном и Бобом Майнером (которые, к слову, до этого работали на ЦРУ). Культовой её считают потому, что это первая коммерчески успешная СУБД, работающая по реляционной модели.</p>
17
<p>Oracle DB - это культовая СУБД, разработанная ещё в семидесятые программистами Ларри Эллисоном и Бобом Майнером (которые, к слову, до этого работали на ЦРУ). Культовой её считают потому, что это первая коммерчески успешная СУБД, работающая по реляционной модели.</p>
18
Создатели базы данных Oracle DB через год после запуска первой версии СУБД<em>Фото: Computer History Museum</em><p><strong>"Реляционная"</strong>означает, что все записи в базе данных упорядочены в виде таблиц. Раньше было не так: банки и крупные госучреждения хранили данные как попало - во множестве разных файликов без единой системы. Связи между файликами тоже не было - то есть если у какого-то клиента менялся, например, номер телефона, приходилось менять это вручную и сразу везде.</p>
18
Создатели базы данных Oracle DB через год после запуска первой версии СУБД<em>Фото: Computer History Museum</em><p><strong>"Реляционная"</strong>означает, что все записи в базе данных упорядочены в виде таблиц. Раньше было не так: банки и крупные госучреждения хранили данные как попало - во множестве разных файликов без единой системы. Связи между файликами тоже не было - то есть если у какого-то клиента менялся, например, номер телефона, приходилось менять это вручную и сразу везде.</p>
19
<p>А тут пришли очкастые программисты из Oracle и, вооружившись модной тогда реляционной моделью, разложили всё по полочкам. А точнее, по таблицам. Идея в том, что таблицы в реляционных БД связаны между собой специальными ключами - если добавить или удалить что-то в одной, все остальные таблицы об этом узнают и сами обновятся.</p>
19
<p>А тут пришли очкастые программисты из Oracle и, вооружившись модной тогда реляционной моделью, разложили всё по полочкам. А точнее, по таблицам. Идея в том, что таблицы в реляционных БД связаны между собой специальными ключами - если добавить или удалить что-то в одной, все остальные таблицы об этом узнают и сами обновятся.</p>
20
<p>Вот как выглядит реляционная база данных на примере университетской ведомости с оценками:</p>
20
<p>Вот как выглядит реляционная база данных на примере университетской ведомости с оценками:</p>
21
<em>Изображение: Skillbox Media</em><p>Обратите внимание: в таблице "Оценки за экзамены" нет данных о студентах и предметах - только ссылки на их ID. Если Вася Иванов, к примеру, перейдёт в другую группу, нам нужно будет поправить это только в одной таблице - "Студенты". Во всех остальных таблицах данные обновятся автоматически.</p>
21
<em>Изображение: Skillbox Media</em><p>Обратите внимание: в таблице "Оценки за экзамены" нет данных о студентах и предметах - только ссылки на их ID. Если Вася Иванов, к примеру, перейдёт в другую группу, нам нужно будет поправить это только в одной таблице - "Студенты". Во всех остальных таблицах данные обновятся автоматически.</p>
22
<p>Со временем данные стали усложняться и простых записей в табличках стало не хватать. Поэтому Oracle добавила своей СУБД фишки<strong>объектной модели</strong>. Теперь появилась возможность хранить данные в виде объектов - сущностей, которые могут содержать много разных свойств и передавать их друг другу.</p>
22
<p>Со временем данные стали усложняться и простых записей в табличках стало не хватать. Поэтому Oracle добавила своей СУБД фишки<strong>объектной модели</strong>. Теперь появилась возможность хранить данные в виде объектов - сущностей, которые могут содержать много разных свойств и передавать их друг другу.</p>
23
<p>Например, вот как будет выглядеть та же самая база данных с оценками, если записи в ней организовать по объектной модели:</p>
23
<p>Например, вот как будет выглядеть та же самая база данных с оценками, если записи в ней организовать по объектной модели:</p>
24
<em>Изображение: Skillbox Media</em><p>Формально Oracle DB правильнее называть<strong>объектно-реляционной</strong>СУБД. То есть она позволяет реализовать сразу два подхода: хочешь простой сайт или блог - используй реляционные таблички; нужна сложная логика для какой-нибудь ERP-системы - можно заморочиться с объектной структурой.</p>
24
<em>Изображение: Skillbox Media</em><p>Формально Oracle DB правильнее называть<strong>объектно-реляционной</strong>СУБД. То есть она позволяет реализовать сразу два подхода: хочешь простой сайт или блог - используй реляционные таблички; нужна сложная логика для какой-нибудь ERP-системы - можно заморочиться с объектной структурой.</p>
25
<p>В основе работы Oracle DB лежит клиент-серверная модель. Суть у неё простая:</p>
25
<p>В основе работы Oracle DB лежит клиент-серверная модель. Суть у неё простая:</p>
26
<ul><li>Есть сервер, где хранятся данные, и система, которая ими управляет.</li>
26
<ul><li>Есть сервер, где хранятся данные, и система, которая ими управляет.</li>
27
<li>Есть клиент, который хочет эти данные получить или, наоборот, записать. В интернете клиентом выступает обычный браузер - он умеет превращать клики пользователей на сайте в серверные запросы.</li>
27
<li>Есть клиент, который хочет эти данные получить или, наоборот, записать. В интернете клиентом выступает обычный браузер - он умеет превращать клики пользователей на сайте в серверные запросы.</li>
28
</ul><p>Фишка клиент-серверной модели в том, что вся работа с данными вынесена на сервер - пользователю не нужно держать у себя на компьютере копию базы данных. Достаточно скачать приложение-клиент и пулять себе запросы к серверу в любое время дня и ночи, чтобы получить нужные мемы с котами.</p>
28
</ul><p>Фишка клиент-серверной модели в том, что вся работа с данными вынесена на сервер - пользователю не нужно держать у себя на компьютере копию базы данных. Достаточно скачать приложение-клиент и пулять себе запросы к серверу в любое время дня и ночи, чтобы получить нужные мемы с котами.</p>
29
<p>На самом сервере тоже всё хитро: помимо данных, которые физически лежат на диске, есть ещё процессы, которые этими данными управляют. Набор всех процессов в СУБД Oracle DB называют<strong>экземпляром</strong> - по сути, это программная оболочка для файлов, которая существует только в оперативке сервера. Если выключить сервер из розетки, экземпляр удалится, а сами файлы с данными останутся.</p>
29
<p>На самом сервере тоже всё хитро: помимо данных, которые физически лежат на диске, есть ещё процессы, которые этими данными управляют. Набор всех процессов в СУБД Oracle DB называют<strong>экземпляром</strong> - по сути, это программная оболочка для файлов, которая существует только в оперативке сервера. Если выключить сервер из розетки, экземпляр удалится, а сами файлы с данными останутся.</p>
30
<p>Допустим, вы зашли на популярный маркетплейс, чтобы купить кроссовки. Вот как будет выглядеть серверная логика, если под капотом маркетплейса Oracle DB:</p>
30
<p>Допустим, вы зашли на популярный маркетплейс, чтобы купить кроссовки. Вот как будет выглядеть серверная логика, если под капотом маркетплейса Oracle DB:</p>
31
<ul><li>Вы кладёте кроссовки в корзину и нажимаете кнопку "Купить".</li>
31
<ul><li>Вы кладёте кроссовки в корзину и нажимаете кнопку "Купить".</li>
32
<li>Ваш браузер посылает запрос о покупке на сервер.</li>
32
<li>Ваш браузер посылает запрос о покупке на сервер.</li>
33
<li>На сервере работает специальный драйвер Oracle Net Services - он видит запрос от браузера и выделяет под него отдельный процесс.</li>
33
<li>На сервере работает специальный драйвер Oracle Net Services - он видит запрос от браузера и выделяет под него отдельный процесс.</li>
34
<li>Серверный процесс "звонит" экземпляру БД и говорит: "Эй, есть задачка от клиента, возьмёшь в работу асап?"</li>
34
<li>Серверный процесс "звонит" экземпляру БД и говорит: "Эй, есть задачка от клиента, возьмёшь в работу асап?"</li>
35
<li>Экземпляр такой: "Ага" - и запускает процесс записи в базу данных.</li>
35
<li>Экземпляр такой: "Ага" - и запускает процесс записи в базу данных.</li>
36
<li>В результате в базе данных появляется строчка "Пользователь ID №1 взял товар ID №2 в таком-то количестве".</li>
36
<li>В результате в базе данных появляется строчка "Пользователь ID №1 взял товар ID №2 в таком-то количестве".</li>
37
<li>Когда запись закончена, сервер отправляет по сетям запрос обратно и вы видите сообщение "Спасибо за покупку!".</li>
37
<li>Когда запись закончена, сервер отправляет по сетям запрос обратно и вы видите сообщение "Спасибо за покупку!".</li>
38
</ul><p>Всеми этими процессами, начиная от получения запроса на сервере и заканчивая отправкой ответа, как раз и управляет Oracle.</p>
38
</ul><p>Всеми этими процессами, начиная от получения запроса на сервере и заканчивая отправкой ответа, как раз и управляет Oracle.</p>
39
<p>Как мы выяснили, СУБД Oracle состоит из двух сущностей: самой базы данных и её экземпляра. То есть из файлов на диске и процессов в оперативной памяти сервера. Вот чем они различаются:</p>
39
<p>Как мы выяснили, СУБД Oracle состоит из двух сущностей: самой базы данных и её экземпляра. То есть из файлов на диске и процессов в оперативной памяти сервера. Вот чем они различаются:</p>
40
<strong>База данных: файлы</strong><strong>Экземпляр: процессы</strong><strong>Файлы данных.</strong>Всё, что физически лежит в базе данных: картинки, текст, транзакции и так далее.<p><strong>Управляющий файл.</strong>Здесь хранится самая важная информация о БД: имя, время создания, расположение других файлов и так далее.</p>
40
<strong>База данных: файлы</strong><strong>Экземпляр: процессы</strong><strong>Файлы данных.</strong>Всё, что физически лежит в базе данных: картинки, текст, транзакции и так далее.<p><strong>Управляющий файл.</strong>Здесь хранится самая важная информация о БД: имя, время создания, расположение других файлов и так далее.</p>
41
<p><strong>Журналы активности.</strong>Всё, что происходит с БД: запись, чтение, удаление и так далее.</p>
41
<p><strong>Журналы активности.</strong>Всё, что происходит с БД: запись, чтение, удаление и так далее.</p>
42
<p><strong>Резервные копии.</strong>Чтобы можно было восстановиться в случае форс-мажоров</p>
42
<p><strong>Резервные копии.</strong>Чтобы можно было восстановиться в случае форс-мажоров</p>
43
"Записать в базу данных".<p>"Записать в журнал активности".</p>
43
"Записать в базу данных".<p>"Записать в журнал активности".</p>
44
<p>"Создать резервную копию".</p>
44
<p>"Создать резервную копию".</p>
45
<p>"Восстановиться из резервной копии".</p>
45
<p>"Восстановиться из резервной копии".</p>
46
<p>"Поставить запрос в очередь".</p>
46
<p>"Поставить запрос в очередь".</p>
47
<p>"Заархивировать данные в базе".</p>
47
<p>"Заархивировать данные в базе".</p>
48
<p>"Провести диагностику данных".</p>
48
<p>"Провести диагностику данных".</p>
49
<p>"Очистить кэш в буфере обмена".</p>
49
<p>"Очистить кэш в буфере обмена".</p>
50
<p>Мы не зря в этом разделе остановились на разнице между базой данных и экземпляром - именно в ней и заключается скрытая мощь Oracle DB.</p>
50
<p>Мы не зря в этом разделе остановились на разнице между базой данных и экземпляром - именно в ней и заключается скрытая мощь Oracle DB.</p>
51
<p>Чтобы сайт быстрее обрабатывал запросы пользователей и лучше справлялся с нагрузкой, ему обычно докупают дополнительное серверное "железо" - в айтишном мире это называется масштабированием. И важно, чтобы эти серверы работали сообща - быстро, бесшовно и не мешая друг другу.</p>
51
<p>Чтобы сайт быстрее обрабатывал запросы пользователей и лучше справлялся с нагрузкой, ему обычно докупают дополнительное серверное "железо" - в айтишном мире это называется масштабированием. И важно, чтобы эти серверы работали сообща - быстро, бесшовно и не мешая друг другу.</p>
52
<p>А в Oracle DB как раз есть утилиты, которые позволяют экземплярам на разных машинах работать с одной базой данных. Если упадёт один какой-то сервер, его работу подхватит другой и начнёт с того же места. Причём это произойдёт абсолютно незаметно для пользователя. Да что там сервер - если ваша БД крутится в нескольких дата-центрах, то выход из строя одного из них не скажется на работе всей БД.</p>
52
<p>А в Oracle DB как раз есть утилиты, которые позволяют экземплярам на разных машинах работать с одной базой данных. Если упадёт один какой-то сервер, его работу подхватит другой и начнёт с того же места. Причём это произойдёт абсолютно незаметно для пользователя. Да что там сервер - если ваша БД крутится в нескольких дата-центрах, то выход из строя одного из них не скажется на работе всей БД.</p>
53
-
<p>То есть здесь мы убиваем сразу трёх зайцев: и скорость сайта повышаем, и страхуем себя на случай поломки, и обслуживание удешевляем - можно безболезненно отключить какой-то сервер, если он потребует ремонта.</p>
53
+
<p>То есть здесь мы убиваем сразу трёх зайцев: и скорость сайта повышаем, и страхуем себя на случай поломки, и обслуживание удешевляем - м��жно безболезненно отключить какой-то сервер, если он потребует ремонта.</p>
54
<p>За всю эту магию в Oracle DB отвечают три функции:</p>
54
<p>За всю эту магию в Oracle DB отвечают три функции:</p>
55
<p>Oracle RAC<strong>.</strong>RAC в переводе с английского означает "кластеризация". Идея в том, что мы создаём кластер машин, работающих с одной БД.</p>
55
<p>Oracle RAC<strong>.</strong>RAC в переводе с английского означает "кластеризация". Идея в том, что мы создаём кластер машин, работающих с одной БД.</p>
56
<p>Oracle Streams<strong>.</strong>Утилита, которая отвечает за обмен информацией между базами данных, она нужна, чтобы серверы работали синхронно.</p>
56
<p>Oracle Streams<strong>.</strong>Утилита, которая отвечает за обмен информацией между базами данных, она нужна, чтобы серверы работали синхронно.</p>
57
<p>Oracle Data Guard<strong>.</strong>Механика здесь простая: есть главный сервер, а есть вспомогательные, в которые периодически делаются бэкапы из главного.</p>
57
<p>Oracle Data Guard<strong>.</strong>Механика здесь простая: есть главный сервер, а есть вспомогательные, в которые периодически делаются бэкапы из главного.</p>
58
<p>Обычно запросы в реляционных СУБД пишут на языке SQL, эта аббревиатура так и расшифровывается - "язык структурированных запросов". С его помощью можно делать с данными в базе что угодно: добавлять, удалять, группировать, настраивать доступ для разных пользователей и так далее.</p>
58
<p>Обычно запросы в реляционных СУБД пишут на языке SQL, эта аббревиатура так и расшифровывается - "язык структурированных запросов". С его помощью можно делать с данными в базе что угодно: добавлять, удалять, группировать, настраивать доступ для разных пользователей и так далее.</p>
59
<p>Например, если мы хотим посмотреть всех подписчиков Skillbox Media "Код", живущих в Москве, запрос на языке SQL будет выглядеть так:</p>
59
<p>Например, если мы хотим посмотреть всех подписчиков Skillbox Media "Код", живущих в Москве, запрос на языке SQL будет выглядеть так:</p>
60
select * from Subscribers // выбрать из таблицы "Подписчики" WHERE City = 'Moscow'// читателей, живущих в Москве.<p>Как видно из примера, SQL максимально похож на обычный человеческий язык: выбери то, достань это, положи сюда и так далее. Именно благодаря своей простоте и естественности SQL и стал популярен - сейчас ни одно действие в интернете не обходится без запросов на этом языке.</p>
60
select * from Subscribers // выбрать из таблицы "Подписчики" WHERE City = 'Moscow'// читателей, живущих в Москве.<p>Как видно из примера, SQL максимально похож на обычный человеческий язык: выбери то, достань это, положи сюда и так далее. Именно благодаря своей простоте и естественности SQL и стал популярен - сейчас ни одно действие в интернете не обходится без запросов на этом языке.</p>
61
<p>Но Oracle пошла дальше и выпустила свой диалект языка SQL - называется PL/SQL. Дословно это переводится как "процедурная надстройка для SQL". С его помощью можно собрать сразу много запросов в одном блоке кода и написать для них сложную логику поведения.</p>
61
<p>Но Oracle пошла дальше и выпустила свой диалект языка SQL - называется PL/SQL. Дословно это переводится как "процедурная надстройка для SQL". С его помощью можно собрать сразу много запросов в одном блоке кода и написать для них сложную логику поведения.</p>
62
<p>Например, так выглядит код для добавления книги в библиотечный каталог:</p>
62
<p>Например, так выглядит код для добавления книги в библиотечный каталог:</p>
63
SQL> DECLARE isbn NUMBER(9) BEGIN isbn := 123456789; insert into book values (isbn, 'databases', 59.99); COMMIT; END; SQL><p>Всего за время существования Oracle DB вышло более 20 версий этой СУБД. Каждая новая версия знаменовала какую-то новую веху в становлении компьютеров: сначала добавили поддержку языка SQL, потом - разделение на клиент и сервер, чуть позже реализовали объектную модель и экземпляры. А в девяностые наконец доползли до интернета и веб-серверов.</p>
63
SQL> DECLARE isbn NUMBER(9) BEGIN isbn := 123456789; insert into book values (isbn, 'databases', 59.99); COMMIT; END; SQL><p>Всего за время существования Oracle DB вышло более 20 версий этой СУБД. Каждая новая версия знаменовала какую-то новую веху в становлении компьютеров: сначала добавили поддержку языка SQL, потом - разделение на клиент и сервер, чуть позже реализовали объектную модель и экземпляры. А в девяностые наконец доползли до интернета и веб-серверов.</p>
64
<p>Историю развития Oracle DB в версиях можно посмотреть на этом таймлайне:</p>
64
<p>Историю развития Oracle DB в версиях можно посмотреть на этом таймлайне:</p>
65
<em>Инфографика: Майя Мальгина для Skillbox Media</em><p>Последняя версия под кодовым названием 21c вышла в 2021 году. Туда разработчики зашили целых 200 новых функций, среди которых поддержка<a>блокчейна</a>,<a>языка JavaScript</a>, JSON-пакетов, фишек для машинного обучения прямо в базе данных и других радостей. Подробнее обо всех нововведениях можно почитать в <a>блоге компании</a>.</p>
65
<em>Инфографика: Майя Мальгина для Skillbox Media</em><p>Последняя версия под кодовым названием 21c вышла в 2021 году. Туда разработчики зашили целых 200 новых функций, среди которых поддержка<a>блокчейна</a>,<a>языка JavaScript</a>, JSON-пакетов, фишек для машинного обучения прямо в базе данных и других радостей. Подробнее обо всех нововведениях можно почитать в <a>блоге компании</a>.</p>
66
<p>Поставляется Oracle DB в четырёх редакциях:</p>
66
<p>Поставляется Oracle DB в четырёх редакциях:</p>
67
<ul><li><strong>Standard Edition 2.</strong>Версия для небольших веб-приложений - многие функции урезаны или доступны за дополнительную плату.</li>
67
<ul><li><strong>Standard Edition 2.</strong>Версия для небольших веб-приложений - многие функции урезаны или доступны за дополнительную плату.</li>
68
<li><strong>Enterprise Edition.</strong>Вариант для больших компаний, развивающих ресурсоёмкие проекты - например, банки и крупные маркетплейсы. Доступен полный набор фишек для масштабирования, включая RAC.</li>
68
<li><strong>Enterprise Edition.</strong>Вариант для больших компаний, развивающих ресурсоёмкие проекты - например, банки и крупные маркетплейсы. Доступен полный набор фишек для масштабирования, включая RAC.</li>
69
<li><strong>Express Edition.</strong>Бесплатная версия, заточенная на скорость - можно быстро скачать, установить и сразу начать пользоваться. Правда, хранить можно всего 11 ГБ пользовательских данных.</li>
69
<li><strong>Express Edition.</strong>Бесплатная версия, заточенная на скорость - можно быстро скачать, установить и сразу начать пользоваться. Правда, хранить можно всего 11 ГБ пользовательских данных.</li>
70
<li><strong>Personal Edition.</strong>Для разработчиков, которые хотят протестировать какие-то фишки у себя на компьютере, прежде чем внедрить их в проект.</li>
70
<li><strong>Personal Edition.</strong>Для разработчиков, которые хотят протестировать какие-то фишки у себя на компьютере, прежде чем внедрить их в проект.</li>
71
</ul><p>Секрет успеха Oracle в том, что компания одной из первых придумала, как сделать реляционные базы данных дешёвыми и по-настоящему массовыми. В отличие, например, от решний IBM, Oracle DB не требовала мощного железа и могла запускаться на совсем маленьких и бюджетных машинах вроде PDP-11.</p>
71
</ul><p>Секрет успеха Oracle в том, что компания одной из первых придумала, как сделать реляционные базы данных дешёвыми и по-настоящему массовыми. В отличие, например, от решний IBM, Oracle DB не требовала мощного железа и могла запускаться на совсем маленьких и бюджетных машинах вроде PDP-11.</p>
72
<em>Фото: Kenneth Martin / Flickr</em><p>Если добавить к этому поддержку клиент-серверной архитектуры, становится понятно, почему система полюбилась бизнесу. Ещё бы: ведь она позволила компаниям строить большие распределённые системы, которые работают на недорогих машинах, да ещё и обмениваются данными со скоростью света.</p>
72
<em>Фото: Kenneth Martin / Flickr</em><p>Если добавить к этому поддержку клиент-серверной архитектуры, становится понятно, почему система полюбилась бизнесу. Ещё бы: ведь она позволила компаниям строить большие распределённые системы, которые работают на недорогих машинах, да ещё и обмениваются данными со скоростью света.</p>
73
<p>Со временем Oracle DB стала негласным стандартом в тех сферах, где важна стабильность при высокой нагрузке: госсектор, финансы, страхование и так далее. Например, Oracle используют почти все компании из списка Fortune 500 - а это и Apple, и Walmart, и Samsung, и куча других гигантов. Среди российских клиентов отметим Сбербанк, МТС, ЦБ РФ, Ростелеком.</p>
73
<p>Со временем Oracle DB стала негласным стандартом в тех сферах, где важна стабильность при высокой нагрузке: госсектор, финансы, страхование и так далее. Например, Oracle используют почти все компании из списка Fortune 500 - а это и Apple, и Walmart, и Samsung, и куча других гигантов. Среди российских клиентов отметим Сбербанк, МТС, ЦБ РФ, Ростелеком.</p>
74
<p>Вот десятка самых популярных баз данных на май 2022 года - Oracle DB на первом месте с 32 процентами рынка:</p>
74
<p>Вот десятка самых популярных баз данных на май 2022 года - Oracle DB на первом месте с 32 процентами рынка:</p>
75
Самые популярные базы данных в мире на май 2022 года<em>Инфографика: Майя Мальгина для Skillbox Media</em><p><strong>Ложка дёгтя.</strong>Со временем популярность Oracle DB сыграла с компанией злую шутку. Клиентская база росла, затраты на поддержку тоже, и постепенно Oracle DB стала очень дорогим продуктом. Например, стоимость лицензии на сервер с 16-ядерным процессором может доходить до 1,6 млн рублей в год - а запустить полноценный дата-центр на Oracle DB вообще стоит целое состояние.</p>
75
Самые популярные базы данных в мире на май 2022 года<em>Инфографика: Майя Мальгина для Skillbox Media</em><p><strong>Ложка дёгтя.</strong>Со временем популярность Oracle DB сыграла с компанией злую шутку. Клиентская база росла, затраты на поддержку тоже, и постепенно Oracle DB стала очень дорогим продуктом. Например, стоимость лицензии на сервер с 16-ядерным процессором может доходить до 1,6 млн рублей в год - а запустить полноценный дата-центр на Oracle DB вообще стоит целое состояние.</p>
76
<p>Oracle DB - это флагман на рынке коммерческих баз данных. Благодаря скорости и безопасности она хорошо подходит для работы с высоконагруженными проектами, которые обрабатывают запросы миллионов пользователей. Обратная сторона - высокая стоимость обслуживания.</p>
76
<p>Oracle DB - это флагман на рынке коммерческих баз данных. Благодаря скорости и безопасности она хорошо подходит для работы с высоконагруженными проектами, которые обрабатывают запросы миллионов пользователей. Обратная сторона - высокая стоимость обслуживания.</p>
77
<p>Если вы ищете базу данных для небольшого сайта или интернет-магазина, лучше присмотреться к похожим open-source-решениям - тем же MongoDB и PostgreSQL. Как правило, базовые функции там бесплатные, а расширенные докупить будет дешевле, чем накатить полноценную СУБД от Oracle.</p>
77
<p>Если вы ищете базу данных для небольшого сайта или интернет-магазина, лучше присмотреться к похожим open-source-решениям - тем же MongoDB и PostgreSQL. Как правило, базовые функции там бесплатные, а расширенные докупить будет дешевле, чем накатить полноценную СУБД от Oracle.</p>
78
<a>Курс с трудоустройством: "Профессия Java-разработчик + ИИ" Узнать о курсе</a>
78
<a>Курс с трудоустройством: "Профессия Java-разработчик + ИИ" Узнать о курсе</a>