Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Технологии хранения данных. Язык SQL. Архитектура реляционной БД. Нормальные формы РБД. СУБД, примеры, области применения



Технологии систем хранения данных[править]

Direct-attached storage (DAS)[править]

Под DAS принято понимать непосредственно подключенные к вычислительной системе диски. Обычно как DAS квалифиируются варианты только непосредственного прямого подключения. Так, например, подключение дисков системы хранения данных по каналу FC в режиме «точка-точка» (то есть без «сети хранения», порт системы хранения в порт сервера), несмотря на то, что формально является DAS, тем не менее считается частным, «вырожденным» случаем SAN.

Network-attached storage (NAS)[править]

NAS хорошо знаком большинству пользователей, использующих в локальной сети своей организации файловый сервер. Файловый сервер — это NAS. Это устройство, подключенное в локальную сеть и предоставляющее доступ к своим дискам по одному из протоколов «сетевых файловых систем», наример CIFS (Common Internet File System) для Windows-систем (раньше называлась SMB — Server Message Blocks) или NFS (Network File System) для UNIX/Linux-систем. Остальные варианты встречаются исчезающе редко.

Storage area network (SAN)[править]

SAN -устройство, с точки зрения пользователя, есть просто локальный диск. Обычные варианты протокола доступа к SAN-диску это протокол FibreChannel (FC) и iSCSI (IP-SAN). Для использования SAN в компьютере, который хочет подключиться к SAN, должна быть установлена плата адаптера SAN, которая обычно называется HBA — Host Bus Adapter. Этот адаптер представляет собой с точки зрения компьютера такую своеобразную SCSI-карту и обращается он с ней так же, как с обычной SCSI-картой. Отсылает в нее команды SCSI и получает обратно блоки данных по протоколу SCSI. Наружу же эта карта передает блоки данных и команды SCSI, завернутые в пакеты FC или IP для iSCSI.

Отличия и конвергенция SAN и NAS[править]

Каковы же плюсы и минусы обеих этих моделей доступа к данным системы хранения?

· NAS работает поверх локальной сети, используя обычное сетевое оборудование.

· Он работает преимущественно с файлами и информацией, оформленной как файлы (пример: документы общего пользования, word- и excel-файлы).

· Он позволяет коллективное использование информации на дисках (одновременный доступ с нескольких компьютеров).

· SAN работает в собственной сети, для использования которой нужен специальный Host Bus Adapter (HBA).

· Он работает на уровне блоков данных. Это могут быть файлы, но это могут быть и нефайловые методы хранения. Например база данных Oracle на т. н. raw-partition.

· Для компьютера это локальный диск, поэтому коллективное использование информации на SAN диске обычно невозможно (или делается очень сложно и дорого).

Плюсы NAS:

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

· простота коллективного использования ресурсов.

минусы NAS:

· невозможно использовать «нефайловые» методы.

· доступ к информации через протоколы «сетевых файловых систем» зачастую медленнее, чем как к локальному диску.

Плюсы SAN:

· можно использовать блочные методы доступа, хранение «нефайловой» информации (часто используется для баз данных, а также для почтовой базы Exchange).

· «низкоуровневый» доступ к SAN-диску обычно более быстрый, чем через сеть. Гораздо проще сделать очень быстрый доступ к данным с использованием кэширования.

· Некоторые приложения работают только с «локальными дисками» и не работают на NAS (пример — MS Exchange)

Минусы SAN:

· трудно, дорого или вовсе невозможно осуществить коллективный доступ к разделу с двух и более компьютеров.

· Стоимость подключения к FC-SAN довольно велика (около 1000—1500$ за плату FC HBA). Подключение к iSCSI (IP-SAN) гораздо дешевле, но требует поддержки iSCSI на дисковом массиве.

Итак, что же общего между этими двумя методами? Оба этих метода используются для «сетевого хранения данных» (networking data storage). Что из них лучше? Единственного ответа не существует. Попытка решить задачи NAS с помощью SAN-системы, как и обратная задача, зачастую есть кратчайший путь потратить большие деньги без видимой выгоды и результата. Каждая из этих «парадигм» имеет свои сильные стороны, каждая имеет оптимальные методы применения.

Content-addressable storage (CAS)[править]

CAS так как статья (автор StarMarine) на которую дана сслылка возможно будет удалена, ее содержимое на 03.02.2008 скопировано сюда:

Content-addressable storage (CAS) — архитектура хранения, в которой адресация осуществляется образом хранимых данных. Образ данных хэшируется и хэш используется для его нахождения на устройствах или системах хранения. По сути данные записываются в BLOB-поля специализированной базы данных, а вычисленный хэш используется как индексный ключ базы, по которому осушествляется быстрый поиск содержимого. Построение системы хранения как базы данных позволило применять к процессам доступа и хранения данных методы работы с базами (версионность хранения, дедупликация). Справедливости ради следует также упомянуть, что ранее такие формы организации информации уже применялись на практике, например файловая система OS VMS (применявшаяся на DEC VAX, впоследствии OpenVMS) была организована как своеобразная база данных.

