Базы Данных, 02 лекция (от 07 сентября)
Материал из eSyr's wiki.
Предыдущая лекция | Следующая лекция
Экскурс в историю компьютеров в целом и систем хранения данных в частности. Преимущества и недостатки файловых систем и баз данных. 1940—50 г.г. — военные разработки. 1960-е годы — американцами военные разработки вынесены в область ИТ. Выполнение больших задач на ненадежных системах: контрольные точки (backups). Магнитные диски: изобретение IBM магнитных дисков с подвижными головками. Неудавшиеся попытки японцев создать революционно новые системы хранения. Краткое сравнение архитектур БЭСМ-6 и IBM-360.
Содержание |
[править] Эволюция устройств внешней памяти и систем управления данными
Есть две системы управления: файлами (файловая система) и данными (СУБД). И каждая из них имеет свои преимущества, недостатки, особенности и области применения.
[править] Первые годы
Системы управления внешней памятью возникли с большой задержкой. В первые годы (1940—1950—начало 1960) системы были ориентированы на военное применение. В США и СССР два аспекта военной техники диктовали необходимость в вычислительной технике: ядерное оружие и средства его доставки (самолёты, ракеты).
До войны численные расчёты выполнялись бригадами расчётчиков (большие залы, где сидели люди с арифмометрами). Для довоенных самолётов и оружия этого хватало. Когда появились новые виды вооружения, то традиционных методов стало недостаточно (вместо 50 надо было собрать 500 и более человек), и это стимулировало появление первых вычислительных машин. Первые машины существовали достаточно долго.
В 1960-е годы вычислительные центры работали так же, как и в 1940—1950 годы — не было резидентных программ, программы готовились на перфокарте, машина обслуживалась оператором, который составлял программу и обслуживал машину. Этого было достаточно, так как задачи были уникальны и одноразовы, и автор задачи был её эксплуататором, пока она была нужна.
[править] Появление бизнеса в ИТ
Если бы не американцы, то на этом бы история вычислительной техники и закончилась. По мнению лектора, величайшая заслуга США в том, что они внесли бизнес в ИТ. Основным знаком было обращение внимания IBM. И они поняли, что компьютеры можно использовть не только для того, чтобы считать бомбу и могут служить не только против людей, но и для людей.
Другая сторона того факта, что на вычислительные машины обратил мир бизнеса — появление новых задач.
Информационная система — програмная система, опирающаяся при своей работе на БД.
Появлению нового направления в связи с развитием СУБД и посвящена эта лекция.
[править] Задачи 60-х годов
Для определённости мы будем говорить о тех числовиках, которые решали проблемы 1960-х годов.
Главной задачей было обеспечение счёта длительных задач при недостаточно стабильных системах. В то время сутки бесперебойной работы — недостижимый предел. В то время как задачи требовали для своего решения дней, недель, месяцев, лет. Одной из таких задач был расчёт последствий ядерного взрыва. Первые полезные результаты можно было получить через полгода, далее через два года — результат был бы точнее, через десять лет — точность результата уникальна.
[править] Механизм контрольных точек
Был придуман механизм контрольных точек — периодически образ оперативной памяти сбрасывался во внешнюю память и при возобновлении работы можно было восстанавить данные. Для этого нужен не известный заранее объём и последовательный доступ. Идеальным решением была магнитная лента. Бобина может быть сколь угодно большой, и объём дописывающего устройства может быть сколь угодно большой. И магнитных лент было вполне достаточно для сохранения контрольных точек.
[править] Виртуальная память
Ещё одна потребность — недостаток вычислительной памяти на компьютере. Есть желание работать с памятью в интенсивном режиме в псевдослучайном доступе, и необходимо некое устройство, которое позволяло работать почти со скоростью работы оперативной памяти. Для обеспечения иллюзии большего объёма вычислительной памяти были созданы устройства под названием магнитные барабаны. Магнитные барабаны на БЭСМ-6 весили 500 кг и вмещали в себе 16кСлов, где Слово равнялось 6 байтам. Единственным механическим действием было вращение барабана, и скорость их работы была всего в три раза меньше скорости основной памяти.
Между тем, для числовиков нужно 5 лент, чтобы результаты не потерялись, а для системных программистов — порядка 30.
[править] Рассказ про перфокарты во времена БЭСМ-6
Как устроена колода перфокарт — на ней набивалась программа, на одной из первых перфокарт писалась специальная инструкция, куда в памяти размещать данные с перфокарт, но работа была на космонавтику — генералов. Любимая генеральская проверка — рассыпать все перфокарты. Если программист хороший, то он пронумеровывал карты. Но специфика работы с перфокартами такова, что там необходимо вводить исправления. Но умный человек придумал записывать на каждой перфокарте инструкцию, куда записывать с неё данные, что позволяло программе загружаться при любом порядке перфокарт.
[править] Использование компьютеров в бизнес-задачах
Когда речь пошла об использовани компьютеров в бизнес-задачах, то всё стало иначе.
Одной из задач и в США, и в России являлась система резирвирования (мест в гостиницах, билетов, …), что связано с большими объёмами данных, рутинной работой, слежением за большим количеством мест. В этом плане США отличалась от СССР, так как в СССР гостиниц в современном понимании этого слова не было.
Рассмотрим систему продажи билетов на самолёт. Для эффективности этой программой должно пользоваться большое количество клиентов, и в связи с этим возникает большое количество данных, которые надо где-то хранить. Недостаток магнитных барабанов — в малом количестве помещающейся на них информации, поэтому они не подходят. Магнитные ленты имеют практически неограниченный объём, но гигантское время доступа.
Если 5 ученых еще могли поделить барабан на сектора или иметь свои ленты, то делить память между огромным числом пользователей вручную слишком сложно.
До этого не было систем управления данными, и революционным изобретением IBM было изобретение магнитных дисков с подвижными головками (1960-е годы).
[править] Магнитные диски
Нужно было придумать такое устройство, которое совмещало положительные свойства барабанов (быстрый доступ) и магнитных лент (большая ёмкость). МДПГ (Магнитный Диск с Подвижной Головкой) состоит из дисков, насаженных на ось и пакета головок, которые двигаются над дисками. Механическая часть — движение головок и вращение дисков, электронная — включение головок в нужный момент времени. Из-за того, что пластин много, площадь записываемой поверхности больше, а после того, как подвинутся в нужное время головки, практически со скоростью барабана можно производить операции. Почему компромисс: емкость магнитных дисков не может расти так неограничено, как магнитные ленты, из-за ограниченности объема, в который эти диски помещаются. Второе ограничение в скорости — барабаны были литые, тяжелые. Диски весят гораздо меньше, и их нельзя раскрутить так быстро, как барабаны, более важным ограничением является необходимость двигать головки. При операции необходимо сначала передвинуть головки на нужный циллиндр (подвод) — это очень длинная операция. Медленно увести головки неэффективно, но быстро их двигать нельзя, так как при резкой остановке начинаются колебания, которые происходят также достаточно долго. Вторым действием является прокрутка. Дорожка делится на блоки, и для начала записи надо прокрутить пакет дисков до нужной позиции, и это время также достаточно большое, так как скорость вращения ограничена. Самое маленькое время тратится на последнее действие — проведение операции чтения-записи.
T1 — время передвижения головки на нужный цилиндр T2 — время прокрутки диска до нужного сектора T3 — время считывания T1>>T2>>T3
Объем первого магнитного диска составлял 5Mb.
[править] Ненужность оптимизаций
Один из замечательных людей в миру БД Джим Грей — один из немногих, кто не только много делает как специалист, но и любит много писать, с частности писать разнообразные прогнозы. Что характерно, большая часть его прогнозов сбывалась. 10 лет назад Грей сказал — «всё, что вы пытались сделать против HDD — ошибка». Так как подобные устройства дешевые (их можно купить столько, сколько нужно), ужасно простые (и вся сложность уходит из hardware в software, эти устройства хороши тем, что хорошо известно, как они работают). Сейчас не очень много внимания люди из области управления данными обращают на RAID и другие технологии, которые внутри содержат оптимизацию — основной их минус в том, что их логика закрыта от программиста, и программист не может использовать преимущества этих систем, ориентируюся на простую схему.
Пример: Дан жесткий диск с 3 дисками, а интерфейс у него как у 7-дискового. Программист, видящий только интерфейс оптимизирует программу не правильно.
В БД есть важный элемент — журнал, который позволяет восстановить базу данных после различных катаклизмов.
[править] Две идеи относительно управления данными
20 лет назад был проект компьютеров пятого поколения, который начался по инициативе японцев. В этом проекте было много глупостей. В нём были две идеи относительно управления данными.
- Интеллектульные магнитные диски. 20 лет назад стали сильно дешеветь процессоры и сильно началась миниатюризация. Было предложено на каждую головку поставить процессор со своей памятью и ПО, который выпонял бы фильтрацию. Оказалось, что никто не знает, для чего это нужно. В чём была ошибка японцев — они решили, что производители оборудования умнее программистов, предлагая им технологию, которая им не нужна.
- Диски с фиксированными головками. Делается устройство, у которого над каждым диском висит пакет головок, над каждой дорожкой. Тогда исчезает время подвода. Но. Объём и так ограничен, а напихать головки так плотно, как дорожки, невозможно. Основная стоимость диска — электроника, и подобные диски будут стоить на несколько порядков дороже.
[править] Контроллеры и каналы в IBM 360
В IBM 360 также появился контроллер внешнего устройства и так называемый канал.
Как работало устройство в БЭСМ-6: например, алфавитно-цифровое печатающее устройство — широкое устройство с барабаном. И для печати строки нужно было выполнить соответствующее количеству символов в строке количество комманд на процессоре. Генератор был частоты 50 герц, и этого хватало. Но при управлении ЭЛТ 50 Герц не хватало. Поэтому частота прерываний БЭСМ-6 была поднята до 300 Герц, и в результате машина большую часть времени занималась обработкой прерываний.
В IBM 360 контроллер брал на себя выполнение комманд высокого уровня. Контроллер очень сильно разгружает процессор. Но IBM также сделала канал, который позволял формировать цепочки комманд. В результате, процессор получал только информацию о том, что либо операция выполнена, либо выполнена никогда быть не может.
[править] Проблема распределения пространства
Пусть имеется большая система (100 человек). Возникает ряд проблем. Вопрос, как распределять память в 7 мегабайт между 100 людьми? Для этого создано специальное ПО для распределения памяти. Дополнительно возникает проблема именования. То, что имя назначает человек, порождает возможность конфликтов. В-третьих, так как доступ является коллективным, возникает проблема взаимной защиты. В-четвертых, необходимо обеспечение параллельного доступа.
Об этих проблемах на следующей лекции.
Базы Данных
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Календарь
пт | чт | пт | чт | пт | чт | пт | чт | пт | чт | |
Сентябрь
| 01 | 07 | 14 | 15 | 21 | 22 | 28 | 29 | ||
Октябрь
| 05 | 06 | 12 | 13 | 19 | 20 | 26 | 27 | ||
Ноябрь
| 02 | 03 | 09 | 16 | 17 | 23 | 24 | 30 | ||
Декабрь
| 07 | 08 | 14 | 15 |
Вопросы к экзамену
1999
2000
2001
2002
2003
2004
2005
2006