РАСПРЕДЕЛЕННЫЕ БАЗЫ ДАННЫХ, ВЫСОКОПРОИЗВОДИТЕЛЬНЫЕ ВЫЧИСЛЕНИЯ, ГРИД И ОБЛАЧНЫЕ ТЕХНОЛОГИИ СУБД ЭВОЛЮЦИЯ ТЕХНОЛОГИЙ В УПРАВЛЕНИИ ДАННЫМИ Лекция 1 Контакты и литература Желенкова Ольга Петровна [email protected], http://www.sao.ru/hq/zhe/miscRU.html Дейт К.Дж., Введение в системы баз данных, 2001 Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс, 2003 Кузнецов С.Д. Основы баз данных. Учебное пособие, 2007 Бурлаков П.В., Петров В.Ю. Введение в системы баз данных. Учебное пособие, 2010. Грей Дж. Управление данными: прошлое, настоящее и будущее. Системы Управления Базами Данных # 3/1998 Кайт Т. ORACLE для профессиналов, 2003 Управление данными 0 : менеджеры записей (4000 г. до н. э. – 1900) 1 : менеджеры записей (1900-1955) перфокарты 2 : программируемое оборудование обработки записей (1955-1970) 3 : оперативные сетевые базы данных (1965-1980) 4 : реляционные базы данных и архитектура клиент-сервер (1980-1995) 5: мультимедийные базы данных (1995-...) 6: NoSQL (2000-…) Информационные системы. История Вычисления Системы управления файлами Информационные системы Предпосылки появления баз данных: необходимость хранить и обрабатывать большой объем данных совместное использование информации внешние носители Базы данных: термины Информация – сведения о каком-либо событии, объекте или процессе. Данные – информация, представленная в определенном виде, позволяющем автоматизировать ее сбор, хранение и дальнейшую обработку. Для компьютерных технологий данные — в виде, удобном для хранения, обработки на ЭВМ, а также для передачи по каналам связи. Управление данными – совокупность функций для требуемого представления данных, их накопления и хранения, обновления, удаления, поиска по заданному критерию и выдачи данных. [ГОСТ 20886-85] База данных (БД) – поименованная совокупность взаимосвязанных структурированных данных, которая отражает состояние объектов и их отношений в рассматриваемой предметной области, причем они организованы так, чтобы обеспечить независимость данных от программ обработки. Предметная область – информация о части реального мира, подлежащая изучению с целью организации управления и автоматизации. Система управления базами данных (СУБД) – это совокупность программ и языковых средств, предназначенных для управления данными в базе данных, ведения базы данных и обеспечения взаимодействия её с прикладными программами [ГОСТ 20886-85]. Требования к реляционным СУБД Э.Ф. Кодд предложил схему представления данных в виде таблиц, называемых отношениями (relations), и охарактеризовал требования к реляционным СУБД (Dr. E. F. Codd’s 12 rules for defining a fully relational database, 1985 г.): 1. реляционная СУБД должна быть способна полностью управлять базой данных через ее реляционные возможности; 2. информационное правило — вся информация должна определяться строго как значения в таблицах; 3. гарантированный доступ 4. поддержка пустых значений (null value); 5. доступ к словарю данных в терминах реляционной модели 6. единственный язык запросов, который позволяет выполнять все операции работы к данным Требования к реляционным СУБД (по Кодду) 7. 8. 9. 10. 11. 12. 13. поддержка обновляемых представлений (View Updating Rule). Операции вставки, модификации и удаления данных должны поддерживаться по отношению к любому множеству строк. физическая независимость данных. логическая независимость данных. независимость контроля целостности. СУБД должна выполнять проверку заданных ограничений целостности и автоматически поддерживать целостность данных. независимость от распределенности. согласование языковых уровней. Если используется низкоуровневый язык доступа к данным, он не должен игнорировать правила безопасности и целостности, которые поддерживаются языком более высокого уровня. Требования к СУБД поддержка целостности данных или согласованности данных согласованное хранение независимых наборов данных. извлечение данных с помощью простого языка запросов надежное хранение данных несмотря на возможность сбоя в программных или технических средствах одновременный доступ к данным нескольким пользователям ACID -требования к транзакционной системе (Дж. Грей, конец 70-х годов) Atomicity — атомарность - никакая транзакция не будет зафиксирована в системе частично. Либо все, либо ничего (rollback); Consistency — согласованность при нормальном завершении транзакции сохраняется согласованность базы данных. Isolation — изолированность - во время выполнения транзакции другие транзакции не должны оказывать влияние на её результат. Durability — надежность.. Основные функции СУБД: управление данными во внешней памяти ; управление данными в оперативной памяти; управление транзакциями; журнализация изменений и восстановление базы данных после сбоев; поддержание языков БД (язык определения данных, язык манипулирования данными). Компоненты системы баз данных Прикладное программное обеспечение Система управления базами данных База данных Основным принципом организации базы данных является совместное хранение данных и их описаний. Это отличает базу данных от любого другого набора данных, хранящихся в ЭВМ. БД содержит не только данные, всесторонне характеризующие деятельность в предметной области, но и описания этих данных. Информацию о данных принято называть "метаданными", т. е. "данными о данных". В совокупности описания всех данных образуют словарь данных. СУБД Программные составляющие СУБД включают в себя ядро и сервисные средства (утилиты). Ядро СУБД – это набор программных модулей, необходимый и достаточный для создания и поддержания БД, то есть универсальная часть, решающая стандартные задачи по информационному обслуживанию пользователей. Сервисные программы предоставляют пользователям ряд дополнительных возможностей и услуг, зависящих от описываемой предметной области и потребностей конкретного пользователя. Требования к современной СУБД Масштабируемость. Увеличение объема данных и обслуживание одновременных сеансов работы пользователей без потери Многоплатформенность. независимость программных приложений и логической структуры для хранения данных от программно-аппаратной платформы Открытая архитектура. Современные ИВС не являются однородными, поэтому современная СУБД должна поддерживать, помимо своих интерфейсов еще и стандартные интерфейсы доступа к данным (ODBC, JDBC). Независимость от платформ Операционные системы Оконные менеджеры −MS Windows −X Motif −Macintosh −Другие Сетевые протоколы • • • • • • TCP/IP LU6.2 SPX/IPX OSI DECnet Другие • • • • • • • • Оборудование • • • • • • Compaq Sun HP IBM Mac Другие • • • • • OS/390 TRU64 Solaris AIX HP Unix NT Linux Другие NCR Pyramid Sequent Sun Intel Независимость от архитектуры Один Процессор Симметричная многопроцес-сорная архи-тектура (SMP) Слабо сцепленные процессоры (кластер) Можно использовать любые вычислительные архитектуры. Массивно параллельный компьютер (MPP) Соглашения по стандартам ORANGE BOOK ANSi CEE C RRTT I I SQL ON TIIO AAT TTE OF OF VVAA LLIID I CA D FF IC FIPS Комитеты • • • • ANSI X3H2 X3H2.1 RDA SQL Access Group OMG Стандарты баз данных • FIPS 127-2 • ANSI X3-135.1992 Стандарты защиты данных: • NCSC TDI C2, B1 • ITSEC F-C2/E3, F-B1/E3 Сетевые стандарты • OSI • DNSIX (MaxSix) Межоперабельность • IDAPI, ODBC • TSIG • X/Open • DCE • DDE Разработка базы данных Предметная область Модель предметной области (инфологическая модель) Логическая модель данных Физическая модель данных Собственно база данных и приложения