Время на прочтение
10 мин
Количество просмотров 33K
До середины 70-х годов информация в базах данных распределялась по старинному иерархическому, или «древовидному», принципу, который до сих пор используется в настольных операционных системах.
Первые прототипы реляционных СУБД существовали уже в 70-е годы ХХ века. Однако мало кто верил в возможность добиться эффективной реализации таких систем. Тем не менее, к концу 1980-х годов реляционные системы заняли на мировом рынке СУБД доминирующее положение.
В связи с этим многие компании стали позиционировать свои СУБД как «реляционные» в рекламных целях. Но далеко не всегда они имели для этого достаточно оснований. Поэтому автор реляционной модели данных Эдгар Кодд в 1985 году опубликовал свои знаменитые «12 правил Кодда», которым должна удовлетворять каждая РСУБД.
Одним из первых прототипов реляционных баз данных была система System R. Это проект компании IBM, который появился в 1976 году. Он вдохновил будущих основателей Oracle на создание собственной реляционной СУБД, но сам так и не получил коммерческого успеха.
Главным среди создателей Oracle был Ларри Эллисон, который вместе с Бобом Майнером и Эдом Оутсом до Oracle работал над проектом для ЦРУ. В ряде источников говорится, что ему было присвоено кодовое наименование «Oracle». В 1977 году молодой программист Ларри Эллисон бросил учебу в Йельском университете, чтобы начать собственный бизнес. В распоряжении Ларри Эллисона тогда было всего $1200. Он уговорил вложиться двух указанных выше друзей, но стартовый капитал от этого вырос всего на $500.
16 июня 1977 года Эдом Оутсом, Бобом Майнером и Ларри Эллисоном в Калифорнии (США) была основана компания Software Development Laboratories, вскоре переименованная в Relational Software Inc. Молодые программисты начали разработку системы управления базами данных (СУБД), построенной на принципах реляционной алгебры.
Oracle 2
Первая коммерческая версия СУБД Oracle получила название Oracle 2. Такой ход должен был дать заказчикам понять, что система надежна и даже прошла проверку временем.
В конце 70-х главным конкурентным преимуществом СУБД Oracle была высокая скорость обработки огромных массивов информации, которую отметили все эксперты. В отличие от System R, для работы которой был необходим мощный суперкомпьютер — мейнфрейм, Oracle 2 справлялась с обработкой информации на более «миниатюрных» машинах. Эти и другие преимущества привели к тому, что в начале 80-х годов СУБД начала стремительно распространяться.
У Эллисона с коллегами возникли сложности при реализации совместимости с СУБД IBM System R. Нежелание IBM раскрывать исходные коды стало ключевой проблемой. В результате совместимости между двумя системами так и не удалось достичь.
Ларри Эллисон — основатель Oracle
Oracle стала исторически первой и одной из наиболее развитых реализаций архитектуры клиент/сервер. Переносимость и масштабируемость всегда имели высокий приоритет у разработчиков Oracle. Это сыграло ключевую роль в достижении успеха компании на рынке СУБД.
Oracle 2 работала на мини-компьютере PDP-11 фирмы Digital Equipment в операционной среде RSX-11. Большая часть Oracle была написана на ассемблере PDP-11, а отдельные компоненты — на новом для того времени языке C. Уже в те дни система была портируемой и работала в других операционных средах PDP-11: IAS, RSTS и UNIX. Тогда же было принято решение о переносе Oracle в новую ОС VMS. Благодаря этому СУБД Oracle заняла обширную нишу корпоративных информационных систем на быстро растущем рынке VAX.
Еще одной важной особенностью системы стала полная реализация возможностей нового языка запросов SQL — подзапросы, операция соединения и так далее. Благодаря этому многократно выросла производительность труда SQL-программистов.
Стандартный SQL (IBM) был расширен операцией CONNECT BY, позволяющим обрабатывать древовидные структуры, что становится уникальным для SQL-систем.
Конечно, над СУБД нужно было еще долго работать. В Oracle 2, например, не поддерживались транзакции: если в процессе обновления базы данных происходил сбой, предыдущее состояние БД восстановить было практически невозможно. Поэтому пользователи были вынуждены часто делать резервные копии базы данных во избежание потерь информации.
29 октября 1982 года компания переименована в Oracle Systems.
Oracle 3 и 4
В 1983 году на рынок вышла Oracle 3. Она была полностью переписана на С. Это во многом помогло решить проблему переносимости Oracle на широкий спектр платформ – их тогда было не менее 20. Кроме того, было реализовано атомарное выполнение транзакций: операция либо выполнялась полностью, либо не выполнялась вообще, соответственно, транзакция либо завершалась успешно по всем изменениям базы данных, либо откатывала все сделанные ею изменения.
С выходом Oracle 4 система была портирована на большие компьютеры c ОС VM и MVS, а также на персональный компьютер с 640 килобайтами оперативной памяти.
Также была реализована модель контроля доступа к базе данных, которая гарантировала, что результат запроса не противоречит состоянию базы данных на начало запроса. Благодаря этому было устранено известное противоречие между процессами чтения и записи.
Oracle 5
В 1985 году Oracle выпустила на рынок версию 5.0, в которой была впервые введена архитектура клиент/сервер. Кроме того, компания выпустила SQL*Net – сетевой продукт, обеспечивающий прозрачное соединение между клиентом и базой данных или между двумя базами данных.
В версии 5.1 были впервые реализованы распределенные запросы — это давало возможность обращаться к данным, физически размещенным в разных узлах. Несколько взаимодействующих серверов могли создать у пользователя многих физически разнесенных баз данных иллюзию единой логической базы данных.
12 марта 1986 года состоялось первичное публичное размещение акций Oracle Corporation. Высокие темпы роста позволили Oracle выйти на IPO с прибылью в $55 миллионов в 1986 году и всего за три года удесятерить прибыль до $584 миллиона.
Oracle 6
Разработчики версии 6 стремились создать инструмент построения крупномасштабных информационных систем, ориентированных на обработку транзакций в режиме реального времени.
Были введены генераторы последовательностей и блокировка на уровне записи. В это же время Oracle стал первым многопользовательским сетевым сервером баз данных для OS/2, Xenix, Banyan Vines и Macintosh.
В версии 6 были заложены принципиально новые возможности, в полном объеме реализованные позже:
- SQL-запросы могли использоваться совместно с конструкциями процедурного языка PL/SQL и посылаться для исполнения на сервер как анонимные процедуры;
- язык PL/SQL стал использоваться в SQL*Forms в качестве средства программирования приложений;
- в описание схемы базы данных на синтаксическом уровне были введены (в соответствии с ANSI/ISO-стандартом) декларативные определения ограничений ссылочной целостности.
Кризис
В 1990 году компания столкнулась с серьезными проблемами, сообщив о значительных убытках. Эллисону пришлось уволить более 400 сотрудников для сокращения издержек. Он также распустил практически весь топ-менеджмент, в числе которого были близкие Ларри люди, в течение 10 лет вместе с ним приумножавшие славу и благосостояние Oracle. Ларри оставил в компании Боба Майнера, которого всегда считал одаренным программистом и просто хорошим добрым человеком.
Столь жесткие методы Ларри объяснил так:
Мы были самой быстрорастущей компанией в истории компьютерной индустрии, но внезапно зашли в тупик и стали биться головой о стену, – сказал он. – Мы достигли миллиардного дохода, но столкнулись с практически неразрешимыми проблемами управления. Дело в том, что люди, управлявшие миллиардной компанией, остались такими же, как в те времена, когда наша компания стоила $15 миллионов. Я испытывал невероятное чувство признательности всем, кто работал со мной, всем, с кем вместе мы создавали Oracle. Но у меня не было выбора. Я должен был уволить их, понимая, что если этого не сделать, то вскоре просто не будет никакого Oracle. Я чувствовал, прежде всего, ответственность перед всей компанией, перед всем персоналом, всеми акционерами и клиентами.
Кроме того, из-за совершенных ошибок в регистрации продаж и учёта ещё не прошедших сделок в бухгалтерских документах у Oracle возникли сложности с регуляторами на местном рынке.
В результате Oracle оказалась близка к банкротству, а такие конкуренты, как Informix и Sybase, начали медленно увеличивать свою долю на рынке.
На тот момент конкуренция между крупными игроками рынка достигла своего апогея — 90-ые могли запомниться многим, как период рекламной войны Oracle и Informix. Так, последняя выкупила билборд рядом с офисом Oracle и разместила на нем надпись «Осторожно, динозавры переходят дорогу», намекая на устаревшие технологии Oracle.
Однако Ларри все-таки нашел решение: он сформировал новый управленческий штат, который был «натаскан» на громадные объемы производства и жесткую конкуренцию. В результате через определенное время Oracle снова вернулась на прежние высоты.
А в 1992 году релиз Oracle 7 окончательно изменил ситуацию в лучшую сторону.
Oracle 7
Помимо общего повышения эффективности ввода/вывода, использования центрального процессора и работы с памятью, версия СУБД Oracle 7 обладала рядом инновационных архитектурных решений:
- разделяемый SQL-кэш на сервере: сервер распознает посылаемые клиентами SQL-запросы, которые ранее уже были проанализированы и скомпилированы и в данный момент находятся в кэш-памяти, за счет чего экономится время анализа, оптимизации и трансляции, а также память, требуемая для хранения SQL-запросов;
- разделяемый пул процессов сервера вместо отдельного процесса для каждого клиента, что позволяет сэкономить значительный объем памяти.
В области администрирования баз данных также был введен ряд новшеств: зеркальный журнал транзакций, динамическое создание журналов данных, команда ANALYZE, позволяющая собирать статистику об использовании таблиц, индексов и других физических объектов, профили пользователей на использование системных ресурсов – ЦПУ, ввода/вывода и так далее.
В версии 7 были полностью реализованы декларативные ограничения ссылочной целостности в соответствии со стандартами ANSI/ISO. В рамках этих ограничений (первичные и внешние ключи) пользователь мог специфицировать каскадное удаление связанных с некоторым первичным ключом записей. Процедуры PL/SQL могли описываться на уровне схемы базы данных (хранимые процедуры) и вызываться любым приложением, другими процедурами и триггерами.
Другим важным нововведением стали триггеры базы данных.
Триггер представляет собой пару (событие+действие), где событие — это удаление/занесение/обновление записей таблицы, а действие (тело триггера) — процедура PL/SQL, выполняемая при совершении события.
Триггеры могут определяться на уровне операций (DELETE, INSERT, UPDATE) или на уровне отдельных строк (FOR-EACH-ROW-триггеры, которые, к тому же, могут работать со старыми и новыми значениями строк). С помощью триггеров можно реализовать сложные правила контроля целостности, прав доступа, вывода значений и прочее.
Управление безопасностью и целостностью существенно упростилось благодаря введению ролей.
Роль — это совокупность прав доступа к объектам базы данных (INSERT, UPDATE, SELECT и другие) и системных прав (CREATE TABLE, ALTER SYSTEM и так далее). Определив роль, администратор базы данных может с помощью одной команды дать пользователю привилегии для работы с некоторым приложением.
В 1994 году компания выпустила версию Oracle 7.1, в том числе и для IBM PC. Ранее Oracle не рассматривала эту платформу как серверную, а ограничивалась лишь созданием для нее клиентских частей своей СУБД.
В Oracle 7.1 появилась опция параллельных запросов (parallel query option), а также возможность определения количества серверных процессов, необходимых для выполнения SQL-запроса, на основе результатов работы оптимизатора запросов. В данной версии была достигнута полная интеграция PL/SQL и SQL, введен встроенный пакет DBMS_SQL и асинхронная симметричная репликация данных вместе с асинхронным вызовом удаленных процедур.
В 1994 году в России появился первый официальный представитель Oracle — Андреас Харт. Тогда же клиентами Oracle в России стали такие мощные структуры, как ФСБ, Кабинет Министров, Мосприватизация, МПС, РАО ЕЭС и так далее.
Oracle 8 и 9
В 1997 году вышла версия 8, в которой появились объектная модель, новые свойства и средства администрирования. Oracle 8.0 была более надежной по сравнению с предыдущей версией, обладала большей устойчивостью к высоким нагрузкам. Кроме того, в ней была реализована возможность партиционирования таблиц.
В 1998 году компания анонсировала Oracle 8i Release 1 (8.1.5). Буква «i» означает, что версия обладает поддержкой Интернета.
Начиная с Oracle 8.1.5 в последующих версиях появляется встроенная в СУБД виртуальная машина Java (JVM). Далее вышла версия Oracle 8i Release 2 (8.1.6), которая поддерживала XML, а также содержала определенные новшества, связанные с созданием хранилищ данных.
В 2001 году появилась версия Oracle 9i Release 1 (9.0.1), в которой было сделано более 400 изменений по сравнению с предыдущей. Среди них – «интеллектуализация» автоматизированных систем и расширение возможностей для аналитики.
В новой версии появились средства обработки XML-документов, технология Oracle RAC (Real Application Clusters) – как замена Oracle Parallel Server (OPS), механизм создания репликаций Oracle Streams, скроллируемый курсор для программ на Си и C++, встроенная в СУБД поддержка OLAP и Data Mining, переименование столбцов и ограничений целостности, поддержка Java 1.3.1 и Unicode 3.1.
Лучшие финансовые годы
Согласно данным Giga Information Group (The RDBMS Market: An Update, апрель 2001 года), общий объем рынка СУБД в 2000 году возрос по сравнению с 1999 годом на 20% и составил в денежном выражении $8,8 миллиарда. Основные факторы развития: поддержка электронной коммерции, поддержка хранилищ данных и консолидация серверов.
Примерное разделение рынка СУБД для платформы Unix.
Примерное разделение рынка СУБД для платформы Windows NT.
В 2004 году появилась версия Oracle 10g Release 1 (10.1.0). Буква «g» в названии обозначает «Grid» («сеть») и символизирует поддержку Grid-вычислений.
Этот год стал одним из самых успешных в истории компании – норма прибыли составила 38% (самый высокий показатель за все время существования корпорации), годовой оборот возрос до 7% ($10,2 миллиарда), доходы от продаж ПО поднялись на 12% ($8,1 миллиарда), чистая прибыль выросла на 16% ($2,7 миллиарда).
Офис Oracle в России и СНГ вошел в тройку лучших представительств Oracle по темпам роста в регионе ЕМЕА (Европа, Ближний Восток и Африка), а также пятый год подряд — в пятерку лучших среди 145 представительств Oracle в мире.
До наших дней
В 2005-м была анонсирована Oracle 10g Release 2 (10.2.0.1). А в 2007-м – Oracle 11g Release 1 (11.1.0.6).
Состояние рынка СУБД на 2007 год
В 2009 году компания выпустила Oracle 11g Release 2 (11.2.0.1). В версию была введена новая для Oracle возможность «горячего» (без остановки сервера) внесения изменений в метаданные и бизнес-логику на PL/SQL – это стало возможным благодаря механизму одновременной поддержки нескольких версий схемы и логики под названием editions.
2013 год — вышла версия 12c (12.1.0.1), основное новшество — поддержка подключаемых баз данных (pluggable database), обеспечивающая свойства мультиарендности и живой миграции баз данных, суффикс «c» в названии обозначает cloud (облако).
24 апреля 2015 года стало известно о планах Oracle перевести почти все свои продукты в облако. Таким образом, американская компания решила изменить свою бизнес-модель, чтобы соответствовать изменениям на рынке.
В сентябре 2016 года Ларри Эллисон объявил о создании в Oracle дата-центров для работы с IaaS второго поколения и заявил, что лидерство компании Amazon на облачном рынке подходит к концу. Цель компании – предложить клиентам Oracle пакет услуг, где будут совмещены IaaS, PaaS и SaaS («ПО как услуга»).
У этого термина существуют и другие значения, см. Oracle.
Oracle Database | |
Тип | Объектно-реляционная СУБД |
Разработчик | Oracle Corporation |
Написана на | Си |
ОС | Кроссплатформенное ПО |
Версия | 11gR2 (1 сентября 2009) |
Лицензия | Коммерческая, для разработчиков |
Сайт | www.oracle.com/database/ |
Oracle Database или Oracle RDBMS — объектно-реляционная система управления базами данных (СУБД).
Содержание
- 1 История
- 2 История выпуска версий для различных операционных платформ[2]
- 2.1 История выпуска для Linux x86
- 2.2 История выпуска для Linux x86-64
- 2.3 История выпуска для Solaris x86
- 2.4 История выпуска для Solaris x86-64
- 2.5 История выпуска для Solaris SPARC 64-bit
- 2.6 История выпуска для Windows x86
- 2.7 История выпуска для Windows x86-64
- 3 Программно-аппаратные платформы
- 4 Редакции
- 5 Особенности
- 6 Примечания
- 7 Литература
- 8 Ссылки
История
- 1977 год — Ларри Эллисон, Боб Майнер и Эд Оутс основали компанию Software Development Laboratories (SDL), предшественницу Oracle.
- 1979 год — SDL сменила имя на Relational Software, Inc. (RSI) и выпустила Oracle v2. Эта версия не поддерживала транзакции, но реализовывала основную функциональность SQL. Это была первая коммерческая система управления реляционными базами данных (СУРБД) на основе языка запросов SQL. RSI не выпускала версию 1 по маркетинговым соображениям — первая версия получила имя version 2. Первая версия была написана на ассемблере, работала на системе PDP-11 под управлением операционной системы RSX-11, используя 128 кб оперативной памяти. Выпуском Oracle v2, RSI опередила IBM, в лаборатории которой была разработана теория и прототип реляционной базы данных System R.
- 1982 год — RSI вновь сменила своё имя и стала называться Oracle Systems.
- 1983 год — выпущена версия Oracle 3, переписанная на Си и поддерживающая функции COMMIT и ROLLBACK для реализации транзакций. В этой версии поддержка платформ была расширена: помимо реализации на DEC VAX/VMS появилась реализация на Unix. Oracle v3 являлась первой СУРБД, работающей на мейнфреймах, миникомпьютерах и ПК.
- 1984 год — выпущена версия Oracle 4, содержащая средства управления параллельным выполнением операций, такие как многоверсионное согласованное чтение и т.п.
- 1985 год — выпущена версия Oracle 5, одна из первых СУРБД, работающих в клиент-серверных средах. Появляется поддержка распределённых запросов, Oracle Link, кластерных технологий (реализация для DEC VAX).
- 1986 год — выпущена версия Oracle 5.1.
- 15 марта 1986 года — Oracle Corporation выходит на биржу.
- 1988 год — выпущена версия Oracle 6, с поддержкой блокировок на уровне строк и средств «горячего» резервирования. Появляется поддержка встроенного языка PL/SQL в средстве разработки приложений Oracle Forms v3 (в 6-й версии СУБД ещё нет поддержки PL/SQL).
- 1989 год — выпущена версия Oracle 6.2, с поддержкой средств оперативной обработки транзакций (OLTP). Oracle переносит свою штаб-квартиру в комплекс зданий в Рэдвуд Шорз, штат Калифорния.
- 1992 год — выпущена версия Oracle 7, с поддержкой ссылочной целостности, хранимых процедур и триггеров.
- 1994 год — выпущена версия Oracle 7.1, в том числе для IBM PC — до этого времени компания Oracle не рассматривала данную платформу как серверную, ограничиваясь лишь созданием для нее клиентских частей своей СУБД.
- 1996 год — выпущена версия Oracle 7.3, включающая Universal Server, позволяющий управлять данными любых типов — текстами, видеоматериалами, картами, аудиозаписями или графическими изображениями.
- 1997 год — выпущена версия Oracle 8 (8.0), основными особенностями которой стали более высокая надежность по сравнению с предыдущей версией, а также поддержка большего числа пользователей и больших объемов данных. Появляется поддержка средств объектно-ориентированной разработки и мультимедийных приложений; партиционирование таблиц. Oracle становится объектно-реляционной СУБД.
- 1998 год — выпущена версия Oracle 8i Release 1 (8.1.5), «i» в названии обозначает «Internet», символизируя поддержку Интернета. Начиная с Oracle 8.1.5 — появляется встроенная в СУБД виртуальная машина Java (JVM). На Java написаны клиентские утилиты, инсталлятор, средства администрирования.
- 1998 год — выпущена версия Oracle 8i Release 2 (8.1.6), поддерживающая XML и содержащая некоторые новшества, связанные с созданием хранилищ данных.
- 2000 год — выпущена версия Oracle 8i Release 3 (8.1.7), содержащая Java Virtual Machine Accelerator и Internet File System. Последний Patch Set, выпущенный для данной версии — 8.1.7.4.1. Последний Patch (для платформы Win32) — 8.1.7.4.29.
- 2001 год — выпущена версия Oracle 9i Release 1 (9.0.1). В версии 9i появляются: средства обработки XML-документов; технология Oracle RAC (Real Application Clusters), как замена Oracle Parallel Server (OPS); механизм создания репликаций Oracle Streams; скроллируемый курсор для программ на Си и C++; встроенная в СУБД поддержка OLAP и Data Mining; переименование столбцов и ограничений целостности; поддержка Java 1.3.1 и Unicode 3.1.
- 2004 год — выпущена версия Oracle 10g Release 1 (10.1.0); «g» в названии обозначает «Grid» («сеть»), символизируя поддержку распределенных вычислений (Grid-вычислений).
- 2005 год — выпущена версия Oracle 10g Release 2 (10.2.0.1).
- 2007 год — выпущена версия Oracle 11g Release 1 (11.1.0.6).
- 2009 год — выпущена версия Oracle 11g Release 2 (11.2.0.1), в которой введена принципиально новая для Oracle возможность «горячего», без остановки сервера, внесения изменений в метаданные и бизнес-логику на PL/SQL. Это сделано с помощью механизма одновременой поддержки нескольких версий схемы и логики, именуемых editions.[1]
История выпуска версий для различных операционных платформ[2]
История выпуска для Linux x86
- сентябрь 1998 года — Oracle 8.0 (8.0.5)
- 23 февраля 1999 года — Oracle 8.0 (8.0.5.1.0)
- 22 ноября 2000 года — Oracle 8i Release 3 (8.1.7.0.1)
- 25 марта 2003 года — Oracle 9i Release 2 (9.2.0.4)
- 21 декабря 2004 года — Oracle 10g Release 1 (10.1.0.3)
- 2 июля 2005 года — Oracle 10g Release 2 (10.2.0.1)
- 10 августа 2007 года — Oracle 11g Release 1 (11.1.0.6)
- 1 сентября 2009 года — Oracle 11g Release 2 (11.2.0.1)
История выпуска для Linux x86-64
- 16 октября 2007 года — Oracle 11g Release 1 (11.1.0.6)
- 1 сентября 2009 года — Oracle 11g Release 2 (11.2.0.1)
История выпуска для Solaris x86
- 14 мая 1999 года — Oracle 8i Release 1 (8.1.5) для Intel UNIX (DG/UX Intel, SCO UnixWare, Solaris Intel)
История выпуска для Solaris x86-64
- 25 ноября 2009 года — Oracle 11g Release 2 (11.2.0.1)
История выпуска для Solaris SPARC 64-bit
- 6 ноября 2009 года — Oracle 11g Release 2 (11.2.0.1)
История выпуска для Windows x86
- март 1997 года — Oracle 7 (7.3.3) для Windows NT 3.51/4.0
- октябрь 1997 года — Oracle 7 (7.3.4) для Windows NT 3.51/4.0
- 1 июля 1998 года — Oracle 8.0 (8.0.5) для Windows NT
- 10 марта 1999 года — Oracle 8i Release 1 (8.1.5) для Windows NT
- 20 сентября 1999 года — Oracle 8.0 (8.0.6) для Windows NT
- январь 2000 года — Oracle 8i Release 2 (8.1.6) для Windows NT
- 16 ноября 2000 года — Oracle 8i Release 3 (8.1.7) для Windows NT
- 14 мая 2002 года — Oracle 9i Release 2 (9.2.0.1) для Windows 32-bit
- 26 марта 2004 года — Oracle 10g Release 1 (10.1.0.2) для Windows 32-bit
- 7 сентября 2005 года — Oracle 10g Release 2 (10.2.0.1) для Windows 32-bit
- 15 октября 2007 года — Oracle 11g Release 1 (11.1.0.6) для Windows 32-bit
- 5 апреля 2010 года — Oracle 11g Release 2 (11.2.0.1) для Windows 32-bit[3]
История выпуска для Windows x86-64
- 16 апреля 2003 года — Oracle 9i Release 2 (9.2.0.2.1) для Windows 64-bit Itanium 2 Systems
- 31 октября 2005 года — Oracle 10g Release 2 (10.2.0.1) для Windows x64
- 7 ноября 2007 года — Oracle 11g Release 1 (11.1.0.6) для Windows x64
- 2 апреля 2010 года — Oracle 11g Release 2 (11.2.0.1) для Windows x64[3]
Программно-аппаратные платформы
До выпуска Oracle9i корпорация Oracle портировала движок базы данных на многие платформы, но в последнее время Oracle портирует на меньшее количество платформ. К примеру Oracle RDBMS 10g с июня 2005 года поддерживаются следующие программно-аппаратные платформы:
|
|
|
Редакции
СУБД Oracle поставляется в четырех различных редакциях, ориентированных на различные сценарии разработки и развертывания приложений (а также отличающиеся ценой).
Название | Ограничения | Операционные платформы |
---|---|---|
Enterprise Edition | ||
Standard Edition | не может устанавливаться на системы, имеющие более 4-х процессорных разъёмов | |
Standard Edition One | не может устанавливаться на системы, имеющие более 2-х процессорных разъёмов | |
Personal Edition | один пользователь | |
Lite | для мобильных и встраиваемых устройств | |
Express Edition | бесплатная редакция; используемая оперативная память — 1 Гбайт. Максимальный объем базы данных Oracle Database XE составляет 5 гигабайт (Гб). Из них от 0.5 до 0.9 Гб используются словарем данных, внутренними схемами и временным дисковым пространством. Поэтому остается 4.0 Гб для пользовательских данных. | Windows 32-bit Linux x86 |
Особенности
- MVCC (англ. MultiVersion Concurrency Control) Многоверсионность данных для управления параллельными транзакциями
- Секционирование
- Автономные транзакции
- Automatic Storage Management Автоматическое управление хранением файлов БД
- Пакеты[4]
- sequence
- Аналитические функции[5]
- Profile manager
- Oracle Label Security[6]
- Streams[7]
- Advanced Queuing
- Flashback Query
- RAC (англ. Real Application Clusters)
- Объектно-ориентированные свойства
- Automatic Database Diagnostic Monitoring — Автоматический мониторинг и диагностика БД для выявления проблем производительности и, возможно, автоматической корректировки (если таковая определена администратором)
- Подсказка в SQL-запросе (иначе Хинт)
Примечания
- ↑ Пресс-релиз по Oracle 11g Release 2
- ↑ Информация о дате выпуска дистрибутивов получена на основе дата размещения дистрибутивов на otn.oracle.com или анализе даты модификации файлов соответствующего дистрибутива.
- ↑ 1 2 Release Schedule of Current Database Releases
- ↑ Packages
- ↑ http://www.interface.ru/fset.asp?Url=/oracle/anal-itiv.htm
- ↑ http://www.oracle.com/global/ru/oramag/august2004/admin_sec_row.html
- ↑ http://zeus.sai.msu.ru:7000/database/oracle/streams/
Литература
- Сэм Р. Алапати. Oracle 11g: руководство администратора баз данных = Expert Oracle Database 11g Administration. — М.: Вильямс, 2009. — 1341 с. — ISBN 978-5-8459-1592-4
- Рик Гринвальд, Роберт Стаковьяк, Гэри Додж, Дэвид Кляйн, Бен Шапиро, Кристофер Дж. Челья. Программирование баз данных Oracle для профессионалов = Professional Oracle Programming. — М.: Диалектика, 2007. — С. 784. — ISBN 0-7645-7482-5
- Томас Кайт. Oracle для профессионалов: архитектура, программирование и особенности версий 9i и 10g = Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions. — М.: Вильямс, 2007. — С. 848. — ISBN 1-59059-530-0
Ссылки
- Сайт Oracle(рус.)
- Журнал Oracle Magazine(рус.)
- Oracle(рус.) Журнал ERPNEWS
- Рубрика «Мастерская Oracle» на Interface.ru
- What is the origin of the name ORACLE?(англ.)
- Леонид Отоцкий. Мои 15 лет с Oracle на ММК «Oracle Magazine RE» № 2007-12
- Антон Платов. Компьютерные корпорации. История Oracle Компьютерная газета, 2005
- Oracle Database 10g Express Edition(англ.) на сайте Oracle
- Обзор Oracle Database 10g Express Edition(рус.)
- Наталия Елманова, Алексей Федоров. Oracle и Microsoft SQL Server: прошлое, настоящее и будущее КомпьютерПресс № 2001-07
- Марк Ривкин. Новые возможности Oracle 9.2 Открытые системы № 2002-11
- Форум, посвящённый Oracle(рус.)
- Usenet-группа fido7.ru.rdbms.oracle
- Usenet-группа relcom.comp.dbms.oracle(рус.)
- Форум о СУБД Oracle, базы данных, SQL, курсы Oracle(рус.)
- База номеров ошибок Oracle и их значения(англ.)
Системы управления базами данных (СУБД) |
|
---|---|
Серверные |
Caché • DB2 • Firebird • Informix • Ingres • InterBase • MSDE • MS SQL Server • MySQL • mSQL • Oracle • Pervasive SQL • PostgreSQL • Sybase ASE • Sybase ASA • Sybase IQ • Teradata • ЛИНТЕР • Mnesia • H2 |
Движки |
BDE • Berkeley DB • C-Store • db4o • HSQLDB • PrimeBase • Rdb • SQLite • Mnesia • MongoDB |
Клиентские |
DataFlex • dBase • MS Access • OpenOffice.org Base • Paradox • Sav Zigzag |
Реляционная система управления базами данных (сокр. РСУБД, англ. Relational Database Management System, сокр. RDBMS) — СУБД, управляющая реляционными базами данных.
Практически все разработчики современных приложений, предусматривающих связь с системами баз данных, ориентируются на реляционные СУБД[1]:59. По данным аналитиков на 2010 год, реляционные СУБД используются в абсолютном большинстве крупных проектов по разработке информационных систем. По результатам исследований компании IDC 2009 года всего около 7 % составляют проекты, в которых используются СУБД нереляционного типа[2].
По оценке Gartner в 2013 году рынок реляционных СУБД составлял 26 млрд долларов с годовым приростом около 9 процентов, а к 2018 году рынок реляционных СУБД достигнет 40 млрд долларов[3]. В настоящее время абсолютными лидерами рынка СУБД являются компании Oracle, IBM и Microsoft, с общей совокупной долей рынка около 90 %, поставляя такие системы как Oracle Database, IBM DB2 и Microsoft SQL Server[2].
Единственной коммерчески успешной СУБД российского производства является реляционная СУБД Линтер[4] для операционных систем Windows, UNIX, QNX.
История
В 1974 году компания IBM начала исследовательский проект по разработке РСУБД, получивший название System R[5]. Её первым коммерческий продуктом был IBM SQL/DS, выпущенный в 1982 году[6].
Однако первой коммерчески успешной РСУБД стала Oracle, выпущенная в 1979 году компанией Relational Software, которая впоследствии была переименована в Oracle Corporation[7].
В 1970-е годы, когда уже были получены почти все основные теоретические результаты и даже существовали первые прототипы реляционных СУБД, многие авторитетные специалисты отрицали возможность добиться эффективной реализации таких систем. Однако преимущества реляционного подхода и развитие методов и алгоритмов организации и управления реляционными базами данных привели к тому, что к концу 1980-х годов реляционные системы заняли на мировом рынке СУБД доминирующее положение[8]:37.
В связи с резким ростом популярности РСУБД в 1980-х годах многие компании стали позиционировать свои СУБД как «реляционные» в рекламных целях, иногда не имея для этого достаточных оснований, вследствие чего автор реляционной модели данных Эдгар Кодд в 1985 году опубликовал свои знаменитые «12 правил Кодда», которым должна удовлетворять каждая РСУБД.
Примечания
- ↑ Фаулер, Мартин. Архитектура корпоративных программных приложений.: Пер. с англ. — М.: Издательский дом «Вильямс», 2007. — 544с.: ил.
- ↑ 2,0 2,1 Максим Никитин. Закончилась ли эпоха реляционных СУБД? Архивная копия от 16 августа 2014 на Wayback Machine // CNews.ru, 2010 г.
- ↑ Будущее данных предприятия: реляционные СУБД выживут Архивная копия от 16 августа 2014 на Wayback Machine // Think Innovative, 2013 г.
- ↑ Защищенная реляционная СУБД Линтер Архивная копия от 1 сентября 2009 на Wayback Machine // Открытые системы, № 11-12, 1999
- ↑
Funding a Revolution: Government Support for Computing Research (англ.). — National Academies Press (англ.) (рус., 1999. — ISBN 0309062780.. — «System R did not convince IBM management to abandon its existing product». - ↑ Hershel Harris, Bert Nicol. SQL/DS: IBM’s First RDBMS Архивная копия от 1 июня 2016 на Wayback Machine // IEEE Annals of the History of Computing, Volume 35, Number 2, April-June 2013, pp. 69-71
- ↑ Oracle Timeline // Profit Magazine. — Oracle, 2007. — Май (т. 12, № 2). — С. 26.
- ↑ Кузнецов С. Д., 2007.
Литература
- К. Дж. Дейт. Введение в системы баз данных = Introduction to Database Systems. — 8-е изд. — М.: Вильямс, 2006. — С. 1328. — ISBN 0-321-19784-4.
- Кузнецов С. Д. Основы баз данных. — 2-е изд. — М.: Интернет-университет информационных технологий; БИНОМ. Лаборатория знаний, 2007. — 484 с. — ISBN 978-5-94774-736-2.
В 1983 году компания Relational Software Incorporated была переименована в Oracle Corporation, чтобы ее не путали с компанией Relational Technologies Incorporated. Тогда-то разработчики приняли критически важное решение написать на языке C переносимую версию Oracle (версию 3), которая могла бы работать не только в системе Digital VAX/VMS, но также в UNIX и на других платформах. К 1985 году было заявлено, что Oracle может работать более чем на 30 платформах.
Некоторые из них сейчас воспринимаются как исторический курьез, однако другие все еще функционируют. (Помимо VMS, в число операционных систем, поддерживаемых ранними версиями Oracle, входили IBM MVS, HP/UX, IBM AIX и Solaris – вариант UNIX, созданный компанией Sun.) Корпорация Oracle сумела обратить в свою пользу и даже ускорить рост числа мини-компьютеров и UNIX-серверов, наблюдавшийся в 1980-е. Сегодня Oracle перенесена и на такие операционные системы, как Microsoft Windows и Linux.
Помимо поддержки многочисленных платформ не потеряли актуальности и другие решения, принятые Oracle в 1980-е, в том числе дополнительные инструменты разработки программного обеспечения и поддержки принятия решений (бизнес-анализ), поддержка стандарта ANSI SQL на всех платформах и возможность работы в стандартных сетях.
Начиная с середины 1980-х изменялась и модель развертывания: от выделенных серверов базы данных к архитектуре клиент/сервер и далее к интернет-вычислениям, когда клиенты на базе броузеров обращаются к приложениям базы данных.
По мере изменения моделей вычислений и развертывания корпорация Oracle включала в свою СУБД многие инновационные технические решения (от первой распределенной базы данных до поддержки виртуальной Java-машины в ядре базы данных и реализации grid-вычислений). Oracle предлагает поддержку новых стандартов, например языка XML, имеющего огромное значение для развертывания сервис-ориентированных архитектур (SOA). В таблице ниже приведен краткий перечень основных достижений и новшеств Oracle по годам.
Таблица. История новшеств Oracle
Год | Функция |
1977 | Oracle version 1: Ларри Эллисон, Боб Майнер и Эд Оутс основали компанию Software Development Laboratories |
1979 | Oracle version 2: первая коммерческая реляционная СУБД, в которой применялся язык SQL |
1983 | Oracle version 3: единый набор исходных текстов Oracle для разных платформ |
1984 | Oracle version 4: переносимый набор инструментов, согласованность по чтению |
1986 | Oracle version 5: клиент-серверная реляционная СУБД |
1987 | Инструменты CASE и 4GL |
1988 | Oracle Financial Applications на основе реляционной СУБД |
1989 | Oracle6: блокировка на уровне строк и резервное копирование без остановки работы |
1991 | Oracle Parallel Server на массивно-параллельных платформах |
1993 | Oracle7: появление стоимостного оптимизатора |
1994 | Oracle version 7.1: распараллеливание операций, включая запросы, загрузку и создание индексов |
1996 | Универсальная база данных с механизмом расширения SQL за счет картриджей, тонким клиентом и сервером приложений |
1997 | Oracle8: объектно-реляционные расширения и поддержка сверхбольших баз данных (Very Large Database, VLDB) |
1999 | Oracle8i: виртуальная Java-машина (JVM) в ядре СУБД |
2000 | Oracle9i Application Server: инструменты Oracle, интегрированные в ПО промежуточного слоя |
2000 | Oracle9i Database Server: кластеры Real Application Cluster, OLAP и добыча данных, реализованные в СУБД |
2003 | Oracle Database 10g и Oracle Application Server 10g: grid-вычисления; в Oracle Database 10g автоматизированы ключевые задачи управления |
2005 | Oracle приобретает компанию PeopleSoft и объявляет о намерении приобрести компанию Siebel, тем самым расширяя линейку ERP и CRM-приложений и свои предложения в области систем бизнес-анализа. |
2007 | Oracle Database 11g: расширение средств автоматической настройки и сквозного управления изменениями; с приобретением компании Hyperion в состав предлагаемых продуктов включена не зависящая от базы данных подсистема OLAP и приложения Financial Performance Management |
2009 | Oracle 11g Release 2 (11.2.0.1), в которой введена принципиально новая для Oracle возможность «горячего», без остановки сервера, внесения изменений в метаданные и бизнес-логику на PL/SQL. Это сделано с помощью механизма одновременной поддержки нескольких версий схемы и логики, именуемых editions |
2013 | Oracle 12c (12.1.0.1), основное новшество — поддержка подключаемых баз данных (англ. pluggable database), обеспечивающая свойства мультиарендности и живой миграции баз данных[5], суффикс «c» в названии обозначает англ. cloud (облако) |
Вас заинтересует / Intresting for you:
СУБД ведущих производителей
Требования к корпоративным СУБД
СУБД ведущих производителей
DB2 Universal Database и Informix Dynamic Server (IBM)
Oracle9i (Oracle)
SQL Server 2000 (Microsoft)
Adaptive Server Enterprise и Adaptive Server IQ (Sybase)
Teradata Database V2R4.1 (Teradata)
Функционирование практически любого современного предприятия
немыслимо без манипуляции данными, связанными с его производственной деятельностью.
Нередко эффективность его деятельности и конкурентоспособность на рынке товаров
или услуг непосредственно связаны с тем, актуальны ли эти данные и доступны
ли они обращающимся к ним пользователям (причем нередко не только пользователям
локальной сети, но и посетителям корпоративного Web-сервера и сотрудникам, обращающимся
к ним с помощью мобильных устройств). С этой целью применяются различные архитектуры
физического хранения данных, такие как Storage Area Network (SAN) или Network
Attached storage (NAS), а также системы управления базами данных, предназначенные
для логической организации данных и осуществления доступа к ним. Корпоративные
данные большинства компаний сейчас хранятся в реляционных СУБД, о которых и
пойдет речь в данной статье.
простейшем случае информационная система, использующая СУБД, состоит из двух
основных компонентов: сервера баз данных, управляющего данными и выполняющего
поступающие от клиентских приложений запросы, и самих клиентских приложений,
обеспечивающих интерфейс пользователя и посылающих запросы к серверу. Именно
сервер баз данных может манипулировать файлами, в которых хранятся данные, выполнять
пользовательские запросы, поддерживать ссылочную целостность данных, обеспечивать
доступ к ним, осуществлять резервное копирование данных и протоколировать операции,
связанные с их изменением.
Требования к корпоративным СУБД
современным реляционным СУБД предъявляются следующие требования:
- • масштабируемость, то есть способность одновременно обслуживать большее
количество пользовательских запросов с той же скоростью при пропорциональном
этому количеству увеличении объема предоставляемых ресурсов (процессоров,
оперативной памяти и т.д.); - • доступность, то есть постоянная возможность получения ответа на запрос;
- • надежность, то есть минимальная вероятность сбоев, а также наличие средств
восстановления данных после сбоев, резервирования и дублирования; - • управляемость, то есть простота администрирования и конфигурирования,
а нередко и наличие средств автоматического конфигурирования (обычно набор
средств администрирования включает средства создания баз данных и их объектов,
инструменты репликации данных между различными серверами, утилиты управления
пользователями и группами, средства мониторинга событий, средства просмотра
планов выполнения запросов, утилиты миграции из других СУБД); - • наличие средств защиты данных от потери и несанкционированного доступа;
- • поддержка стандартных механизмов доступа к данным (сегодня это главным
образом ODBC, JDBC, OLE DB, а в ближайшее время можно будет говорить и об
ADO .NET).
Как правило, отсутствие какого-либо из этих признаков приводит к тому, что даже
у неплохой по другим потребительским свойствам СУБД область применения оказывается
весьма ограниченной. Так, СУБД с плохой масштабируемостью, успешно применявшаяся
при небольшом обрабатываемом объеме данных, оказывается непригодной при его
росте и нередко ее приходится заменять на другую; при этом неизбежны определенные
затраты на переписывание серверного кода. Лишние затраты на администрирование
обычно тоже никому не нужны. Плохие масштабируемость и доступность влекут за
собой дополнительные затраты рабочего времени сотрудников, простои, а также
потерю компанией клиентов, отчаявшихся дождаться нужных данных на корпоративном
сайте и вынужденных обратиться на сайт конкурента.
Именно поэтому лидеры рынка корпоративных СУБД стремятся к производству продуктов,
удовлетворяющих всем вышеуказанным требованиям. Кроме того, как правило, подобные
продукты существуют для нескольких платформ, а нередко и в разных редакциях,
предназначенных для решения разнообразных задач или обслуживания различного
количества данных и пользователей. Из последних тенденций развития корпоративных
СУБД следует отметить поддержку XML и Web-сервисов XML.
Говоря о различном назначении реляционных баз данных, в первую очередь отметим,
что существует два их типа:
- • оперативные, или OLTP-базы данных (OLTP — On-Line Transaction Processing)
— обычно в эти базы данных осуществляется интенсивный ввод данных, а вот число
адресованных к ним запросов невелико; - • хранилища данных, применяемые, как правило, в аналитических приложениях
и системах поддержки принятия решений — к ним обычно адресуется большое число
запросов, но ввод данных в них не столь интенсивен.
Отметим, что многие современные СУБД с успехом поддерживают создание баз данных
обоих типов — все определяется тем, как будет спроектирована структура данных.
Однако нередко для создания хранилищ данных применяются специальные СУБД, способ
хранения данных в которых особым образом оптимизирован для ускорения выполнения
запросов. И, как правило, создание OLAP-хранилищ, основанных на нереляционных
многомерных базах данных, требует наличия отдельных серверных продуктов.
СУБД ведущих производителей
огласно
данным ряда аналитических отчетов, лидерами рынка СУБД, предназначенных для
OLTP-систем, на данный момент являются компании IBM, Oracle, Microsoft и Sybase,
а на рынке СУБД, предназначенных для создания хранилищ данных, — IBM, Oracle,
Microsoft, Sybase и Teradata (см., например, Data Warehouse DBMS Magic Quadrant
Update — Gartner’s Strategic Data Management Research Note M-16-3173, 29 April
2002). Ниже мы кратко рассмотрим особенности продуктов этих компаний.
DB2 Universal Database и Informix Dynamic Server (IBM)
Семейство серверных СУБД фирмы IBM, известное под названием DB2 Universal Database
(DB2 UDB), впервые появилось в 1996 году и предназначалось для платформ UNIX,
OS/2 и Microsoft Windows NT. Последняя версия этого продукта, DB2 UDB 7.2, функционирует
под управлением операционных систем AS/400AIX, S/390, Windows NT/2000, Windows
95/98, OS/2, AIX, HP-UX, SCO UnixWare, Linux, NUMA-Q и Sun Solaris.
Из механизмов доступа к данным DB2 UDB поддерживает ODBC, JDBC и ADO/OLE DB,
а для пользователей Microsoft Visual Studio доступны включаемые в среду дополнительные
модули, такие как Stored Procedure Builder. Windows-версии DB2 Universal Database
7.2 позволяют также создавать хранимые процедуры на языке Visual Basic. Cредства
разработки Borland поддерживают доступ к DB2 не только с помощью ADO/OLE DB
и ODBC, но и посредством собственных универсальных механизмов доступа к данным
— Borland Database Engine и dbExpress.
DB2 Universal Database поддерживает создание хранилищ данных и, помимо средств
переноса данных в хранилище, содержит в составе клиентской части Data Warehouse
Center, позволяющий управлять всеми процессами, связанными с созданием и поддержкой
хранилищ данных, включая создание схемы хранилища, определение источников исходных
данных для него, создание расписаний обновления данных в хранилище, проверку
и исправление некорректных данных. Для поддержки OLAP-хранилищ в состав сервера
DB2 Universal Database входит OLAP Starter Kit, основанный на OLAP-сервере Hyperion
Essbase.
DB2 UDB 7.2 поддерживает хранение и поиск XML-документов по их элементам и атрибутам.
С помощью протокола SOAP можно обращаться к Web-сервисам, предоставляющим доступ
к хранимым процедурам и данным DB2 Universal Database (сами Web-сервисы могут
управляться сервером приложений IBM WebSphere).
К другим важнейшим техническим характеристикам DB2 Universal Database следует
отнести поддержку реляционных и комплексных данных с помощью объектных расширений,
возможность работы на мультипроцессорных платформах, поддержку кластеров, 64-разрядную
архитектуру памяти, распараллеливание запросов, наличие средств для гетерогенного
администрирования и обработки данных, поддержку выполнения распределенных транзакций.
Ведущим продуктом фирмы Informix до приобретения ее компанией IBM являлся Informix
Dynamic Server (IDS), поддерживающий платформы UNIX и Microsoft Windows NT и
обеспечивающий эффективную работу как на одно-, так и на многопроцессорных системах,
а также в кластерах. Этот продукт обладает мощными средствами параллельной обработки
данных. В числе основных характеристик Informix Dynamic Server следует отметить
следующие: использование для управления дисковым пространством как средств операционной
системы; так и собственных функций, позволяющих обойти ограничения операционной
системы, управление разделением памяти; динамическое управление потоками; поддержку
фрагментации таблиц и индексов на нескольких дисках; распараллеливание запросов;
зеркалирование данных. IDS поддерживает двухфазное завершение транзакций, а
также гетерогенные транзакции (в этом случае в транзакциях может принимать участие
и не-Informix сервер). Особо следует отметить поддержку этим сервером временных
рядов, что делает его незаменимым в биржевых системах, а также в приложениях
для брокеров и трейдеров.
Расширения функциональности сервера реализуются на базе DataBlade — коллекций
объектов баз данных и подпрограмм на языке С, подключаемых к базе данных и выпускаемых
как производителем СУБД, так и рядом независимых производителей.
Из механизмов доступа к данным IDS поддерживает ODBC, JDBC и ADO/OLE DB. Cредства
разработки Borland поддерживают доступ к IDS с помощью механизмов Borland Database
Engine и dbExpress. В ближайшее время ожидается появление поддержки Microsoft
.NET.
После приобретения корпорацией IBM части бизнеса компании Informix, связанного
с созданием систем управления базами данных, была выпущена версия 9.30 этого
продукта, а в период до 2006 года ожидается выпуск еще нескольких версий. Тем
не менее при создании новых проектов IBM настоятельно рекомендует ориентироваться
на применение DB2.
Для создания хранилищ данных существовал другой продукт Informix — Red Brick
Warehouse. В IBM планируют дальнейшее развитие Red Brick, а некоторые используемые
в нем технологии будут применены в последующих версиях DB2.
Oracle9i (Oracle)
Oracle, первая версия которой появилась в 1979 году, была первой коммерческой
реляционной СУБД, поддерживающей ставший ныне индустриальным стандартом язык
SQL. Ранние версии этой СУБД создавались для мэйнфреймов, однако в 1985 году
появились версии Oracle, предназначенные для использования в архитектуре «клиент-сервер».
Отметим, что Oracle была первой компанией, создавшей СУБД, использовавшую предоставляемые
некоторыми серверными платформами средства параллельных вычислений, — Oracle
Parallel Server (до ее появления параллельные вычисления использовались только
для решения научных задач).
На сегодняшний день последней версией Oracle является версия Oracle9i. СУБД
Oracle9i, предназначенная для применения на недавно сложившемся рынке Интернет-приложений,
отвечает самым строгим требованиям к качеству обслуживания, обладает возможностями
кластеризации (для этого предназначен модуль Oracle Real Application Clusters),
мощными и экономичными средствами безопасности. Встроенные в Oracle9i средства
управления позволяют контролировать все жизненно важные компоненты продукта
и организовать непрерывный доступ к данным, практически исключая запланированные
и аварийные задержки.
СУБД Oracle9i основана на архитектуре с единым ядром. Она обладает средствами
параллельной обработки запросов, поддержкой кластеров, встроенными средствами
OLAP, интерактивными функциями персонификации, средствами быстрого извлечения,
преобразования и загрузки данных, службами порталов, средствами бизнес-анализа,
распространения отчетов и анализа действий пользователей, инструментами анализа
производительности СУБД, средствами поддержки XML.
Из механизмов доступа к данным Oracle9i поддерживает ODBC, JDBC и ADO/OLE DB.
Из средств разработки Borland можно осуществлять доступ к Oracle9i с помощью
механизма dbExpress. Клиентская часть Oracle содержит также набор COM-объектов
для доступа к данным (Oracle Objects for OLE). Отметим, что и многие другие
компании производят ODBC-драйверы и OLE DB-провайдеры для доступа к Oracle (в
частности, Microsoft).
Помимо этого Oracle поставляет на рынок собственный набор средств разработки
Oracle9i Developer Suite для быстрого создания Интернет-приложений, настраиваемых
Web-порталов, а также Web-сервисов.
Из готовых информационных систем на базе Oracle следует особо отметить несколько
крупных систем управления предприятием, в частности SAP/R3. На Западе также
нередко используются готовые решения от самой Oracle Corporation, объединенные
под общим названием Oracle Applications, такие как Oracle Financials, Oracle
Human Resources, Oracle Market Management, Oracle Project Systems и др., — собственно,
продажа и поддержка именно этих приложений и составляют основную часть бизнеса
компании.
SQL Server 2000 (Microsoft)
Корпорация Microsoft до 1987 года не имела никакого отношения к производству
корпоративных СУБД. Первая версия Microsoft SQL Server — совместный продукт
компаний Microsoft и Sybase, выпущенный в 1988 году, — была разработана для
платформы OS/2. Последующие версии этого сервера баз данных предназначались
для платформы Windows NT и со временем были тесно интегрированы с этой операционной
системой. Для других платформ версии этого сервера не выпускались и не выпускаются.
Поэтому популярность SQL Server определяется в первую очередь популярностью
платформы, которую он поддерживает, в данный момент это Windows 2000, в ближайшем
будущем — Windows .NET Server. Эта СУБД настолько связана с операционной системой,
что ее надежность, масштабируемость и производительность определяются надежностью,
масштабируемостью и производительностью самой платформы и положение SQL Server
на рынке будет зависеть от выпуска новых версий Windows.
Последняя версия этой СУБД — Microsoft SQL Server 2000 — отличается повышенной
масштабируемостью и производительностью. Она позволяет использовать на одном
компьютере несколько одновременно работающих серверов, поддерживает создание
кластеров, параллельные вычисления в многопроцессорных системах, распределенные
запросы, создание индексов для представлений (Indexed Views), что в ряде случаев
существенно повышает скорость выполнения запросов. Этот сервер поддерживает
хранение и извлечение XML-данных, представление в виде XML результатов запросов,
представление хранимых процедур в виде Web-сервисов (для реализации этой возможности
существует свободно доступный продукт под названием XML for SQL Server, или
SQLXML).
Средства администрирования Microsoft SQL Server 2000 считаются одними из самых
простых и удобных. Помимо средств решения стандартных задач администрирования
(создание баз данных и их объектов, манипуляция пользователями и группами, резервное
копирование и восстановление, подключение к другим серверам, средства репликаций),
они включают утилиты обмена данными с другими СУБД и хранилищами данных (Data
Transformation Services). В состав этого продукта, начиная с версии 7.0, входит
и OLAP-сервер (собственно, этот шаг Microsoft вынудил других производителей
СУБД включать OLAP-средства, прежде поставлявшиеся отдельно и стоившие довольно
дорого, в состав своих серверов баз данных).
Из механизмов доступа к данным этот продукт поддерживает ODBC, OLE DB/ADO, ADO
.NET. Имеется также JDBC-драйвер производства самой компании Microsoft. Кроме
того, для работы с этим сервером пользователи Borland Delphi 7 могут использовать
механизм доступа к данным dbExpress. Средства разработки Microsoft при работе
с Microsoft SQL Server обладают рядом дополнительных возможностей, таких как
отладка серверного кода, интеграция средств администрирования в среду разработки
и т.д.
Adaptive Server Enterprise и Adaptive Server IQ (Sybase)
Серверные продукты компании Sybase происходят от двух «предков». Первым из них
является одна из ранних версий Microsoft SQL Server, созданная совместно Microsoft
и Sybase. Начиная с 1994 года Microsoft и Sybase разрабатывают свои серверные
продукты независимо друг от друга, и результатом деятельности компании Sybase
в этом направлении является продукт Adaptive Server Enterprise (ASE), последняя
версия которого, 12.5, существует для Windows NT/2000 и некоторых версий UNIX
(включая Linux).
В настоящее время Adaptive Server Enterprise поддерживает упреждающее асинхронное
чтение, что повышает скорость выполнения сложных запросов, создание кластеров,
распределенную обработку запросов, в том числе к базам данных других производителей,
расширенные хранимые процедуры, позволяющие осуществить легкий доступ к не-SQL-функциям
(Java, 3GL-системы, функции операционной системы и т.д.), параллельную обработку
запросов в многопроцессорных системах, параллельную работу утилит администрирования,
динамическую конфигурацию сервера и резервное копирование данных с компрессией,
поддержку XML-запросов.
Из универсальных механизмов доступа к данным ASE поддерживает ODBC, JDBC, OLE
DB/ADO. Пользователи средств разработки Borland для работы с этим сервером могут
также использовать механизм доступа к данным dbExpress. Отметим, что нередко
вместе с ASE используются средства разработки и проектирования данных самой
компании Sybase.
Для создания многомерных хранилищ данных у Sybase существует еще один серверный
продукт — Adaptive Server IQ, позволяющий создавать хранилища на основе данных
из СУБД не только производства Sybase, но и других производителей. Высокая скорость
выполнения запросов в этом продукте обусловлена нестандартным способом хранения
данных. Отметим также, что существует ряд продуктов под общим названием Sybase
Industry Warehouse Studio, ориентированных на обслуживание конкретных предметных
областей: торговли (Retail Warehouse Studio), здравоохранения (Healthcare Warehouse
Studio), страхования (Life Insurance Warehouse Studio) и др.
Teradata Database V2R4.1 (Teradata)
В течение последних нескольких лет СУБД компании Teradata считаются лидирующими
продуктами среди СУБД, предназначенных для создания хранилищ данных. Последняя
версия этой СУБД, Teradata Database V2R4.1, доступна для Microsoft Windows 2000
Server, Windows 2000 Advanced Server, Windows .NET Server и ряда версий UNIX.
Отличием этой СУБД от других продуктов является специальный механизм параллельной
обработки запросов, использующий разбиение задачи на ряд отдельных подзадач
и их параллельное выполнение. При этом даже такие операции, как сортировка или
группировка данных, также могут разделяться на несколько задач и выполняться
параллельно — это достигается за счет специального способа хранения данных,
при котором части базы данных также делятся между подзадачами. Сами подзадачи
могут распределяться между имеющимися процессорами, которых может быть 1, 2
или больше. Благодаря механизму параллельного решения задач Teradata Database
V2R4.1 отличается высокой масштабируемостью.
Для создания клиентских приложений, использующих Teradata Database, существуют
ODBC-драйвер, документированный клиентский API, совместимый с IBM DB2 (это означает,
что клиентские приложения, использующие DB2, могут выполняться и c Teradata),
и ряд других интерфейсов. Средства администрирования этой СУБД включают средства
резервного копирования и восстановления, просмотра и редактирования данных,
мониторинга производительности и нагрузки, а также утилиту администрирования
для управления всеми перечисленными задачами, доступную для Windows NT Workstation
4.0, Windows 2000 Professional, Windows 98.
В заключение отметим, что существующие на сегодняшний день возможности корпоративных
СУБД ведущих производителей отражают современные тенденции развития информационных
систем, такие как использование многопроцессорных систем и распределенной обработки
данных, создание распределенных систем, применение средств быстрой разработки
приложений, создание систем поддержки принятия решений с использованием аналитической
обработки данных, а также все возрастающие требования к надежности и отказоустойчивости.
КомпьютерПресс 10’2002
Oracle Database или Oracle RDBMS — объектно-реляционная система управления базами данных компании Oracle.
История
- 1977 год — Ларри Эллисон, Боб Майнер и Эд Оутс основали компанию Software Development Laboratories (SDL).
- 1979 год — SDL сменила имя на Relational Software, Inc. (RSI) и выпустила СУБД под наименованием Oracle v2. Эта версия не поддерживала транзакции, но реализовывала основную функциональность SQL. Это была первая коммерческая система управления реляционными базами данных (РСУБД) на основе языка запросов SQL. RSI не выпускала версию 1 по маркетинговым соображениям — первая версия получила имя version 2. Первая версия была написана на ассемблере, работала на системе PDP-11 под управлением операционной системы RSX-11, используя 128 кб оперативной памяти. Выпуском Oracle v2, RSI опередила IBM, в лаборатории которой была разработана теория и прототип реляционной базы данных System R.
- 1982 год — RSI вновь сменила своё имя и стала называться Oracle Systems.
- 1983 год — выпущена версия 3, переписанная на Си и поддерживающая функции COMMIT и ROLLBACK для реализации транзакций. В этой версии поддержка платформ была расширена: помимо реализации на DEC VAX/VMS появилась реализация на Unix. Oracle v3 являлась первой РСУБД, работающей одновременно на мейнфреймах, мини-компьютерах и ПК.
- 1984 год — выпущена версия 4, содержащая средства управления параллельным выполнением операций, такие как многоверсионное согласованное чтение и другие необходимые для параллельных вычислений возможности.
- 1985 год — выпущена версия 5, одна из первых РСУБД, работающих в клиент-серверных средах. Появляется поддержка распределённых запросов, Oracle Link, кластеров таблиц (реализация для DEC VAX).
- 1986 год — выпущена версия 5.1.
- 1988 год — выпущена версия 6, с поддержкой блокировок на уровне строк и средств «горячего» резервирования. Появляется поддержка встроенного языка PL/SQL в средстве разработки приложений Oracle Forms v3 (в 6-й версии СУБД ещё нет поддержки PL/SQL).
- 1989 год — выпущена версия 6.2, с поддержкой средств оперативной обработки транзакций (OLTP). Oracle переносит свою штаб-квартиру в комплекс зданий в Редвуд Шорз, штат Калифорния.
- 1992 год — выпущена версия 7, с поддержкой ссылочной целостности, хранимых процедур и триггеров.
- 1994 год — выпущена версия 7.1, в том числе для IBM PC — до этого времени компания Oracle не рассматривала данную платформу как серверную, ограничиваясь лишь созданием для неё клиентских частей своей СУБД.
- 1996 год — выпущена версия 7.3, включающая Universal Server, позволяющий управлять данными любых типов — текстами, видеоматериалами, картами, аудиозаписями или графическими изображениями.
- 1997 год — выпущена версия 8 (8.0), основными особенностями которой стали более высокая надёжность по сравнению с предыдущей версией, а также поддержка большего числа пользователей и больших объёмов данных. Появляется поддержка средств объектно-ориентированной разработки и мультимедийных приложений; секционирование. Oracle становится объектно-реляционной СУБД.
- 1998 год — выпущена версия 8i Release 1 (8.1.5), «i» в названии обозначает «Internet», символизируя поддержку Интернета. Начиная с версии 8.1.5, появляется встроенная в СУБД виртуальная машина Java (JVM). На Java написаны клиентские утилиты, инсталлятор, средства администрирования.
- 1998 год — выпущена версия 8i Release 2 (8.1.6), поддерживающая XML и содержащая некоторые новшества, связанные с созданием хранилищ данных.
- 2000 год — выпущена версия 8i Release 3 (8.1.7), содержащая Java Virtual Machine Accelerator и Internet File System. Последний набор обновлений (англ. patchset), выпущенный для данной версии — 8.1.7.4.1 (2002 год). Последнее обновление (для платформы Win32) — 8.1.7.4.29 (16 января 2007 года).
- 2001 год — выпущена версия 9i Release 1 (9.0.1). В версии 9i появляются: средства прямой обработки XML-документов, хранящихся в базе данных, через интерфейс «XML DB»[1]; технология Oracle RAC (Real Application Clusters), как замена Oracle Parallel Server (OPS); механизм создания репликаций Oracle Streams; скроллируемый курсор для программ на Си и C++; встроенная в СУБД поддержка OLAP и Data Mining; переименование столбцов и ограничений целостности; поддержка Java 1.3.1 и Unicode 3.1.
- 2004 год — выпущена версия 10g Release 1 (10.1.0); «g» в названии обозначает «grid» («сеть»), символизируя поддержку грид-вычислений.
- 2005 год — выпущена версия 10g Release 2 (10.2.0.1).
- 2007 год — выпущена версия 11g Release 1 (11.1.0.6). Появляется возможность создания в базе данных резидентного пула соединений (DRCP), позволяющего поддерживать пул из постоянных соединений с базой данных (например, для веб-серверов Apache, IIS, приложений на PHP, Perl и т. п.)[2].
- 2009 год — выпущена версия 11g Release 2 (11.2.0.1), в которой введена принципиально новая для Oracle возможность «горячего», без остановки сервера, внесения изменений в метаданные и бизнес-логику на PL/SQL. Это сделано с помощью механизма одновременной поддержки нескольких версий схемы и логики, именуемых editions[3].
- 2013 год — вышла версия 12c (12.1.0.1), основное новшество — поддержка подключаемых баз данных (англ. pluggable database), обеспечивающая свойства мультиарендности и живой миграции баз данных[4], суффикс «c» в названии обозначает англ. cloud (облако).
- 2018 год — вышла версия 18c (12.2.0.2)[5]
- 2019 год — вышла версия 19с
- 2021 год — вышла версия 21с
История выпуска версий для различных операционных платформ[6]
История выпуска для Linux x86
- сентябрь 1998 года — 8.0 (8.0.5)
- 23 февраля 1999 года — 8.0 (8.0.5.1.0)
- 22 ноября 2000 года — 8i Release 3 (8.1.7.0.1)
- 25 марта 2003 года — 9i Release 2 (9.2.0.4)
- 21 декабря 2004 года — 10g Release 1 (10.1.0.3)
- 2 июля 2005 года — 10g Release 2 (10.2.0.1)
- 10 августа 2007 года — 11g Release 1 (11.1.0.6)
- 1 сентября 2009 года — 11g Release 2 (11.2.0.1)
История выпуска для Linux x86-64
- 16 октября 2007 года — 11g Release 1 (11.1.0.6)
- 1 сентября 2009 года — 11g Release 2 (11.2.0.1)
- 26 июня 2013 года — 12c (12.1.0.1)
История выпуска для Solaris x86
- 14 мая 1999 года — 8i Release 1 (8.1.5) для Intel UNIX (DG/UX Intel, SCO UnixWare, Solaris Intel)
История выпуска для Solaris x86-64
- 23 марта 2006 года — 10g Release 2 (10.2.0.1)
- 25 ноября 2009 года — 11g Release 2 (11.2.0.1)
- 26 июня 2013 года — 12c (12.1.0.1)
История выпуска для Solaris SPARC 64-bit
- 6 ноября 2009 года — 11g Release 2 (11.2.0.1)
- 26 июня 2013 года — 12c (12.1.0.1)
История выпуска для Windows x86
- март 1997 года — 7 (7.3.3) для Windows NT 3.51/4.0
- октябрь 1997 года — 7 (7.3.4) для Windows NT 3.51/4.0
- 1 июля 1998 года — 8.0 (8.0.5) для Windows NT
- 10 марта 1999 года — 8i Release 1 (8.1.5) для Windows NT и Windows 95/98
- 20 сентября 1999 года — 8.0 (8.0.6) для Windows NT
- январь 2000 года — 8i Release 2 (8.1.6) для Windows NT
- 16 ноября 2000 года — 8i Release 3 (8.1.7) для Windows NT
- 13 сентября 2001 года — 9i Release 1 (9.0.1.0) для Windows 32-bit
- 14 мая 2002 года — 9i Release 2 (9.2.0.1) для Windows 32-bit
- 26 марта 2004 года — 10g Release 1 (10.1.0.2) для Windows 32-bit
- 7 сентября 2005 года — 10g Release 2 (10.2.0.1) для Windows 32-bit
- 15 октября 2007 года — 11g Release 1 (11.1.0.6) для Windows 32-bit
- 5 апреля 2010 года — 11g Release 2 (11.2.0.1) для Windows 32-bit[7]
История выпуска для Windows x86-64
- 31 октября 2005 года — 10g Release 2 (10.2.0.1)
- 7 ноября 2007 года — 11g Release 1 (11.1.0.6)
- 2 апреля 2010 года — 11g Release 2 (11.2.0.1)[7]
- 1 августа 2013 года — 12c Release 1 (12.1.0.1)[8]
- 8 марта 2017 года — 12c Release 2 (12.2.0.1)[9]
- 2018 год — 18c (12.2.0.2)
Программно-аппаратные платформы
До выпуска Oracle9i корпорация Oracle портировала движок базы данных на многие платформы, но в последнее время Oracle портирует на меньшее количество платформ. К примеру Oracle RDBMS 10g с июня 2005 года поддерживаются следующие программно-аппаратные платформы:
|
|
|
Редакции
СУБД поставляется в шести различных редакциях, ориентированных на различные сценарии разработки и развертывания приложений (а также отличающиеся ценой).
Название | Ограничения | Операционные платформы |
---|---|---|
Enterprise Edition | ||
Standard Edition | не может устанавливаться на системы, имеющие более 4 процессорных разъёмов | |
Standard Edition One | не может устанавливаться на системы, имеющие более 2 процессорных разъёмов; не поддерживает кластеризацию (RAC) | |
Personal Edition | один пользователь | |
Lite | для мобильных и встраиваемых устройств | |
Express Edition (XE) | бесплатная редакция;
используемая оперативная память — 1 ГБ, а также используется только 1 процессор, максимальный объём базы данных — 11 ГБ (для 10g — 4ГБ), из них от 0,5 до 0,9 ГБ используются словарём данных, внутренними схемами и временным дисковым пространством. В 18c используется 2 процессора, оперативная память — 2 ГБ, максимальный объём базы данных — 12 ГБ[10]. |
Windows x86-64 Linux x86-64. |
Особенности
- MVCC (англ. MultiVersion Concurrency Control) — многоверсионность данных для управления параллельными транзакциями.
- Секционирование.
- Автономные транзакции.
- Automatic Storage Management — автоматическое управление хранением файлов БД.
- Oracle Enterprise Manager — набор инструментов, предназначенных для управления и мониторинга СУБД Oracle и серверов, на которых они установлены.
- Пакеты[11].
- Поддержка последовательностей.
- Аналитические функции в SQL[12].
- Profile manager.
- Oracle Label Security[13].
- Streams[14].
- Advanced Queuing.
- Flashback Query.
- RAC (англ. Real Application Clusters).
- RAT (Real Application Testing) — позволяет значительно снизить затраты на испытание новой конфигурации программного или аппаратного обеспечения, так как способна точно воспроизвести на ней нагрузку рабочего сервера.
- Data Guard — технология, позволяющая создать резервный сервер, который может работать в паре с основным, снижая нагрузку на него, и который может автоматически заменить основной сервер в случае его отказа или планового отключения (есть вариант с постоянной доступностью резервного сервера для чтения — Active Data Guard).
- Total Recall — даёт возможность разгрузить базу данных от устаревшей, редко используемой информации, сохраняя при этом возможность доступа к ней, так что для пользователя базы данных это изменение остаётся незамеченным.
- Объектные типы (в смысле объектно-ориентированного подхода).
- Automatic Database Diagnostic Monitoring — автоматический мониторинг и диагностика баз для выявления проблем производительности и, возможно, автоматической корректировки (если таковая определена администратором).
- Подсказки для изменения плана выполнения запроса.
Примечания
- ↑ New XML Features in the Server, Oracle9i Database New Features Release 1 (9.0.1) (Part Number A90120-02). Дата обращения: 18 апреля 2013. Архивировано 24 июля 2012 года.
- ↑ Database Resident Connection Pooling (DRCP), Oracle Database New Features Guide 11g Release 1 (11.1) (Part Number B28279-06). Дата обращения: 18 апреля 2013. Архивировано 27 июня 2013 года.
- ↑ Пресс-релиз по Oracle 11g Release 2
- ↑ Riyaj Shamsudeen. Oracle Database 12c review: Finally, a true cloud database. Pluggable databases bring a new level of efficiency and ease to database consolidation, while a wealth of other new features address performance, availability, and more (англ.) (недоступная ссылка — история). Infoworld (26 июня 2013). Дата обращения: 26 июня 2013. Архивировано 1 июля 2013 года.
- ↑ Guest Author. Oracle Database 18c : Now available on the Oracle Cloud and Oracle Engineered Systems. blogs.oracle.com. Дата обращения: 11 февраля 2019. Архивировано 12 февраля 2019 года.
- ↑ Информация о дате выпуска дистрибутивов получена на основе дата размещения дистрибутивов на otn.oracle.com Архивировано 7 февраля 2012 года. или анализе даты модификации файлов соответствующего дистрибутива.
- ↑ 1 2 Release Schedule of Current Database Releases
- ↑ Oracle Database 12c Release 1 for Microsoft Windows (x64). Дата обращения: 11 августа 2013. Архивировано 29 августа 2013 года.
- ↑ Jellema, Lucas Oracle Database 12c Release 2 is out – just only on the cloud. Amis Technology Blog (28 сентября 2016). Дата обращения: 23 марта 2017. Архивировано 23 марта 2017 года.
- ↑ Oracle Database 18c XE now available! Дата обращения: 12 февраля 2019. Архивировано 13 февраля 2019 года.
- ↑ Packages. Дата обращения: 19 сентября 2005. Архивировано 25 ноября 2005 года.
- ↑ Аналитические функции в Oracle. Дата обращения: 25 декабря 2015. Архивировано 25 декабря 2015 года.
- ↑ Теперь защищаем каждую строку Архивная копия от 7 сентября 2005 на Wayback Machine Oracle Magazine RE — Август 2004
- ↑ Oracle Streams — универсальное средство обмена информацией. Дата обращения: 18 апреля 2013. Архивировано 28 февраля 2013 года.
Литература
- Том Кайт. Oracle для профессионалов: архитектура, методики программирования и особенности версий 9i, 10g и 11g, 2-е издание = Expert Oracle Database Architecture: Oracle Database Programming 9i, 10g, and 11g Techniques and Solutions, Second Edition. — М.: «Вильямс», 2011. — 848 с. — ISBN 978-5-8459-1703-4.
- Сэм Р. Алапати. Oracle Database 11g: руководство администратора баз данных = Expert Oracle Database 11g Administration. — М.: «Вильямс», 2009. — 1440 с. — ISBN 978-5-8459-1592-4.
- Рик Гринвальд, Роберт Стаковьяк, Гэри Додж, Дэвид Кляйн, Бен Шапиро, Кристофер Дж. Челья. Программирование баз данных Oracle для профессионалов = Professional Oracle Programming. — М.: «Диалектика», 2007. — 784 с. — ISBN 978-5-8459-1138-4.
Ссылки
- Сайт Oracle (рус.)
- Наталия Елманова, Алексей Федоров. Oracle и Microsoft SQL Server: прошлое, настоящее и будущее КомпьютерПресс № 2001-07
- Марк Ривкин. Новые возможности Oracle 9.2 Открытые системы № 2002-11
Эта страница в последний раз была отредактирована 14 сентября 2022 в 16:05.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Содержание:
Истрия
В 1974 году компания IBM начала исследовательский проект по разработке РСУБД, получивший название System R[5]. Её первым коммерческий продуктом был IBM SQL/DS, выпущенный в 1982 году[6].
Однако первой коммерчески успешной РСУБД стала Oracle, выпущенная в 1979 году компанией Relational Software, которая впоследствии была переименована в Oracle Corporation[7].
В 1970-е годы, когда уже были получены почти все основные теоретические результаты и даже существовали первые прототипы реляционных СУБД, многие авторитетные специалисты отрицали возможность добиться эффективной реализации таких систем. Однако преимущества реляционного подхода и развитие методов и алгоритмов организации и управления реляционными базами данных привели к тому, что к концу 1980-х годов реляционные системы заняли на мировом рынке СУБД доминирующее положение.[8]:37
В связи с резким ростом популярности РСУБД в 1980-х годах многие компании стали позиционировать свои СУБД как «реляционные» в рекламных целях, иногда не имея для этого достаточных оснований, вследствие чего автор реляционной модели данных Эдгар Кодд в 1985 году опубликовал свои знаменитые «12 правил Кодда», которым должна удовлетворять каждая РСУБД.
Реляционная СУБД
Эдгар Франк «Тед» Кодд (англ. Edgar Frank Codd; 23 августа 1923 — 18 апреля 2003) — британский учёный, работы которого заложили основы теории реляционных баз данных.
Работая в компании IBM, он создал реляционную модель данных. Он также внёс существенный вклад в другие области информатики.
Важные события в жизни
Обучался математике и химии в Оксфордском университете (Exeter College).В 1948 переехал в Нью-Йорк, чтобы работать в IBM как математик-программист. В 1953, из-за преследований со стороны сенатора Джозефа Маккарти (Joseph McCarthy), Кодд переехал в Оттаву (Канада). В 1963 он вернулся в США и получил докторскую степень по информатике и вычислительной технике в Университете Мичигана (University of Michigan, Ann Arbor). В 1965 он переехал в Сан-Хосе (Калифорния), чтобы работать в Альмаденском Исследовательском Центре IBM.
В 60-х — 70-х годах он работал над своими теориями хранения данных. В 1970 издал работу «A Relational Model of Data for Large Shared Data Banks», которая считается первой работой по реляционной модели данных.
Кодд продолжил разрабатывать и расширять реляционную модель. Одна из нормальных форм названа в его честь (Нормальная форма Бойса — Кодда).
Подробности
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
- Каждый элемент таблицы является одним элементом данных
- Каждый столбец обладает своим уникальным именем
- Одинаковые строки в таблице отсутствуют
- Все столбцы в таблице однородные, то есть все элементы в столбце имеют одинаковый тип
- Порядок следования строк и столбцов может быть произвольным
Реляционные СУБД, ориентированные на реализацию систем операционной обработки данных, менее эффективны в задачах аналитической обработки, чем многомерные базы данных. Это связано, во-первых, с наличием достаточно жестких ограничений накладываемых существующей реализацией языка SQL. Примером такого реально существующего ограничения является предположение о том, что данные в реляционной базе неупорядочены (или более точно, упорядочены случайным образом). При этом их упорядочивание требует дополнительных затрат времени на сортировку при каждом обращении к базе данных. В аналитических системах ввод и выборка данных осуществляется большими порциями. В свою очередь данные, после того как они попадают в базу данных, остаются неизменными в течение длительного периода времени. И здесь более эффективным оказывается хранение данных в форме частично денормализованных таблиц, в которых для увеличения производительности могут храниться не только детализированные, но и предварительно вычисленные агрегированные значения. А для навигации и выборки могут использоваться специализированные, основанные на предположении о малой изменчивости и малоподвижности данных в базе данных, методы адресации и индексации. Такой способ организации данных, иногда называют предвычисленным, подчеркивая тем самым, его отличие от нормализованного реляционного подхода, предполагающего динамическое вычисление различного вида итогов (агрегация) и установление связей между реквизитами из разных таблиц (операции соединения).
Основные недостатки
Помимо невысокой эффективности, о которой было сказано ранее, к недостаткам традиционных реляционных СУБДможно отнести факт того, что в качестве основного и, часто, единственного механизма, обеспечивающего быстрый поиск и выборку отдельных строк таблице (или в связанных через внешние ключи таблицах), обычно используются различные модификации индексов, основанных на B-деревьях. Такое решение оказывается эффективным только при обработке небольших групп записей и высокой интенсивности модификации данных в базах данных.
Реляционные СУБД, возможно, никогда не уйдут со сцены, но дни их господства определенно сочтены, полагает Пол Крил, опубликовавший в сентябре 2011 года статью об этом в InfoWorld. Он цитирует аналитика Робина Блора, который утверждает, что архитектура реляционных СУБД морально устарела, так как была создана еще в прошлую эпоху и не отвечает современным требованиям.
Реляционные СУБД все еще доминируют в системах обработки финансовых транзакций, но сегодня компании все шире применяют СУБД новой архитектуры NoSQL — горизонтально масштабируемые, распределенные и разрабатываемые в открытых кодах. Примеры таких систем — Hadoop, MapReduce и VoltDB. По оценкам аналитиков Forrester, около 75% данных на предприятиях это либо полуструктурированная информация (XML, электронная почта и EDI), либо неструктурированная (текст, изображения, аудио и видео), и лишь 5% от этих данных хранится в реляционных СУБД, а остальное — в базах других типов или в виде файлов, и неподвластно обработке реляционными системами.
По мнению Блора, реляционные СУБД «могут умереть так, что этого никто не заметит» — например, если Oracle в своей СУБД попросту заменит SQL-механизм на NoSQL. Таким механизмом, считает аналитик, могла бы стать одна из существующих сегодня столбцовых СУБД.
Виды связей таблиц
Существует три виды связей таблиц.
Связь с отношением «один-ко-многим». Является наиболее часто используемым типом связи между таблицами. В такой связи каждой записи в таблице A могут соответствовать несколько записей в таблице B, а запись в таблице B не может иметь более одной соответствующей ей записи в таблице A. Например, в одном подразделение может работать несколько сотрудников, но ни один сотрудник не может работать сразу в нескольких подразделениях. Принятое обозначение (1 – ∞).
Отношение «многие-ко-многим». При этом отношении одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит по крайней мере из двух полей, которые являются полями внешнего ключа в таблицах A и B. Например, между таблицами инспекторов и лиц, пересекающих границу, связь определяется отношением «многие-ко-многим». Один декларант может обсуживаться у нескольких инспекторов, в то же время инспектор может обслуживать несколько лиц. Такая связь определяется путем создания двух связей с отношением «один-ко-многим» для таблицы Инспектор_Декларант, в которой обязательно должны быть поля КлючИнспектора и КлючДекларанта.
При отношении «один-к-одному» запись в таблице A может иметь не более одной связанной записи в таблице B и наоборот. Этот тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением «один-к-одному» используют для разделения очень широких таблиц или для отделения части таблицы по соображениям защиты.
Популярные СУБД
- SQLite: очень мощная встраиваемая РСУБД.
- MySQL: самая популярная и часто используемая РСУБД.
- PostgreSQL: самая продвинутая и гибкая РСУБД.
SQLite
SQLite — это изумительная библиотека, встраиваемая в приложение, которое её использует. Будучи файловой БД, она предоставляет отличный набор инструментов для более простой (в сравнении с серверными БД) обработки любых видов данных.
Когда приложение использует SQLite, их связь производится с помощью функциональных и прямых вызовов файлов, содержащих данные (например, баз данных SQLite), а не какого-то интерфейса, что повышает скорость и производительность операций.
Поддерживаемые типы данных
- NULL: NULL-значение.
- INTEGER: целое со знаком, хранящееся в 1, 2, 3, 4, 6, или 8 байтах.
- REAL: число с плавающей запятой, хранящееся в 8-байтовом формате IEEE.
- TEXT: текстовая строка с кодировкойUTF-8, UTF-16BE или UTF-16LE.
- BLOB: тип данных, хранящийся точно в таком же виде, в каком и был получен.
Note: для получения более подробной информации ознакомьтесь с документацией.
Преимущества
- Файловая: вся база данных хранится в одном файле, что облегчает перемещение.
- Стандартизированная: SQLite использует SQL; некоторые функции опущены (RIGHT OUTER JOIN или FOR EACH STATEMENT), однако, есть и некоторые новые.
- Отлично подходит для разработки и даже тестирования: во время этапа разработки большинству требуется масштабируемое решение. SQLite, со своим богатым набором функций, может предоставить более чем достаточный функционал, при этом будучи достаточно простой для работы с одним файлом и связанной сишной библиотекой.
Недостатки
- Отсутствие пользовательского управления: продвинутые БД предоставляют пользователям возможность управлять связями в таблицах в соответствии с привилегиями, но у SQLite такой функции нет.
- Невозможность дополнительной настройки: опять-таки, SQLite нельзя сделать более производительной, поковырявшись в настройках — так уж она устроена.
Когда стоит использовать SQLite
- Встроенные приложения: все портируемые не предназначенные для масштабирования приложения — например, локальные однопользовательские приложения, мобильные приложения или игры.
- Система доступа к дисковой памяти: в большинстве случаев приложения, часто производящие прямые операции чтения/записи на диск, можно перевести на SQLite для повышения производительности.
- Тестирование: отлично подойдёт для большинства приложений, частью функционала которых является тестирование бизнес-логики.
Когда не стоит использовать SQLite
- Многопользовательские приложения: если вы работаете над приложением, доступом к БД в котором будут одновременно пользоваться несколько человек, лучше выбрать полнофункциональную РСУБД — например, MySQL.
- Приложения, записывающие большие объёмы данных: одним из ограничений SQLite являются операции записи. Эта РСУБД допускает единовременное исполнение лишь одной операции записи.
MySQL
MySQL — это самая популярная из всех крупных серверных БД. Разобраться в ней очень просто, да и в сети о ней можно найти большое количество информации. Хотя MySQL и не пытается полностью реализовать SQL-стандарты, она предлагает широкий функционал. Приложения общаются с базой данных через процесс-демон.
Поддерживаемые типы данных
- TINYINT: очень маленькое целое.
- SMALLINT: маленькое целое.
- MEDIUMINT: целое среднего размера.
- INT или INTEGER: целое нормального размера.
- BIGINT: большое целое.
- FLOAT: знаковое число с плавающей запятой одинарной точности.
- DOUBLE, DOUBLE PRECISION, REAL: знаковое число с плавающей запятой двойной точности.
- DECIMAL, NUMERIC: знаковое число с плавающей запятой.
- DATE: дата.
- DATETIME: комбинация даты и времени.
- TIMESTAMP: отметка времени.
- TIME: время.
- YEAR: год в формате YY или YYYY.
- CHAR: строка фиксированного размера, дополняемая справа пробелами до максимальной длины.
- VARCHAR: строка переменной длины.
- TINYBLOB, TINYTEXT: BLOB- или TEXT-столбец длиной максимум 255 (2^8 — 1) символов.
- BLOB, TEXT: BLOB- или TEXT-столбец длиной максимум 65535 (2^16 — 1) символов.
- MEDIUMBLOB, MEDIUMTEXT: BLOB- или TEXT-столбец длиной максимум 16777215 (2^24 — 1) символов.
- LONGBLOB, LONGTEXT: BLOB- или TEXT-столбец длиной максимум 4294967295 (2^32 — 1) символов.
- ENUM: перечисление.
- SET: множества.
Преимущества
- Простота: MySQL легко устанавливается. Существует много сторонних инструментов, включая визуальные, облегчающих начало работы с БД.
- Много функций: MySQL поддерживает большую часть функционала SQL.
- Безопасность: в MySQL встроено много функций безопасности.
- Мощность и масштабируемость: MySQL может работать с действительно большими объёмами данных, и неплохо походит для масштабируемых приложений.
- Скорость: пренебрежение некоторыми стандартами позволяет MySQL работать производительнее, местами срезая на поворотах.
Недостатки
- Известные ограничения: по определению, MySQL не может сделать всё, что угодно, и в ней присутствуют определённые ограничения функциональности.
- Вопросы надёжности: некоторые операции реализованы менее надёжно, чем в других РСУБД.
- Застой в разработке: хотя MySQL и является open-source продуктом, работа над ней сильно заторможена. Тем не менее, существует несколько БД, полностью основанных на MySQL (например, MariaDB). Кстати, подробнее о родстве MariaDB и MySQL можно из нашего интервью с создателем обеих РСУБД — Джеймсом Боттомли.
Когда стоит использовать MySQL
- Распределённые операции: когда вам нужен функционал бо́льший, чем может предоставить SQLite, стоит использовать MySQL.
- Высокая безопасность: функции безопасности MySQL предоставляют надёжную защиту доступа и использования данных.
- Веб-сайты и приложения: большая часть веб-ресурсов вполне может работать с MySQL, несмотря на ограничения. Этот инструмент весьма гибок и прост в обращении, что только на руку в длительной перспективе.
- Кастомные решения: если вы работаете над очень специфичным продуктом, MySQL подстроится под ваши потребности благодаря широкому спектру настроек и режимов работы.
Когда не стоит использовать MySQL
- SQL-совместимость: поскольку MySQL не пытается полностью реализовать стандарты SQL, она не является полностью совместимой с SQL. Из-за этого могут возникнуть проблемы при интеграции с другими РСУБД.
- Конкурентность: хотя MySQL неплохо справляется с операциями чтения, одновременные операции чтения-записи могут вызвать проблемы.
- Недостаток функций: в зависимости от выбора движка MySQL может недоставать некоторых функций.
PostgreSQL
PostgreSQL — это самая продвинутая РСУБД, ориентирующаяся в первую очередь на полное соответствие стандартам и расширяемость. PostgreSQL, или Postgres, пытается полностью соответствовать SQL-стандартам ANSI/ISO.
PostgreSQL отличается от других РСУБД тем, что обладает объектно-ориентированным функционалом, в том числе полной поддержкой концепта ACID (Atomicity, Consistency, Isolation, Durability).
Будучи основанным на мощной технологии Postgres отлично справляется с одновременной обработкой нескольких заданий. Поддержка конкурентности реализована с использованием MVCC (Multiversion Concurrency Control), что также обеспечивает совместимость с ACID.
Хотя эта РСУБД не так популярна, как MySQL, существует много сторонних инструментов и библиотек для облегчения работы с PostgreSQL.
Поддерживаемые типы данных
- bigint: знаковое 8-байтное целое.
- bigserial: автоматически инкрементируемое 8-битное целое.
- bit [(n)]: битовая строка фиксированной длины.
- bit varying [(n)]: битовая строка переменной длины.
- boolean: булевская величина.
- box: прямоугольник на плоскости.
- bytea: бинарные данные.
- character varying [(n)]: строка символов фиксированной длины.
- character [(n)]: строка символов переменной длины.
- cidr: сетевой адрес IPv4 или IPv6.
- circle: круг на плоскости.
- date: календарная дата.
- double precision: число с плавающей запятой двойной точности.
- inet: адрес хоста IPv4 или IPv6.
- integer: знаковое 4-байтное целое.
- interval [fields] [(p)]: временной промежуток.
- line: бесконечная прямая на плоскости.
- lseg: отрезок на плоскости.
- macaddr: MAC-адрес.
- money: денежная величина.
- path: геометрический путь на плоскости.
- point: геометрическая точка на плоскости.
- polygon: многоугольник на плоскости.
- real: число с плавающей запятой одинарной точности.
- smallint: знаковое 2-байтное целое.
- serial: автоматически инкрементируемое 4-битное целое.
- text: строка символов переменной длины.
- time [(p)] [without time zone]: время суток (без часового пояса).
- time [(p)] with time zone: время суток (с часовым поясом).
- timestamp [(p)] [without time zone]: дата и время (без часового пояса).
- timestamp [(p)] with time zone: дата и время (с часовым поясом).
- tsquery: запрос текстового поиска.
- tsvector: документ текстового поиска.
- txid_snapshot: снэпшот ID пользовательской транзакции.
- uuid: уникальный идентификатор.
- xml: XML-данные.
Преимущества
- Полная SQL-совместимость.
- Сообщество: PostgreSQL поддерживается опытным сообществом 24/7.
- Поддержка сторонними организациями: несмотря на очень продвинутые функции, PostgreSQL используется в многих инструментах, связанных с РСУБД.
- Расширяемость: PostgreSQL можно программно расширить за счёт хранимых процедур.
- Объектно-ориентированность: PostgreSQL — не только реляционная, но и объектно-ориентированная СУБД.
Недостатки
- Производительность: В простых операциях чтения PostgreSQL может уступать своим соперникам.
- Популярность: из-за своей сложности инструмент не очень популярен.
- Хостинг: из-за вышеперечисленных факторов проблематично найти подходящего провайдера.
Когда стоит использовать PostgreSQL
- Целостность данных: если приоритет стоит на надёжность и целостность данных, PostgreSQL — лучший выбор.
- Сложные процедуры: если ваша БД должна выполнять сложные процедуры, стоит выбрать PostgreSQL в силу её расширяемости.
- Интеграция: если в будущем вам предстоит перемещать всю базу на другое решение, меньше всего проблем возникнет с PostgreSQL.
Когда не стоит использовать PostgreSQL
- Скорость: если всё, что нужно — это быстрые операции чтения, не стоит использовать PostgreSQL.
- Простые ситуации: если вам не требуется повышенная надёжность, поддержка ACID и всё такое, использование PostgreSQL — это стрельба из пушки по мухам.
Источники
1 https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%A1%D0%A3%D0%91%D0%94
2 http://www.tadviser.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F:%D0%A0%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%A1%D0%A3%D0%91%D0%94
3 https://studfiles.net/preview/2893940/page:8/
4,https://tproger.ru/translations/sqlite-mysql-postgresql-comparison/
- Виды проектного анализа (Сущность проектного анализа.)
- Подразделения и персонал. Предприятия гостеприимства. Основные элементы сервиса в ресторанах различного уровня
- Становление и развитие адвокатуры в России на рубеже XIX — XX вв.
- Виды гражданских правоотношений (Гражданское правоотношение как вид общественных отношений)
- Инновационные проекты
- Досрочного прекращения полномочий Президента РФ
- Общие требования к оригинал-макету
- Основные принципы и механизмы корпоративного управления. (Основные понятия корпоративного управления)
- Носители документов, их развитие
- Поздний модернизм (1940-1980-е гг.)
- Система информации в оценке бизнеса (Требования к классификации информации при оценке стоимости бизнеса)
- Понятие и виды юридических фактов в гражданском праве (Дисциплина: Гражданское право)