Архитектура хранилища данных (программная)



Архитектура ХД

  1. детальные данные – данные, переносимые непосредственно из OLTP-подсистем. Соответствуют элементарным событиям, фиксируемым в OLTP-системах. Подразделяются на:
    • измерения – наборы данных, необходимые для описания событий (товар, продавец, покупатель, магазин, … );
    • факты – данные, отражающие сущность события (количество проданного товара, сумма продаж, …);
  2. агрегированные (обобщенные) данные – данные, получаемые на основании детальных путем суммирования по определенным измерениям;
  3. метаданные – данные о данных, содержащихся в ХД. Могут описывать:
    • объекты предметной области, информация о которых содержится в ХД;
    • категории пользователей, использующих данные в ХД;
    • места и способы хранения данных;
    • действия, выполняемые над данными;
    • время выполнения различных действий над данными;
    • причины выполнения различных действий над данными.

 


12. Способы программно          й реализации хранилищ данных:

Реляционные СУБД, многомерные СУБД http://www.olap.ru/basic/saharov.asp

Вопросы реализации Хранилищ Данных

Аналитические системы всегда предъявляли существенно более высокие, чем традиционные СОД, требования к аппаратному обеспечению и программному обеспечению. И, приступая к построению аналитической системы, следует понимать, что её реализация практически невозможна без разрешения таких вопросов как:

· Неоднородность программной среды.

· Распределенность.

· Защиты данных от несанкционированного доступа.

· Построения и ведения многоуровневых справочников метаданных.

· Эффективное хранение и обработка очень больших объемов данных.

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

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

Таким образом, МСУБД однозначно хороши только при выполнении двух требований:

· Уровень агрегации данных в БД достаточно высок и соответственно объем БД не очень велик (не более нескольких гигабайт).

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

К сожалению, сегодня отсутствуют официальные сравнительные результаты тестирования производительности систем реализованных на основе многомерных и реляционных баз данных (некоторые дополнительные аргументы в пользу того и другого подхода приведены в таблице 7), но при этом, общая оценка такова: “производительность хорошо настроенных реляционных систем, при использовании схемы звезда, вполне сравнима с производительностью систем реализованных на основе многомерных баз данных”.


7. Современные интерфейсы подключения устройств хранения данных

Внешние интерфейсы подключения – это, как мы помним, в основном SCSI или FibreChannel, а также довольно молодой стандарт iSCSI. Также не стоит сбрасывать со счетов небольшие интеллектуальные хранилища, которые могут подключаться даже по USB или FireWire. Мы не станем рассматривать более редкие (порой просто неудачные в том или ином плане) интерфейсы, как SSA от IBM или интерфейсы, разработанные для мейнфреймов – к примеру, FICON/ESCON. Особняком стоят хранилища NAS, подключаемые в сеть Ethernet. Под словом «интерфейс» в основном понимается внешний разъём, но не стоит забывать, что разъём не определяет протокол связи двух устройств. На этих особенностях мы остановимся чуть ниже.. http://citforum.ru/hardware/data/overview/part2.shtml

6. Протоколы – перечислены при описании эволюции ХД. Вопрос 2.


8.RAID— аббревиатура, расшифровываемая как Redundant Array of Independent Disks — «отказоустойчивый массив из независимых дисков» (раньше иногда вместо Independent использовалось слово Inexpensive). Концепция структуры, состоящей из нескольких дисков, объединенных в группу, обеспечивающую отказоустойчивость родилась в 1987 году в основополагающей работе Паттерсона, Гибсона и Катца.

типы RAID

RAID-0

Если мы считаем, что RAID это «отказоустойчивость»(Redundant…), то RAID-0 это «нулевая отказоустойчивость», отсутствие ее. Структура RAID-0 это «массив дисков с чередованием». Блоки данных поочередно записываются на все входящие в массив диски, по порядку. Это повышает быстродействие, в идеале во столько раз, сколько дисков входит в массив, так как запись распараллеливается между несколькими устройствами. Однако во столько же раз снижается надежность, поскольку данные будут потеряны при выходе из строя любого из входящих в массив дисков.

RAID-1

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

RAID-2

Остался полностью теоретическим вариантом. Это массив, в котором данные кодируются помехоустойчивым кодом Хэмминга, позволяющим восстанавливать отдельные сбойные фрагменты за счет его избыточности. Кстати различные модификации кода Хэмминга, а также его наследников, используются в процессе считывания данных с магнитных головок жестких дисков и оптических считывателей CD/DVD.

