Различные архитектурные решения, используемые при реализации многопользовательских субд. краткий обзор субд. Обзор современных реляционных субд

Настольные СУБД используются для сравнительно небольших задач (небольшой объем обрабатываемых данных, малое количество пользователей). С учетом этого, указанные СУБД имеют относительно упрощенную архитектуру, в частности, функционируют в режиме файл-сервер, поддерживают не все возможные функции СУБД (например, не ведется журнал транзакций, отсутствует возможность автоматического восстановления базы данных после сбоев и т. п.). Тем не менее, такие системы имеют достаточно обширную область применения. Прежде всего, это государственные (муниципальные) учреждения, сфера образования, сфера обслуживания, малый и средний бизнес. Специфика возникающих там задач заключается в том, что объемы данных не являются катастрофически большими, частота обновлений не бывает слишком высокой, организация территориально обычно расположена в одном небольшом здании, количество пользователей колеблется от одного до 10–15 человек. В подобных условиях использование настольных СУБД для управления информационными системами является вполне оправданным, и они с успехом применяются.

Одними из первых СУБД были так называемые dBase-совместимые программные системы, разработанные разными фирмами. Первой широко распространенной системой такого рода была система dBase III – PLUS (фирма Achton-Tate). Развитый язык программирования, удобный интерфейс, доступный для массового пользователя, способствовали широкому распространению системы. В то же время работа системы в режиме интерпретации обусловливала низкую производительность на стадии выполнения. Это привело к появлению новых систем-компиляторов, близких к системе dBase III – PLUS: Clipper (фирма Nantucket Inc.), FoxPro (фирма Fox Software), FoxBase+ (фирма Fox Software), Visual FoxPro (фирма Microsoft). Одно время достаточно широко использовалась СУБД PARADOX (фирма Borland International).

В последние годы очень широкое распространение получила система управления базами данных Microsoft Access, которая входит в целый ряд версий пакета Microsoft Office(фирма Microsoft).

3.5.2. Серверные СУБД

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

Основными производителями таких систем обработки и хранения данных являются 3 корпорации: Oracle, Microsoft и IBM. Диаграмма соотношения объемов продаж соответствующих систем (источник: IDC Report, Май 2006) приводится на рис. 3.4 .


Рис. 3.4.

Наиболее распространенными клиент-серверными системами здесь соответственно являются системы Oracle (разработчик компания Oracle ), MS SQL Server (разработчик компания Microsoft), DB2 , Informix Dynamic Server (компания IBM).

Дадим краткую характеристику этим системам.

MS SQL Server