Архитектура обладает большой устойчивостью к дубликатам, а так же может быть выполнена децентрализованно, что дает ей существенную надежность. Однако серьезным недостатком такого способа организации хранения следует назвать невысокое быстродействие, не позволяющее применять CAS в качестве primary storage. В настоящий момент CAS заняли свое место в системах архивного, долговременного и неизменяемого хранения. Наиболее известным производителем CAS-систем на рынке является компания EMC и ее системы серии Centera.

SQL («язык структурированных запросов») — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL основывается на исчислении кортежей.

SQL является, прежде всего, информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных.

SQL позволяет выполнить следующий набор операций:

· создание в базе данных новой таблицы;

· добавление в таблицу новых записей;

· изменение записей;

· удаление записей;

· выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);

· изменение структур таблиц.

Преимущества:

· Независимость от конкретной СУБД

· Наличие стандартов

· Декларативность

Недостатки:

· Несоответствие реляционной модели данных

· Отступления от стандартов

· Сложность работы с иерархическими структурами

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

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

Процесс преобразования отношений базы данных (БД) к виду, отвечающему нормальным формам, называется нормализацией. Нормализация предназначена для приведения структуры БД к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации. Общее назначение процесса нормализации заключается в следующем:

исключение некоторых типов избыточности;

устранение некоторых аномалий обновления;

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

упрощение процедуры применения необходимых ограничений целостности.

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

Первая нормальная форма - переменная отношения находится в первой нормальной форме (1НФ) тогда и только тогда, когда в любом допустимом значении отношения каждый его кортеж содержит только одно значение для каждого из атрибутов.

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

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

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

Нормальные формы[править | править исходный текст]

В создании и развитии теории нормализации принимали участие многие учёные. Однако первые три нормальные формы и концепцию функциональной зависимости предложил Э. Кодд.[4]

Первая нормальная форма (1NF)[править | править исходный текст]

Основная статья: Первая нормальная форма

Переменная отношения находится в первой нормальной форме (1НФ) тогда и только тогда, когда в любом допустимом значении отношения каждый его кортеж содержит только одно значение для каждого из атрибутов.

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

Вторая нормальная форма (2NF)[править | править исходный текст]

Основная статья: Вторая нормальная форма

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

Третья нормальная форма (3NF)[править | править исходный текст]

Основная статья: Третья нормальная форма

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

Нормальная форма Бойса — Кодда (BCNF)[править | править исходный текст]

Основная статья: Нормальная форма Бойса — Кодда

Переменная отношения находится в нормальной форме Бойса — Кодда (иначе — в усиленной третьей нормальной форме) тогда и только тогда, когда каждая ее нетривиальная и неприводимая слева функциональная зависимость имеет в качестве своего детерминанта некоторый потенциальный ключ.

Четвёртая нормальная форма (4NF)[править | править исходный текст]

Основная статья: Четвёртая нормальная форма

Переменная отношения находится в четвёртой нормальной форме, если она находится в нормальной форме Бойса — Кодда и не содержит нетривиальных многозначных зависимостей.

Пятая нормальная форма (5NF)[править | править исходный текст]

Основная статья: Пятая нормальная форма

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

Доменно-ключевая нормальная форма (DKNF)[править | править исходный текст]

Основная статья: Доменно-ключевая нормальная форма

Шестая нормальная форма (6NF)[править | править исходный текст]

Основная статья: Шестая нормальная форма

Введена К. Дейтом в его книге,[2] как обобщение пятой нормальной формы для темпоральной базы данных.

Систе́ма управле́ния ба́зами да́нных (СУБД) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных[1].

Содержание

[убрать]

· 1 Основные функции СУБД

· 2 Классификации СУБД

o 2.1 По модели данных

o 2.2 По степени распределённости

o 2.3 По способу доступа к БД

· 3 См. также

· 4 Примечания

· 5 Литература

· 6 Ссылки

Основные функции СУБД[править | править исходный текст]

· управление данными во внешней памяти (на дисках);

· управление данными в оперативной памяти с использованием дискового кэша;

· журнализация изменений, резервное копирование и восстановление базы данных после сбоев;

· поддержка языков БД (язык определения данных, язык манипулирования данными).

Обычно современная СУБД содержит следующие компоненты:

· ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию,

· процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода,

· подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД

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

Классификации СУБД[править | править исходный текст]

По модели данных[править | править исходный текст]

Примеры:

· Иерархические

· Сетевые

· Реляционные

· Объектно-ориентированные

· Объектно-реляционные

По степени распределённости[править | править исходный текст]

· Локальные СУБД (все части локальной СУБД размещаются на одном компьютере)

· Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).

По способу доступа к БД[править | править исходный текст]

· Файл-серверные

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

На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах — недостатком[2].

Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

· Клиент-серверные

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

Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.

· Встраиваемые

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

Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.





Дата публикования: 2015-02-03; Прочитано: 1378 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.018 с)...