RAID-3 и RAID-4

«Творческое развитие» идеи защиты данных избыточным кодом. Код Хэмминга незаменим в случае «постоянно недостоверного» потока, насыщенного непрерывными слабопредсказуемыми ошибками, такого, например, как зашумленный эфирный канал связи. Однако в случае жестких дисков основная проблема не в ошибках считывания (мы считаем, что данные выдаются жесткими дисками в том виде, в каком мы их записали, если уж он работает), а в выходе из строя целиком диска. Для таких условий можно скомбинировать схему с чередованием (RAID-0) и для защиты от выхода из строя одного из дисков дополнить записываемую информацию избыточностью, которая позволит восстановить данные при потере какой-то ее части, выделив под это дополнительный диск. При потере любого из дисков данных мы можем восстановить хранившиеся на нем данные путем несложных математических операций над данными избыточности, в случае выходя из строя диска с данными избыточности мы все равно имеем данные, считываемые с дискового массива типа RAID-0. Варианты RAID-3 и RAID-4 отличаются тем, что в первом случае чередуются отдельные байты, а во втором — группы байт, «блоки». Основным недостатком этих двух схем является крайне низкая скорость записи на массив, поскольку каждая операция записи вызывает обновление «контрольной суммы», блока избыточности для записанной информации. Очевидно, что, несмотря на структуру с чередованием, производительность массива RAID-3 и RAID-4 ограничена производительностью одного диска, того, на котором лежит «блок избыточности». В «живой природе» в чистом виде почти не встречается. Однако RAID-4 (чередование с четностью с выделенным диском четности) успешно применяется в дисковых системах хранения компании NetApp, где его конструктивные недостатки успешно скомпенсированы особенностями работы файловой системы внутренней OS системы хранения и режимом работы процесса записи данных из кэш-памяти. На сегодняшний день это единственная широко применяемая реализация этого типа.

RAID-5

Попытка обойти это ограничение породила следующий тип RAID, в настоящее время он получил, наряду с RAID-10, наибольшее распространение. Если запись на диск «блока избыточности» ограничивает весь массив, давайте его тоже размажем по дискам массива, сделаем для этой информации невыделенный диск, тем самым операции обновления избыточности окажутся распределенными по всем дискам массива. То есть мы также как и в случае RAID-3(4) берем дисков для хранения N информации в количестве N + 1 диск, но в отличие от Type 3 и 4 этот диск также используется для хранения данных вперемешку с данными избыточности, как и остальные N. Недостатки: Проблема с медленной записью отчасти была решена, но все же не полностью. Запись на массив RAID-5 осуществляется, тем не менее, медленнее, чем на массив RAID-10. Зато RAID-5 более «экономически эффективен». Для RAID-10 мы платим за отказоустойчивость ровно половиной дисков, а в случае RAID-5 это всего один диск.

Однако скорость записи снижается пропорционально увеличению количества дисков в массиве (в отличие от RAID-0, где она только растет). Это связано с тем, что при записи блока данных массиву нужно заново рассчитать блок избыточности, для чего прочитать остальные «горизонтальные» блоки и пересчитать в соответствии с их даными блок избыточности. То есть на одну операцию записи массив из 8 дисков (7 дисков данных + 1 дополнительный) будет делать 6 операций чтения в кэш (остальные блоки данных со всех дисков, чтобы рассчитать блок избыточности), вычислять из этих блоков блок избыточности, и делать 2 записи (запись блока записываемых данных и перезапись блока избыточности). В современных системах частично острота снимается за счет кэширования, но тем не менее удлиннение группы RAID-5 хотя и вызывает пропорциональное увеличение скорости чтения, но также и соответственное ему снижение скорости записи. Ситуация со снижением производительности при записи на RAID-5 иногда порождает любопытный экстремизм, например, http://www.baarf.com/ ;)

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

RAID-6

