Реляционные субд



Скачать 56.75 Kb.
Дата25.11.2012
Размер56.75 Kb.
ТипДокументы
Реляционные СУБД.

Реляционная СУБД (РСУБД; иначе Система управления реляционными базами данных, СУРБД) — СУБД, управляющая реляционными базами данных.

Понятие реляционный (англ. relation — отношение) связано с разработками известного английского специалиста в области систем баз данных Эдгара Кодда (Edgar Codd).

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

Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:

  • каждый элемент таблицы — один элемент данных

  • все столбцы в таблице однородные, то есть все элементы в столбце имеют одинаковый тип (числовой, символьный и т. д.)

  • каждый столбец имеет уникальное имя

  • одинаковые строки в таблице отсутствуют

  • порядок следования строк и столбцов может быть произвольным

Базовыми понятиями реляционных СУБД являются: 1) атрибут 2) отношения 3) кортеж

Индексы. Применение индексов.

Что такое индекс? Специальный аппарат ускоряющий обработку данных. В настоящее время в базах по умолчанию доступны Btree/Hash индексы. Если почитать документацию к базе можно выяснить как именно приеняются индексы, вот несколько общих мест применения:

select * from T as t1 where t1.i1 > const; i1 — индексированное поле таблицы T.
В данном случае вместо сканирования полной таблицы база сразу отсечет ненужные значения.


Использование индексов можно проверить коммандами explain/describe etc. В случае если предложенные базой индексы не устраивают разработчика в sql запросах как правило предусмотрены места для подсказок базе данных.

В настоящее время Mysql например позволяет использовать R-Index для Geo данных. Данный индекс есть оптимизатор поиска географических объектов.

Oracle добавляет частичные индексы для применения различных стратегий индексирования разным значениям поля.
Транзакции. Свойства транзакций.

Транза́кция (англ. transaction) — в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена целиком либо успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта. Транзакции обрабатываются транзакционными системами, в процессе работы которых создаётся история транзакций.

Различают обычные и распределённые транзакции. Распределённые транзакции подразумевают использование больше чем одной транзакционной системы и требуют намного более сложной логики (например, two-phase commit — двухфазный протокол подтверждения успеха). Также, в некоторых системах реализованы автономные транзакции, или под-транзакции, которые являются автономной частью родительской транзакции.

Известны также как свойства ACID (Atomicity — неделимость, Consistency — согласованность, Isolation — изоляция, Durability — устойчивость) транзакций.

  1. Транзакция неделима в том смысле, что представляет собой единое целое. Все её компоненты либо имеют место, либо нет. Не бывает частичной транзакции. Если может быть выполнена лишь часть транзакции, она отклоняется.

  2. Транзакция является согласованной, потому что не нарушает бизнес-логику и отношения между элементами данных. Это свойство очень важно при разработке клиент-серверных систем, поскольку в хранилище данных поступает большое количество транзакций от разных систем и объектов. Если хотя бы одна из них нарушит целостность данных, то все остальные могут выдать неверные результаты.

  3. Транзакция всегда изолирована, поскольку её результаты самодостаточны. Они не зависят от предыдущих или последующих транзакций — это свойство называется сериализуемостью и означает, что транзакции в последовательности независимы.

  4. Транзакция устойчива. После своего завершения она сохраняется в системе, которую ничто не может вернуть в исходное (до начала транзакции) состояние, то есть происходит фиксация транзакции, означающая, что её действие постоянно даже при сбое системы. При этом подразумевается некая форма хранения информации в постоянной памяти как часть транзакции.

Уровни изоляции транзакций

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

  • 0 — Неподтверждённое чтение (Read Uncommited, Dirty Read, грязное чтение) — чтение незафиксированных изменений своей транзакции и конкурирующих транзакций, возможны нечистые, неповторяемые чтения и фантомы

  • 1 — Подтверждённое чтение (Read Commited)— чтение всех изменений своей транзакции и зафиксированных изменений конкурирующих транзакций, нечистые чтения невозможны, возможны неповторяемые чтения и фантомы

  • 2 — Повторяемое чтение (Repeatable Read ,Snapshot) — чтение всех изменений своей транзакции, любые изменения, внесённые конкурирующими транзакциями после начала своей недоступны, нечистые и неповторяемые чтения невозможны, возможны фантомы

  • 3 — Упорядоченный — (Serializable, сериализуемый) упорядоченные (cериализуемые) транзакции. Идентичен ситуации при которой транзакции выполняются строго последовательно одна после другой. То есть транзакции, результат действия которых не зависит от порядка выполнения шагов транзакции (запрещено чтение всех данных изменённых с начала транзакции, в том числе и своей транзакцией). Фантомы невозможны.

Чем выше уровень изоляции, тем больше требуется ресурсов, чтобы их поддерживать.

В СУБД уровень изоляции транзакций можно выбрать как для всех транзакций сразу, так и для одной конкретной транзакции. По умолчанию в большинстве баз данных используется уровень 1 (Read Commited). Уровень 0 используется в основном для отслеживания изменений длительных транзакций или для чтения редкоизменяемых данных. Уровни 2 и 3 используются при повышенных требованиях к изолированности транзакций.

Блокировки.

Два типа блокировок есть в природе: оптимистичная и пессимистичная. В первом случае, блокировка используется только при обновлении записи, пессимистичная же запрещает доступ к записи как только происходит доступ.

Похожие:

Реляционные субд iconОбъектно-реляционные субд. Введение в объектно-реляционные субд
Однако во всех моделях используются одинаковые базовые реляционные таблицы и язык запросов, включено понятие объекта, а в некоторых...
Реляционные субд iconЛекция Тема: Внутренняя организация реляционных субд cтруктуры внешней памяти, методы организации индексов
Реляционные субд обладают рядом особенностей, влияющих на организацию внешней памяти. К наиболее важным особенностям можно отнести...
Реляционные субд iconБазы данных Лектор 2010/11 уч года: д ф. м наук, профессор Кумсков М. И
В курсе обсуждаются общие вопросы систем управления базами данных (субд) и основы реляционных баз данных: введение в реляционные...
Реляционные субд iconКраткое содержание курса Теория баз данных Модели данных и языки запросов Транзакции и согласованность
Субд в прикладных системах. Основные функции субд. Взаимодействие субд с другими компонентами программного обеспечения. История развития...
Реляционные субд iconУдаление субд «Yaffil» Перед установкой субд
Обращаем ваше внимание на то, что субд следует заменить на всех рабочих местах
Реляционные субд iconПеренос схемы базы данных и данных из субд oracle в субд ibm db2
В докладе рассматривается переход с субд oracle на субд ibm db2 в рамках разработки модуля администрирования для SmartVista Front...
Реляционные субд iconPreparedStatement vs. Statement 8 CallableStatement 8 Вопросы, которые не обсуждены 9
Субд. В реальности оказывается, что некоторые объектные субд и иногда даже совсем не субд предоставляют jdbc интерфейс для работы...
Реляционные субд iconПоддержка стандарта Opengis в субд линтер. Перспективы обработки гис-информации ядром субд
Поддержка пространственных (геометрических) типов данных в реляционной субд включает в себя следующие моменты
Реляционные субд iconРазработка системы сравнения производительности субд
Существует большое количество разнообразных субд (Система управления базами данных), предназначенных для разных задач, однако обычно...
Реляционные субд iconЛекции 32 часа Экзамен нет семинары нет Зачёт с оценкой 4 семестр лабораторные занятия 32 часа
Понятия базы данных, системы баз данных и субд. Требования к субд. Характеристики, функции субд
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org