К настоящему времени разработано несколько версий систем: MS SQL Server-2000, MS SQL Server -2005, MS SQL Server-2008. Приведем информацию о системе MS SQL Server-2008 с сервера Microsoft (http://www.microsoft.com/rus/SQL/2008/default.mspx)

Microsoft SQL Server 2008 - это законченное предложение в области баз данных и анализа данных для быстрого создания масштабируемых решений электронной коммерции, бизнес-приложений и хранилищ данных. Оно позволяет значительно сократить время выхода этих решений на рынок, одновременно обеспечивая масштабируемость, отвечающую самым высоким требованиям. В SQL Server включена поддержка языка XML и протокола HTTP, средства повышения быстродействия и доступности, позволяющие распределить нагрузку и обеспечить бесперебойную работу, функции для улучшения управления и настройки, снижающие совокупную стоимость владения.

Платформа бизнес-анализа SQL Server 2008, тесно интегрированная с Microsoft Office, предоставляет развитую масштабируемую инфраструктуру для внедрения мощных возможностей бизнес-анализа в рабочий процесс всех бизнес-подразделений вашей компании, открывая доступ к нужной бизнес-информации через знакомый интерфейс MS Excel и MS Word.

MS SQL Server-2008 поддерживает создание и работу с корпоративным хранилищем данных, объединяющим информацию со всех систем и приложений, позволяющим получить единую комплексную картину бизнеса вашей компании.

MS SQL Server-2008 предоставляет масштабируемый и высокопроизводительный "процессор данных" - для самых ответственных и требовательных бизнес-приложений, тем, кому необходим высочайший уровень надежности и защиты, позволяя при этом снизить совокупную стоимость владения за счет расширенных возможностей по управлению серверной инфраструктурой.

MS SQL Server-2008 предлагает разработчикам развитую, удобную и функциональную среду программирования, включая средства работы с веб службами, инновационные технологии доступа к данным – все, что необходимо для эффективной работы с данными любых типов и форматов.

Отдельные аспекты MS SQL Server – 2008 будут описаны в лекциях "Структура современной СУБД на примере Microsoft SQL Server 2008" и "Направления развития баз данных" 14.

Oracle

К настоящему времени разработано несколько версий систем, каждая из которых включает целую линейку продуктов, например Oracle 8, Oracle 9i, Oracle 10g.

Соответствующие линейки продуктов включают как собственно СУБД (например Oracle Database 10g, Oracle Database 11g) , так и средства разработки и анализа данных.

Приведем информацию о системе с сервера Oracle http://www.oracle.com/global/ru/mid/oracle_products/database.html).

Oracle предлагает комплексные, открытые, доступные и удобные в использовании технологические решения. Готовые пакетируемые решения автоматически включают в свою стоимость базу данных, сервер приложений, интеграционную платформу, инструменты аналитики и управления неструктурированными данными. Масштабируемые бизнес-приложения Oracle могут быть легко интегрированы с ИТ-инфраструктурой предприятия без потери уже вложенных в IT инвестиций.

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

Серверы баз данных компании IBM

К настоящему времени разработаны линейки продуктов DB2 и Informix , включающие как собственно СУБД так и средства разработки и анализа данных (DB2 Universal Database DB2 Personal Edition, DB2 Enterprise 9 и др., а также Informix Dynamic Server, Informix Dynamic Server Express, Informix Extended Parallel Server и др.

Приведем информацию о части таких систем с сервера (

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

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

Системой управления базами данных является программная и языковая среда для создания, управления и обработки информационных баз. Назначение СУБД:

  • работа с базами на внешней (диски, ленты и т. д.) и оперативной памяти;
  • совместный доступ пользователей;
  • контроль изменений, архивирование и восстановление баз;
  • предоставление языка доступа для ;
  • утилиты для создания, модификации и управления базами.

Если говорить проще, то база данных определяет методику хранения информации , а СУБД предоставляет средства для ее обработки . Дополнительно системы управления базами разделяются на системы общего применения , которые могут обрабатывать различные данные и специализированные , разработанные под конкретную предметную область или тип информации. Примером специализированных систем управления базами данных являются объектно-ориентированные.

Реляционные системы управления

С момента появления компьютерных баз данных было создано множество моделей их работы, но реляционная модель оказалась самой универсальной. Она представляет собой связанный набор информационных таблиц, гарантирует целостность и минимальную избыточность информации. Табличная модель оказалась применима к большинству предметных областей, и рынок реляционных систем управления базами данных стал развиваться быстрыми темпами. На рисунке показан пример реляционной структуры «База студентов».

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

Реляционная модель успешно используется и в разработке Интернет-проектов. Примерами являются СУБД MySQL и PostgreSQL.

Технология NoSQL

Увеличение объемов информации и усложнение взаимосвязей привело к появлению новых систем управления базами данных. Информация перестала быть независимой друг от друга, и иногда вообще невозможно жестко описать ее структуру. Реляционные базы уже не могут справляться с такими задачами. Это привело к появлению нового типа информационных баз и систем управления ими, получивших общее название NoSQL («нет SQL»).

  1. «Ключ-Значение» . Самые популярные СУБД - Redis, Voldemort, Tokyo Cabinet и Dynomite.
  2. Клоны СУБД BigTable. Разработана Google для внутреннего использования в поисковой системе. Официально BigTableне предлагается, но есть СУБД на ее основе. Это Hadoop, Hypertable и Cassandra.
  3. Документо-ориентированные. Наиболее популярны Berkeley DB XML, MongoD, eXist и CouchDB.
  4. Базы на основе Используется в Neo4j, Sones graphDB и AllegroGraph.

Будущее СУБД

Рынок продолжает развиваться и все больше склоняется к использованию NoSQL-решений. Конечно, на «классическом» SQL реализовано огромное количество программных систем различной сложности, и за ним стоят такие гиганты рынка как Microsoft и ORACLE. Но с большой долей уверенности можно предположить, что NoSQL в ближайшие годы смогут значительно потеснить лидеров в разработке сложных информационных систем.

1. Какие тренды в развитии серверных СУБД вы бы могли отметить в 2015–2016 годах?

Виталий Чесноков , QSOFT
Самые главные тренды в развитии современных СУБД: использование виртуализации и GRID-технологии, самодиагностика и автоматическое исправление, использование NoSQL-СУБД в Big Data, использование NewSQL-СУБД, выполнение C/C++ кода в адресном пространстве СУБД.

За последние несколько лет многократно выросли объемы данных, подходящих для обработки и хранения в БД. Был принято изменение закона «О персональных данных», гласящее, что персональные данные граждан РФ необходимо хранить на территории РФ. В некоторых западных странах так же действуют подобные законы. Все это приводит нас к необходимости кластеризации и разбиения данных на части.

Повсеместно растет процент использования NoSQL-СУБД, где это возможно, ввиду высокой скорости работы с данными и возможности сравнительно простой кластеризации. Получает распространение новый тип СУБД - NewSQL. В основные беспрецедентные функции NewSQL входят: возможность асинхронной мастер-мастер репликации, заменяющей классическую master-slave схему и обеспечивающей большую гибкость для высоконагруженных проектов; упрощение администрирования и обеспечение динамического управления базой; поддержка хранимых процедур на C/C++ и возможность выполнения C/C++ кода в адресном пространстве СУБД (обеспечивают практически неограниченную расширяемость и невероятный прирост в производительности); улучшение средств диагностики и отладки.

К тому же использование виртуализации в СУБД дает необходимую отказоустойчивость и возможность масштабирования.

Николай Фетюхин , MST
Переход к NoSQL и специализация баз данных. Например, можно обратить внимание на Redis и Tarantool. Последний содержит даже свой сервер приложений. Интересный тренд - совмещенные СУБД и backend, как Parse от Facebook. Также плавная миграция баз данных в облака.

Петр Урваев , SimbirSoft
Функции, успешно себя зарекомендовавшие в одних СУБД, через некоторое время реализуются и в других продуктах. Например, материализованные представления, вначале появившиеся в Oracle DBMS, через некоторое время были реализованы в MS SQL Server, а затем появились и в PostgreSQL. Преимущества, которые предоставляют NoSQL-решения постепенно также реализуются в реляционных СУБД. Например, в последних версиях PostgreSQL реализована поддержка работы с данными в формате JSON.

Евгений Гусев , ITECH
Изменения последних лет в сегменте СУБД носили как частный - применительно к отдельным лидирующим продуктам, так и структурный характер, так что трендов множество. Во-первых, гетерогенность. Переход к модели микросервисов дал возможность гибко подбирать средства решения задачи хранения данных, не ограничиваясь одним. Во-вторых, развитие NoSQL, in-memory storages. В-третьих, Big Data - революция, потребовавшая переосмыслить как методику хранения данных, так и само понятие «данные». В-четвертых, колоночные (column-oriented) БД.

2. По-вашему мнению, существует ли тенденция перехода СУБД в «облака»? Какие существуют плюсы и минусы данного подхода?

Виталий Чесноков , QSOFT
Да, безусловно такая тенденция существует. Для начала нужно разделять два принципиальных подхода в работе СУБД в облаке.

Первый - разворачивание в облаке виртуальной машины с СУБД. Можно загрузить на нее собственный образ или воспользоваться заранее заготовленным, с уже оптимизированной СУБД. По сути такая виртуальная машина принципиально не отличается от обычного физического сервера. Основным преимуществом по сравнению с физическим сервером является легкость масштабирования, как вертикального (можно в любой момент выделить для данной «виртулки» больше ресурсов), так и горизонтального (создание новой «виртуалки» занимает всего несколько минут). Еще один существенный плюс - высокая доступность облачных виртуальных машин (99,9%–99,99%). Также облачные хостеры предоставляют множество дополнительных услуг, таких как мониторинг, резервное копирование, панель управления сервером и т.д.

Принципиально иным подходом является облачная СУБД. В данном случае клиент покупает не сервер, а просто услугу использования СУБД. Текущий рынок публичных облачных СУБД, составляющий $400 млн, к 2017 году увеличится до $1,2 млрд. Основные плюсы данного подхода: оплата не предоставленных ресурсов (которые могут и «простаивать»), а лишь реально использованных: объем хранимых данных, количество обрабатываемых СУБД операций; нет необходимости настраивать и администрировать СУБД - эти задачи полностью лежат на хостере; нет необходимости задумываться о масштабировании; хостер предоставляет множество удобных и интуитивно понятных инструментов для управления СУБД; высокая доступность. Основным минусом является отсутствие возможности тонкой настройки СУБД.

Также можно отдельно выделить такой подвид облачной СУБД как DbaaS (Database as a Service). Практически всегда конкретный DbaaS - это одна определенная СУБД, предоставляемая в облаке непосредственными разработчиками. Отсюда очевидно выводится и разница в бизнес-моделях: облачные СУБД подходят для масштабных типовых задач, а DbaaS - для специализированных, под конкретную марку движка БД, с возможностью прямого общения с его разработчиками. Кроме того, DbaaS позволяет значительно точнее подобрать систему под нужную нагрузку, в частности за счет регулирования количества клиентских подключений.

Николай Апурин , Artwell
Тенденция существует. Большинство крупных (общероссийских) систем уже используют облачные БД.

Николай Фетюхин , MST
Тенденция слабая. Использование облаков хоть и снижает некоторые издержки, но приводит к новым расходам. Использование облака может быть выгодно лишь для проектов со слабой посещаемостью.

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

Петр Урваев , SimbirSoft
Тенденция перехода СУБД в облака существует как часть общего тренда по переносу в облака всей IT-инфраструктуры организаций. Основным плюсом такого подхода является возможность передать сопровождение БД. К минусам можно отнести хранение важных данных на неподконтрольной площадке. Пользователь облачного хранилища при необходимости уничтожения хранящихся данных не может быть уверен, что данные действительно стерты.

Евгений Гусев , ITECH
Существует и является одной из первичных. Плюсов у размещения БД в облаке масса: простота шардинга и репликации, возможность эффективно в контексте производительности отделить данные от бизнес-логики, легкое и понятное управление вычислительными мощностями и целый ряд других. Критичных минусов, основываясь на опыте, мы не видим. Чем большими объемами данных приходится оперировать, чем больше требуется горизонтального масштабирования, тем более оправданным становится использование облаков.

3. Какие факторы влияют на выбор СУБД? Для каких проектов больше подходят SQL базы данных, а для каких - NoSQL?

Виталий Чесноков , QSOFT
Основным фактором при выборе между SQL и NoSQL-СУБД являются нужды приложения. Для одних задач лучше подходит SQL, для других - NoSQL.

Можно выделить несколько ключевых различий между этими типами СУБД. Формат данных в SQL очень строгий, есть четкие схемы таблиц с указанием, где используется какой тип данных. В NoSQL нет заранее заданных схем документов - любая информация может быть добавлена в любой документ.
В SQL существуют сложные связи между различными таблицами. Данные в одной таблице часто являются ссылкой на данные в другой (принцип нормализации данных). В NoSQL, как правило, каждый документ является изолированной информационной единицей и хранит в себе все имеющиеся данные (принцип денормализации).
В SQL есть встроенные механизмы поддержки целостности данных (например, нельзя удалить запись из таблицы, если на нее ссылаются в других таблицах). В NoSQL таких механизмов нет, поэтому важна денормализация данных (в идеале - каждый документ хранит абсолютно всю информацию о каком-либо объекте).
В SQL есть механизм транзакций, который позволяет выполнить несколько SQL-запросов по принципу «все или ничего». В NoSQL подобный механизм существует только в пределах одного документа.
В идеальном случае NoSQL работает быстрее, чем SQL, за счет более простого метода хранения данных, который позволяет получить всю информацию об объекте простым запросом одного документа. Однако есть проблема, связанная с тем, что наиболее популярные NoSQL-СУБД появились достаточно недавно. Следствием этого является меньшее количество информации по этим СУБД и большее количество пока нерешенных проблем.
NoSQL гораздо проще масштабировать за счет отсутствия сложных логических связей между документами. К тому же большая часть NoSQL-СУБД изначально создавалась с упором на механизмы масштабирования.

В итоге NoSQL лучше подходит для проектов с большим объемом данных, который можно легко разделить на отдельные самостоятельные объекты. Дает высокую скорость и масштабируемость. SQL подходит для проектов, где различные данные имеют сложные логические связи друг с другом и крайне важна их целостность.

Николай Апурин , Artwell
NoSQL - для нестандартных вычислений с огромным объемом данных. Но как показала практика, объемы до 20 миллионов записей отлично перерабатываются SQL-базами.

Николай Фетюхин , MST
Технологии NoSQL активно используются известными компаниями, в том числе в высоконагруженных проектах. Сохранение данных и простые выборки при использовании NoSQL будут действительно быстрыми. В случае более сложных запросов задачу придется решать на стороне продукта, что усложняет сам продукт. В чистом виде мы не выбираем NoSQL. Усложнение логики продукта и эмуляции базовых вещей SQL приводит к удорожанию проекта. И не каждое NoSQL-решение обеспечивает безопасность данных в критических ситуациях.

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

Евгений Гусев , ITECH
В современном состоянии SQL / NoSQL - скорее не конкурирующие, а дополняющие друг друга сущности. Использование в одном приложении SQL-решений, когда требуется работать со сложными данными в их взаимосвязи, и NoSQL, когда на передний план выходит скорость работы с неструктурированной информацией, - совершенно естественная практика.

4. Как вы оцениваете степень распространения платных лицензий СУБД среди пользователей? В каких случаях имеет смысл покупать лицензию?

Виталий Чесноков , QSOFT
Есть два различных варианта разделения СУБД па платные и бесплатные.

Первый - бесплатные версии коммерческих СУБД (есть у MS SQL, Oracle и т.д.) По сути это урезанная версия СУБД, в которой отсутствует часть функционала. Здесь основной фактор выбора очень прост - нужен ли данному проекту данный функционал. Реже бывает бесплатная версия, которая не отличается от коммерческой по функционалу, но реже обновляется (Couchbase Server).

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

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

Николай Апурин , Artwell
Зачем платить, если есть бесплатные? Тем не менее, много решений, которые могут работать только с платными БД. В основном, это иностранные практики.

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

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

Производители СУБД Обзор MS SQL 2014 Лекция № 2. 2 Бутенко И. В. 2017 год

Введение Клиент-серверная архитектура: Кл - “активная” программа, Срв – пассивная. Реляционная база данных - это набор информации, сгруппированной в одну или несколько таблиц.

Производители СУБД IDC 2015 г. Oracle – 45% IBM – 18% Microsoft – 20% SAP– 5% Other – 12% Российская СУБД ЛИНТЕР компании РЕЛЭКС.

Рынок СУБД для ФГИС Федеральные инф. системы РФ (2015) Microsoft – 41, 1% Oracle - 28%. My. SQL – 15, 6% Postgree. SQL – 9, 7 IBM – 3, 1%

Oracle 1977 г. – Software Development Laboratories (SDL). 1979 г. – Relational Software, Inc. (RSI). Выпустила первую коммерческую СУБД Oracle v 2 на основе языка запросов SQL. 1982 г. – Oracle Systems 2013 г. – СУБД Oracle Database 12 c.

Oracle В результате поглощения Sun Microsystems ($7, 4 млрд.), к Oracle перешли активы My. SQL AB и свободно распространяемая СУБД My. SQL. Последняя версия 02. 2016 году – 5. 6. 29. Berkeley DB - встраиваемая нереляционная СУБД, перешедшая к Oracle в 2006 году в результате приобретения компании Sleepycat Software.

Виды лицензий Named User Plus (NUP) - лицензирование по количеству именованных пользователей. Процессор (Processor, CPU) - это процессор, на котором установлены и/или работают продукты Oracle.

Редакции 12 c Express Edition – бесплатная редакция; оперативная память - 1 Гб, 1 процессор, Win, Linux 32 x. Max объем пользовательских данных 4 Гб. Personal Edition (460$/NUP) – Версия для разработчиков. Standard Edition One ($5800/проц.) – не может устанавливаться на системы, имеющие более 2 -х процессорных разъёмов. Standard Edition ($17500/проц.) – не может устанавливаться на системы, имеющие более 4 -х процессорных разъёмов. Enterprise Edition ($47600/проц.) – содержит все компоненты Oracle Database, а также допускает расширение.

IBM 1896 – Tabulating Machine Company. 1921 – International Business Machines. 1968 – Иерархическая СУБД IMS (Information Management System). 1978 – Реляционная СУБД System R. 2001 – покупка Informix. 2013 – DB 2 10. 5 2014 – IBM Informix 12. 10 Panther

Редакции DB 2 Express–C – базовая бесплатная версия. Нет тех. поддержки. Максимум 2 ядра и 1 процессор, 2 Гб ОЗУ. Personal Edition – поддерживает однопользовательскую разработку. Everyplace – версия для карманных компьютеров. Express Edition – до 4 ядер (процессоры Intel) и до 4 Гб ОЗУ. Можно использовать только на 2 -х процессорных 2 -х ядерных серверах (для Intel) или слабее. Workgroup Server Edition – до 16 Гб ОЗУ. Enterprise Server Edition – полнофункциональная версия. http: //publib. boulder. ibm. com/infocenter/db 2 luw/v 9 r 7/index. j sp? topic=/com. ibm. db 2. luw. licensing. doc/r 0053238. ht ml

Редакции Informix Developer Edition – бесплатная некоммерческая версия. 1 ядро, 1 Гб ОЗУ, 8 Гб БД. Innovator-C Edition – бесплатная. 1 проц. , 4 ядра, 2 Гб ОЗУ. Choice Edition for Apple OS X and Win – 2 проц. , 8 ядер, 8 Гб ОЗУ. Growth Edition ($16050/проц.) – 4 проц. , 16 ядер, 16 Гб ОЗУ. Ultimate Edition – полнофункциональная версия. http: //www. ibm. com/developerworks/data/library/tec harticle/dm-0801 doe/index. html

Microsoft 1975 - MICROcomputer SOFTware 1988 – Microsoft и Sybsase выпустили первую версию SQL сервера для OS2. 1992 – Windows NT 3. 1 и SQL Sever 4. 2 для NT. 2005 – SQL Server 2005. 2008 – SQL Server 2008. 2014 – SQL Server 2014.

Редакции SQL Server Express Edition – поддерживает 1 процессор, 1 Гб памяти и БД до 10 Гб. Workgroup Edition – поддерживает до 2 процессоров, 4 Гб памяти, БД до 524 Пб (3743$/проц.). Standard Edition – поддерживает до 4 процессоров, 64 Гб памяти (7171$/проц.). Developer Edition – полнофункциональная версия для некоммерческого использования (37$/польз.). Enterprise Edition – полнофункциональная версия. 8 процессоров, 2 Тб памяти (27495$/проц.). Datacenter – максимальная версия (54990$/проц.). http: //www. microsoft. com/sqlserver/en/us/productinfo/compare. aspx

SAP 1976 г. - Systemanalyse und Programmentwicklung 2007 г. – приобретена Business Objects ($6, 8 млрд.). Анализ данных. 2010 г. – приобретена Sybase ($5, 8 млрд.). СУБД.

Прочие Inter. Systems: СУДБ Caché Enterprise. DB: открытый код (основа Postgre. SQL) Mark Logic: работа с неструктурированной информацией Maria. DB: открытый код + корп. версия

Службы SQL 2014 Analysis Services Reporting Services Integration Services Replication Notification Services Service Broker Full Text Search

Утилиты SQL 2014 Management Studio Books on-line Profiler Import and Export Data SQL Server Configuration Manager и т. п.

Системные БД master Содержит всю системную информацию. Записи о пользовательских логинах и все системные конфигурационные установки, информация обо всех остальных установленных в системе базах данных, включая их физическое размещение, а также информацию необходимую при их инициализации. msdb Эта база используется SQL Server Agent для хранения информации о задачах и предупреждениях, которые он должен выдавать. Кроме того там хранится протокол о выполненных задачах и их статусах.

Системные БД tempdb Содержит все временные таблицы и временные хранимые процедуры. Там же хранятся рабочие таблицы, создаваемые сервером. Это глобальный ресурс, к которому имеют доступ все пользователи. Эта база пересоздается при каждом рестарте сервера. Все временные объекты уничтожаются после разрыва соединения с пользователем. По умолчанию эта база растет, как ей необходимо. Возможно ее размещение в памяти. model Используется как шаблон при создании баз данных. При выполнении команды Create database сначала копируется вся информация, содержащаяся в этой базе. Tempdb тоже ее использует.

Объекты SQL Server Термин объект используется для описания компонента базы данных. Таблицы (table) – место хранения данных. Таблицы состоят из строк и столбцов. Хранимые процедуры – скомпилированная программа на языке SQL. Триггеры Представления Пользовательские типы данных Ограничения

Хранение объектов Физически БД представляет собой набор файлов, расположенных на диске. Формат этих файлов и детальные принципы работы с ними является коммерческой тайной производителя СУБД. Файлы данных (data file) – Основной или главный файл (Primary File) – Вторичный или дополнительный файл (Secondary File) Файлы журнала транзакций (transaction log files)

Создание БД CREATE DATABASE database_name [ ON [ [ , . . . n ] [ , [ , . . . n ] ] [ LOG ON { [ , . . . n ] } ] ] [ COLLATE collation_name ] [ WITH ]][; ]

Литература Крис Дейт «Введение в системы баз данных» Марк Шпеник, Оррин Следж и др. «Руководство администратора БД Microsoft SQL Server» Том Кайт «Oracle для профессионалов» Эрик Спирли «Корпоративные хранилища данных» Гектор Гарсиа-Молина, Конноли Т. , Кодд Э. , Чен П. , Дарвен Х. Inmon W. , Kimball R. , Marco D. , Tannenbaum Adrienne

Московский Энергетический Институт, Технический Университет

Обзор современных систем управления базами данных

Студент: Дудкина А.

Группа: А-13-07

Предмет: базы данных и экспертные системы

Преподаватель: Сидорова Н.П.

    Введение.

    Обзор основных СУБД:

    1. Microsoft SQL Server

    2. PostgreSQL

      Прочие СУБД

    Заключение: тенденции развития СУБД.

    Приложение.

Введение

В настоящее время в мире используется достаточно большое количество универсальных промышленных СУБД. Среди них можно выделить трех несомненных лидеров (как по уровню развития технологий, так и по объему рынка – они вместе занимают более 90% мирового рынка СУБД). Это СУБД первого эшелона – Oracle, Microsoft SQL Server, MySQL и IBM DB2, в последнее время быстро становится популярна система с открытым кодом PostgreSQL. Список СУБД второго эшелона довольно велик, сюда относят такие СУБД, как Sybase, Informix, Ingress, Adabas, Interbase, Progress, Cache, Linter, Firebird, Teradata и т д

Существуют также небольшие СУБД для нишевых (специализированных) решений и постоянно появляются прототипы новых специализированных СУБД (объектно-ориентированные СУБД, ХML СУБД, СУБД для обработки потоковых данных, СУБД для работы с текстами и т.д.).

Настольные СУБД используются для сравнительно небольших задач (небольшой объем обрабатываемых данных, малое количество пользователей). С учетом этого, указанные СУБД имеют относительно упрощенную архитектуру, в частности, функционируют в режиме файл-сервер, поддерживают не все возможные функции СУБД (например, не ведется журнал транзакций, отсутствуетвозможность автоматического восстановления базы данных после сбоев и т. п.). Тем не менее, такие системы имеют достаточно обширную область применения. Прежде всего, это государственные (муниципальные) учреждения, сфера образования, сфера обслуживания, малый исредний бизнес. Специфика возникающих там задач заключается в том, что объемы данных не являются катастрофически большими, частота обновлений не бывает слишком высокой, организация территориально обычно расположена в одном небольшом здании, количество пользователей колеблется от одного до 10–15 человек. В подобных условиях использованиенастольных СУБД для управления информационными системами является вполне оправданным, и они с успехом применяются.

Одними из первых СУБД были так называемые dBase-совместимые программные системы, разработанные разными фирмами. Первой широко распространенной системой такого рода была система dBase III – PLUS (фирма Achton-Tate). Развитый язык программирования, удобный интерфейс, доступный для массового пользователя, способствовали широкому распространению системы. В то же время работа системы в режиме интерпретации обусловливала низкую производительность на стадии выполнения. Это привело к появлению новых систем-компиляторов, близких к системе dBase III – PLUS: Clipper (фирма Nantucket Inc.), FoxPro (фирма Fox Software), FoxBase+ (фирма Fox Software), Visual FoxPro (фирма Microsoft). Одно время достаточно широко использовалась СУБД PARADOX (фирма Borland International).

В последние годы очень широкое распространение получила система управления базами данных Microsoft Access, которая входит в целый ряд версий пакета Microsoft Office(фирма Microsoft).

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

Основными производителями таких систем обработки и хранения данных являются 3 корпорации: Oracle, Microsoft и IBM. Диаграмма соотношения объемов продаж соответствующих систем (источник: IDC Report, Май 2006) приводится нарисунке.

Продажи ПО систем хранения данных в мире

Наиболее распространеннымиклиент-серверными системами здесь соответственно являются системы Oracle (разработчик компания Oracle), MS SQL Server (разработчик компания Microsoft), DB2, Informix Dynamic Server (компания IBM).

Дадим краткую характеристику основным системам.

Oracle

СУБД Oracle – ветеран рынка реляционных СУБД. Разработка этой системы была начата практически в то же время, что и IBM DB2 и по настоящее время эти системы остаются основными конкурентами (что видно из рисунка).

Oracle занимает лидирующие позиции на рынке СУБД и, что особенно важно, лидирует на платформах Unix и Windows. В России также обозначилось лидерство Oracle, особенно в области крупномасштабных информационных систем. Фактически в нашей стране СУБД Oracle стала стандартом государственных информационных систем.

Причина широкой распространенности Oracle заключается прежде всего в высоких эксплуатационных характеристиках СУБД, большом количестве подготовленных отечественных специалистов по Oracle, наличию поддерживающей инфраструктуры – учебных центров, широкой сети партнеров Oracle, большому числу технических курсов по Oracle в высших учебных заведениях и т.д. Так, только в Москве имеется более десятка учебных центров, предоставляющих широкий спектр технических курсов практически по всем линиям программных продуктов Oracle. Партнерская сеть по всей стране насчитывает более 160 организаций, что гарантирует поддержку ПО Oracle практически в любой точке страны. На русском языке уже издано достаточно много качественных книг по СУБД Oracle.

Служба технической поддержки Oracle построена на профессиональной основе. Служба технической поддержки в России сертифицирована по стандарту ISO 9000.

Кроме того, ведущие компании – партнеры Oracle, такие как FORS, RDTex имеют собственные центры технической поддержки.

Важным является и то, что наряду с СУБД, компания Oracle поставляет центральный инфраструктурный продукт – Internet Application Server, сервер приложений, функционирующих в среде Internet/Intranet, а также CASE-средства, средства быстрой разработки приложений, средства построения хранилищ данных, оперативного анализа данных, выявления сложных зависимостей в данных (Data Mining), что позволяет поставлять не отдельные продукты, но комплексные технологические решения для заказчиков.

С технической точки зрения важно то, что Oracle функционирует практически на всех существующих компьютерных платформах, в том числе и на больших ЭВМ (OS/390) и на еще сохраняющих популярность системах Vax VMS, не говоря уже о Windows NT и различных разновидностях Unix, в том числе Solaris, HP-UX, AIX, Linux, SCO Unix и т.д.

Другой важной характеристикой является поддержка Oracle всех возможных вариантов архитектур, в том числе симметричных многопроцессорных систем, кластеров, систем с массовым параллелизмом и т.д. Очевидна значимость этих характеристик для современных масштабных организаций, где эксплуатируется множество компьютеров различных моделей и производителей. В таких условиях фактором успеха является максимально возможная типизация предлагаемых решений, ставящая своей целью существенное снижение стоимости владения программным обеспечением. Унификация систем управления базами данных – один из наиболее значимых шагов на пути достижения этой цели.

Ядром СУБД Oracle является сервер базы данных, который поставляется в одном из четырех вариантов в зависимости от масштаба информационной системы, в рамках которой предполагается его применение. Для систем масштаба крупной организации предлагается продукт OracleDatabase Enterprise Edition (корпоративная редакция) , для которого имеется целый набор опций, архитектурно и функционально расширяющих возможности сервера. Именно Oracle Database Enterprise Edition устанавливается на кластерах (с опцией Parallel Server, по версию 8i включительно или RAC– Real Application Cluster, начиная с версии 9i и старше), позволяя создавать системы высокой готовности. Продукт Oracle Database Standard Edition(стандартная редакция) ориентирован на организации среднего масштаба или подразделения в составе крупной организации. Для персонального использования предназначен продукт Oracle Database Personal Edition (персональная редакция) .

Важнейшим преимуществом Oracle перед конкурентами (и, прежде всего, перед DB2) является идентичность кода различных версий сервера баз данных Oracle для всех платформ, гарантирующая идентичность и предсказуемость работы Oracle на всех типах компьютеров, какие бы не входили в ее состав. Все варианты сервера Oracle имеют в своей основе один и тот же исходный программный код и функционально идентичны, за исключением некоторых опций, которые, например, могут быть добавлены к Oracle Database Enterprise Edition и не могут - к Oracle Database Standard Edition.

Таким образом, для всех платформ существует единая СУБД в различных версиях, которая ведет себя одинаково и предоставляет одинаковую функциональность вне зависимости от платформы, на которой она установлена. Разработку серверных продуктов в составе СУБД выполняет единое подразделение корпорации Oracle, изменения вносятся централизовано, после этого подвергаются тщательному тестированию в базовом варианте, а затем переносятся на все платформы, где также детально проверяются. Возможность переноса Oracle обеспечивается специфической структурой исходного программного кода сервера. Приблизительно 80% программного кода Oracle – это программы на языке программирования C, который (с известными ограничениями) является платформо - независимым. Примерно 20% кода, представляющее собой ядро сервера, реализовано на машинно-зависимых языках и эта часть кода, разумеется, переписывается для различных платформ.

Жесткая технологическая схема разработки Oracle, опирающаяся на принципы идентичности исходного программного кода для различных версий и платформ, контрастирует со схемами других компаний. Так, СУБД DB/2 представляет собой семейство продуктов, но не единый продукт. Функционально версия DB2 для IBM S/390 столь существенно отличается от DB2 для платформ UNIX и NT, что позволяет говорить вообще о разных продуктах.

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

Microsoft SQL Server

Началом истории Microsoft SQL Server по праву можно считать 1986 год, когда Microsoft и Sybase выпустили совместную версию продукта - SQL Server 1.0 и адаптировали ее для операционной системы OS/2 при поддержке компании Ashton Tate, которая в то время была лидером на рынке СУБД для персональных компьютеров. Выпущенный в 1989 году продукт не получил должного признания из за проблем, связанных с продвижением OS/2. В 1990 году Sybase и Microsoft прервали соглашение с Ashton Tate и выпустили версию SQL Server 1.1 для новой операционной системы Windows 3.0. Microsoft отвечала за клиентские утилиты, программные интерфейсы и средства управления, а Sybase - за разработку ядра базы данных.

В 1992 году началась разработка новой версии продукта - SQL Server on Windows NT, который был выпущен в 1993 году одновременно с серверной операционной системой - Microsoft Windows NT. Тесная интеграция с Windows NT обеспечила продукту высокую производительность, управляемость и впервые у Microsoft появилась система управления базами данных, которая могла конкурировать с аналогичными продуктами на платформе UNIX. В 1994 году Microsoft и Sybase прервали совместное пятилетнее соглашение и бывшие партнеры занялись самостоятельным развитием своих, теперь уже конкурирующих продуктов.

В 1995 и 1996 годах увидели свет версии SQL Server 6.0 и 6.5, но некоторые проблемы с производительностью и управляемостью не позволили этим продуктам завоевать существенную долю рынка корпоративных СУБД. Было принято решение приостановить развитие текущей версии платформы и начать создание продукта «с нуля». Примерно в то же время компания DEC

продала свою систему управления базами данных компании Oracle и Microsoft удалось заполучить ведущих специалистов компании DEC - Джима Грея (Jim Gray), Дэйва Ломета (Dave Lomet) и Фила Бернштейна (Phil Bernstein). Команде разработчиков была поставлена задача - создать новое ядро базы данных с поддержкой масштабируемости, новый процессор обработки запросов, систему самонастройки, самоуправления, а также реализовать поддержку OLAP и ETL с привлечением специалистов из компании Panorama. Разработка новой СУБД заняла около трех лет и в 1998 году был выпущен продукт под названием SQL Server 7.0 - Microsoft начала завоевывать не только рынок реляционных СУБД, но и такие новые рынки, как business intelligence и data warehousing. Параллельно велась работа над SQL Server 2000, который включал в себя поддержку XML, индексированные представления, распределенные разделы на основе представлений, а также более чем 20% ное увеличение производительности для практически всех ключевых компонентов продукта. В 2000 году Microsoft стала полноправным лидером на рынке СУБД для платформы Windows.

Дальнейшее развитие продукта - в версиях SQL Server 2005 и SQL Server 2008 - добавило увеличение производительности, управляемости, расширенную поддержку различных типов данных, интегрированные системы создания отчетов, трансформации данных, расширенные функции анализа и т. п.

Microsoft SQL Server 2008 - это законченное предложение в области баз данных и анализа данных для быстрого создания масштабируемых решений электронной коммерции, бизнес-приложений и хранилищ данных. Оно позволяет значительно сократить время выхода этих решений на рынок, одновременно обеспечивая масштабируемость, отвечающую самым высоким требованиям. В SQL Server включена поддержка языка XML и протокола HTTP,средства повышения быстродействия и доступности, позволяющие распределить нагрузку и обеспечить бесперебойную работу, функции для улучшения управления и настройки, снижающие совокупнуюстоимость владения.

Платформа бизнес-анализа SQL Server 2008, тесно интегрированная с Microsoft Office, предоставляет развитую маштабируемую инфраструктуру для внедрения мощных возможностей бизнес-анализа в рабочий процесс всех бизнес-подразделений вашей компании, открывая доступ к нужной бизнес-информации через знакомый интерфейс MS Excel и MS Word.

MS SQL Server 2008 поддерживает создание и работу с корпоративным хранилищем данных, объединяющим информацию со всех систем и приложений, позволяющим получить единую комплексную картину бизнеса вашей компании.

MS SQL Server 2008 предоставляет масштабируемый ивысокопроизводительный"процессор данных" - для самых ответственных и требовательных бизнес-приложений, тем, кому необходим высочайший уровень надежности и защиты, позволяя при этом снизить совокупную стоимость владения за счет расширенных возможностей по управлению серверной инфраструктурой.

MS SQL Server 2008 предлагает разработчикам развитую, удобную и функциональную среду программирования, включая средства работы с веб службами, инновационные технологии доступа к данным – все, что необходимо для эффективной работы с данными любых типов и форматов

DB 2 Universal Database

Сначала немного информации с сервера (http :// www -01. ibm . com / software / ru / data /? pgel = ibmhzn ):

Универсальный сервер баз данных DB 2 Universal Database - это масштабируемая, обьектно-реляционная система управления базами данных с интегрированной поддержкой мультимедиа и Web , работающая на системах от персональных компьютеров и серверов на процессорах Intel до Unix , от однопроцессорных систем до симметричных многопроцессорных систем (SMP ) и систем с массовым параллелизмом (MPP ), на хостах AS /400 и мейнфреймах. DB 2 Universal Database объединяет в себе высокую производительность систем обработки транзакций в режиме on - line , объектно-реляционные расширения, усовершенствованные средства оптимизации с возможностями параллельной обработки и поддержкой очень больших баз данных. DB 2 Universal Database также имеет новые встроенные средства для облегчения переноса на свою базу приложений, разработанных на других системах управления базами данных, таких как Oracle , Microsoft , Sybase и Informix . Помимо этого, DB 2 Universal Database включает в себя дополнительные средства поддержки систем аналитической обработки в реальном времени (OLAP ) и систем поддержки принятия решений, множество простых в использовании расширений (DB 2 extenders ). DB 2 Universal Database доступна на абсолютном большинстве ключевых платформ, что дает заказчикам ту гибкость, которая им необходима.

Система СУБД DB2 – один из “долгожителей” в мире систем управления базами данных. Имея в своей основе классическую реляционную модель данных, система первоначально разрабатывалась для больших ЭВМ. Только впоследствии компания IBM реализовала DB2 для платформы AS/400 (СУБД получила название DB2/400), а несколько позже приступила к выпуску практически нового продукта под названием Universal Data Base (UDB), который, как предполагалось, будет соответствовать стандартам открытых систем и функционировать на широком спектре платформ, включая Unix и Windows.

В настоящий момент позиции СУБД DB2 исключительно сильны в первую очередь на больших ЭВМ. Если сравнить экспертные оценки по эксплуатационным характеристикам, приведенные в таблице 1, то видно, что СУБД DB2 обладает практически наивысшими оценками именно на платформе больших ЭВМ. Показательно и то, что СУБД UDB рассматривается в таблице отдельно. Это как раз показатель того, что под общим брэндомDB2 скрывается три практически различных продукта – DB2 для больших ЭВМ, DB2/400 и универсальная DB2 для других платформ. В контексте современной технической политики, которая требует безусловной и максимально возможной унификации базового программного обеспечения, наличие трех различных программных продуктов является негативным фактором.

Являясь главным конкурентом СУБД Oracle в Северной Америке, на российском рынке СУБД DB2, несмотря на высокое техническое качество продукта, представлена очень слабо. Возможно, это связано с общей стратегией компании IBM на российском рынке, когда основной акцент сделан на поставках компьютерных платформ. Фактом является то, что в России с DB2 работают лишь группы энтузиастов. Практически нет инфраструктуры, необходимой для широкого распространения продукта, нет достаточного числа обученных специалистов, нет широкой сети учебных центров, отсутствует литература на русском языке. Представительство IBM в России практически не имеет отделения по технической поддержке DB2, что существенно осложняет эксплуатацию СУБД. Инсталляционная база DB2 в России очень ограничена и затрагивает по большей части большие ЭВМ и AS/400. Партнерская сеть IBM по DB2 невелика по сравнению, скажем, с Microsoft или Oracle. DB2 пока не удалось стать стандартом баз данных для платформ UNIX (здесь эта ниша занята Oracle) и Windows NT (ниша занята Microsoft SQL Server и Oracle).

PostgreSQL

PostgreSQL - объектно-реляционная система управления базами данных (ОРСУБД), разработка которой в различных формах ведется с 1977 года. Работа началась с проекта Ingres в Калифорнийском университете (Беркли). Затем проект Ingres был переведен на коммерческую разработку в корпорации Relational Technologies/Ingres.

В 1986 году другая группа, которую возглавлял Майкл-Стоунбрейкер (Michael Stonebraker) из Беркли, продолжила работу над Ingres и создала объектно-реляционную СУБД Postgres. В 1996 году из-за усовершенствования пакета и перехода на распространение с открытыми исходными текстами было принято новое название - PostgreSQL (в течение непродолжительного времени использовалось название Postgres95). В настоящее время над проектом PostgreSQL активно работает группа разработчиков со всего мира.

PostgreSQL считается самой совершенной СУБД, распространяемой на условиях открытых исходных текстов. В PostgreSQL реализованы многие возможности, традиционно встречавшиеся только в масштабных коммерческих продуктах (за дополнительной информацией обращайтесь к разделу «Возможности PostgreSQL»).

В PostgreSQL реализованы многие возможности, обычно присутствующие только в коммерческих СУБД, таких как DB 2 и Oracle . Ниже перечислены основные возможности PostgreSQL версии 7.1.x.

    Объектно-реляционная модель. Работа с данными в PostgreSQL основана на объектно-реляционной модели, что позволяет задействовать сложные процедуры и системы правил. Примерами нетривиальных возможностей этой категории являются декларативные запросы SQL, контроль параллельного доступа, поддержка многопользовательского доступа, транзакции, оптимизация запросов, поддержка наследования и массивов.

    Простота расширения. В PostgreSQL поддерживаются пользовательские операторы, функции, методы доступа и типы данных.

    Полноценная поддержка SQL . PostgreSQL соответствует базовой спецификации SQL99 и поддерживает такие нетривиальные средства, как объединения стандарта SQL92.

    Проверка целостности ссылок. PostgreSQL поддерживает проверку целостности ссылок, обеспечивающую правильность данных в базе.

    Гибкость API . Гибкость API PostgreSQL позволяет легко создавать интерфейсы к РСУБД PostgreSQL. В настоящее время существуют программные интерфейсы для Object Pascal, Python, Perl, PHP, ODBC, Java/JDBC, Ruby, TCL, C/ C+ и Pike.

    Процедурные языки. В PostgreSQL предусмотрена поддержка внутренних процедурных языков, в том числе специализированного языка PL/pgSQL, являющегося аналогом PL/SQL, процедурного языка Oracle. Одним из преимуществ PostgreSQL является возможность использования Perl, Python и TCL в качестве внутренних процедурных языков.

    МУСС. Технология MVCC (Multi-Version Concurrency Control) используется в PostgreSQL для предотвращения лишних блокировок (locking). Каждый, кто хоть раз работал с другими СУБД на базе SQL (например, MySQL или Access), наверняка замечал, что обращение к базе данных для чтения иногда сопровождается задержками, связанными с попытками записи в базу данных. Проще говоря, операции чтения блокируются операциями, производящими обновление записей. Применение технологии MVCC в PostgreSQL полностью решает эту проблему. MVCC лучше низкоуровневой блокировки, поскольку операции чтения никогда не блокируются операциями записи. Вместо этого PostgreSQL отслеживает все транзакции, выполняемые пользователями базы данных, что позволяет работать с записями без ожидания их освобождения.

    Клиент-сервер. В PostgreSQL используется архитектура «клиент-сервер» с распределением процессов между пользователями. В целом она напоминает методику работы с процессами в Apache 1.3.x. Главный (master) процесс создает дополнительные подключения для каждого клиента, пытающегося установить соединение с PostgreSQL.

    Опережающая регистрация изменений. Опережающая регистрация изменений (Write Ahead Logging, WAL) повышает надежность данных. Все изменения данных протоколируются до их непосредственной актуализации в базе. Наличие протокола изменений гарантирует, что в случае сбоя базы данных (что весьма маловероятно) данные можно будет восстановить по запротоколированным транзакциям. После восстановления системы пользователь продолжает работу с состояния, непосредственно предшествовавшего сбою.

Прочие СУБД

MySQL -одна из наиболее известных свободных СУБД. MySQL является собственностью компанииOracle Corporation, получившей её вместе с поглощённойSun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется подGNU General Public Licenseи под собственной коммерческой лицензией, на выбор. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизмрепликации.

MySQL является решением для малых и средних приложений. Входит в состав серверовWAMP,LAMPи в портативные сборки серверовДенвер,XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типаMyISAM, поддерживающие полнотекстовый поиск, так и таблицыInnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

27 января 2010 годаOracle CorporationприобрелаSun Microsystemsи включила MySQL в свою линейку СУБД.

Сообществом разработчиков MySQL созданы различные ответвления кода, такие какDrizzle,OurDelta,Percona Server, иMariaDB. Все эти ответвления уже существовали на моментпоглощениякомпаний Sun и MySQL AB корпорацией Oracle.

Apache Derby -реляционная СУБД, написанная наJava, предназначенная для встраивания в Java-приложения илиобработки транзакций в реальном времени. Занимает 2MBна диске.Apache Derby разрабатывается какopen sourceи распространяется на условиях лицензииApache 2.0. Дерби был ранее известен какIBMCloudscape.Sunраспространяет те же бинарные файлы под именемJava DB.

Основа технологии базы данных Derby - полнофункциональное встраиваемое ядро реляционных базы данных.JDBCиSQL- это доступныеAPIдля него. Поддерживается синтаксисSQL, аналогичныйIBM DB2.

Сетевой сервер Derby добавляет к возможностям ядра СУБДклиент-серверныевозможности. Сетевой сервер позволяет клиентам подключаться черезTCP/IP, используя стандартный протоколDRDA(англ.). Сервер сети позволяет Derby сетевую поддержкуJDBC,ODBC/CLI,PerlиPHP.

Встроенная база данных может быть также сконфигурированна для работы в качестве гибридной серверно-встраиваемой РСУБД; принимающей TCP/IP соединения от других клиентов в добавление к клиентам на той же JVM.

С точки зрения скорости выполнения, Derby не показала хороших результатов в сравнении с другими встраиваемыми SQL базами данных, такими как другая открытая и свободная база данныхH2.