Дальнейшее развитие идеи RAID-5. Если мы рассчитаем дополнительную избыточность по иному нежели применяемому в RAID-5 закону, то мы сможем сохранить доступ к данным при отказе двух дисков массива. Платой за это является дополнительный диск под данные второго «блока избыточности». То есть для хранения данных равных объему N дисков нам нужно будет взять N + 2 диска. Усложняется «математика» вычисления блоков избыточности, что вызывает еще большее снижение скорости записи по сравнению с RAID-5, зато повышается надежность. Причем в ряде случаев она даже превышает уровень надежности RAID-10. Нетрудно увидеть, что RAID-10 тоже выдерживает выход из строя двух дисков в массиве, однако в том случае, если эти диски принадлежат одному «зеркалу» или разным, но при этом не двум зеркальным дискам. А вероятность именно такой ситуации никак нельзя сбрасывать со счета.

комбинированные типы: RAID-10, 50

Дальнейшее увеличение номеров типов RAID происходит за счет «гибридизации», так появляются RAID-0+1 или RAID-10, а также всяческие химерические RAID-51 и так далее. В живой природе к счастью не встречаются, обычно оставаясь «сном разума» (кроме RAID-10).

RAID-10 Попытка объединить достоинства двух типов RAID и лишить их присущих им недостатков. Если взять группу RAID-0 с повышенной производительностью, и придать каждому из них (или массиву целиком) «зеркальные» диски для защиты данных от потери в результате выхода из строя, мы получим отказоустойчивый массив с повышенным, в результате использования чередования, быстродействием. На сегодняшний день «в живой природе» это один из наиболее популярных типов RAID. Минусы — мы платим за все вышеперечисленные достоинства половиной суммарной емкости входящих в массив дисков.

проперитарные варианты

RAID-DP

RAID with Diagonal Parity или иногда встречается вариант ‘Double Parity’ — реализованный в 2003 году (впервые появился в версии Data ONTAP 6.5) собственный NetApp-овский аналог RAID-6. Несмотря на то, что RAID-DP в деталях отличается от «канонического» RAID-6, тем не менее в NetApp было принято решение также пользоваться и обозначением RAID-6 для RAID-DP в своей продукции. Это облегчает принципиальное понимание и, кроме прочего, облегчает соответствие систем NetApp тендерным требованиям.

Функционально же, как средство, обеспечивающее защиту данных при выходе из строя двух дисков в RAID-группе, RAID-DP эквивалентен RAID-6. В чем же разница? Практически все вендоры, использующие RAID-6, признают, что использование RAID-6 вместо RAID-5 приводит к падению производительности от 10 до 20 %. Иная ситуация с RAID-DP. Компания NetApp официально подтверждает, что по сравнению с традиционным RAID-4 производительность тома на группе RAID-DP отличается не более чем на единицы процентов.

То есть за повышенную надежность своих данных пользователь системы хранения NetApp не платит производительностью вовсе. Такой результат также является следствием использования все той же тесной интеграции между OS, кэшем, дисками, RAID-структурой и файловой системой. Это позволило Network Appliance рекомендовать использовать RAID-DP как схему по умолчанию для всех своих систем хранения. Однако проперитарность определяет существование этого типа RAID только на системах хранения этого вендора.

RAID-Z

Так называемая "программная" реализация RAID осуществляемая на уровне файловой системы ZFS. Выпущена и распространяется под открытой лицензией компанией SUN. Постепенно завоевывает признание. Впервые поддержка появилась в версии ОS SUN Solaris 10, но по причине открытости лицензии и кода может быть перенесена во множество других OS, например, в настоящее время есть реализации во FreeBSD и Mac OS X. По причине конфликта лицензий не поддерживается ядром Linux, но существует реализация в виде user-module под FUSE. "... RAID-Z — реализация RAID-5 без присущих ему недостатков. Основные недостатки RAID-5 — фиксированный размер страйпа и проблема, называемая «write hole». В RAID-5 при модификации неполного страйпа необходимо:

- считать старые данные,

- изменить их,

- вычислить новые данные и новое значение четности,

- а затем записать.

В RAID-Z размер страйпа не фиксирован: он равен размеру логического блока файловой системы, записываемого или считываемого в данный момент. Необходимые параметры страйпа храняться в метаданных этого логического блока. Таким образом, все операции записи в RAID-Z превращаются в операции записи целого страйпа, что положительно сказывается на производительности и вместе с Copy-On-Write устраняет необходимость в дорогой энергонезависимой памяти. RAID-Z2 — аналог RAID-Z, использующий два диска для хранения информации о четности, что позволяет продолжать работу даже в случае отказа двух дисков. ..."


Дата добавления: 2018-02-18; просмотров: 736; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!