Published using Google Docs
1. Введение
Updated automatically every 5 minutes

  1. Введение.

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

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

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

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

Элементы данных и их свойства.

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

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

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

Необходимость централизованного управления данными. Концепция интеграции.

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

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

Однако в скором времени организации осознали необходимость централизации управления данными и приложениями. К этому пониманию привели три следующие причины. Во-первых, руководители высшего уровня очень быстро обнаружили, что требуемую для принятия решений информацию не очень легко получить. Чтобы выполнить запрос на информацию, необходимо написать прикладную программу, способную обработать множество частных файлов, причем каждый из них имеет свой собственный формат. Таким образом, руководитель зачастую вынужден был отказываться от запроса из-за того, что за время, в течение которого информация могла быть получена, она становилась бесполезной, или из-за того, что ценность информации не соответствовала затратам на ее получение. Во-вторых, процесс принятия решений сдерживался отсутствием целостности хранимых данных. Отчеты, полученные с помощью ЭВМ, имели много расхождений по той причине, что логически идентичные элементы данных имели различные форматы или значения. Это было вызвано дублированием данных в частных файлах и непоследовательным проведением их обновления. Имелось также явное дублирование усилий по накоплению данных и выдаче отчетов. И, наконец, в-третьих, развитие информационной технологии подошло к такому уровню, когда стало возможным проектировать, накапливать и обрабатывать большие наборы данных в вычислительной среде. В конце концов организации осознали значимость такого ресурса, как данные, и необходимость централизованного управления ими.

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

Итак, база данных - это совокупность данных, обладающих следующими качествами:

Однако наличие БД само по себе не разрешает полностью существующих проблем организации в области обработки данных и принятия решений. Пользователи, естественно, стремятся развивать приложения для своих собственных целей, вовсе не интересуясь тем, какое влияние оказывают эти новые приложения на других пользователей. Без централизованного управления БД ее полезность со временем снижается.

Требования к базам данных. Свойства баз данных.

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

Системы управления базами данных.

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

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

 Не всякая управляющая программа работы с БД является СУБД. СУБД- это пакет программ, позволяющий:

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

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

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

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

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

Поскольку СУБД работает не сама по себе, а поверх определенной программно-аппаратной платформы, стоимость этой платформы играет важную роль для заказчика. Поэтому неудивительно, что крупные компании предпочитают СУБД для Unix, а средние и малые — для Windows и Linux. Чтобы удовлетворить все запросы, вендоры предлагают СУБД для всех платформ. На мировом рынке наиболее быстро растет спрос на СУБД для Linux. Однако по объему продаж у Oracle лидируют Unix-системы, на втором месте — СУБД для Windows и на третьем — для Linux, но разрыв между двумя последними платформами с каждым годом уменьшается.

СУБД ведущих производителей. Лидерами рынка СУБД на данный момент являются компании IBM, Oracle, Microsoft и Sybase, а на рынке СУБД, предназначенных для создания хранилищ данных, — IBM, Oracle, Microsoft, Sybase и Teradata.


Таблица. Корпоративные СУБД

Компании

СУБД

Краткая характеристика

Зарубежные продукты

Borland

InterBase

SQL-совместимая реляционная СУБД, работает под управлением ОС Windows, Linux и Solaris.

Gupta Technologies

SQLBase

Компактная реляционная, многопользовательская SQL-ориентированная СУБД, работает на платформах NetWare и Windows.

Computer Associates

Jasmine

Ingres II

Объектно-ориентированная СУБД, совместима с технологиями XML и Java.

Распределенная реляционная СУБД и объектно-ориентированная среда  разработки приложений в архитектуре клиент/сервер. Работает на платформах Unix, Linux, мейнфреймах, VMS, OS/2, Windows, NetWare.

IBM

DB2 Universal Database

Informix

Мультимедийная, Web-совместимая СУБД, работает с основными версиями Unix, Linux и Windows на аппаратных платформах zSeries, iSeries, VSE и VM.

СУБД для систем масштаба предприятия и рабочей группы, обеспечивает работу с очень крупными БД в условиях дефицита ресурсов.

InterSystems

Cache’

Постреляционная СУБД, включающая сервер многомерных данных и средство обработки запросов на языке SQL. Совместима с основными версиями Unix, Mac OS, Linux, Windows (32- и 64-разрядные версии).

Microsoft

SQL Server

Реляционная СУБД для управления данными в масштабе предприятия, поддерживает технологии XML и Интернет, обладает встроенным средством анализа и извлечения данных, интегрированным с Microsoft Office, работает на платформе Windows.

Oracle

Oracle

СУБД для масштабной обработки транзакций (OLTP), хранилищ данных с высокой интенсивностью потока запросов и ресурсоемких Интернет-, приложений. Совместима с основными версиями Unix, Windows и Linux. Последняя версия поддерживает Grid-вычисления.

Pervasive Software

Pervasive SQL

Компактная СУБД для разработки ответственных приложений для малых и средних предприятий, совместима с Windows, NetWare и Linux.

Progress Software

Progress

Встраиваемая СУБД, способная работать с данными, хранящимися в других БД, совместима с Windows, OS/2, основными версиями Unix, OpenVMS.

Software AG

Adabas

Постреляционная СУБД, поддерживающая различные модели данных, работает на мейнфреймах, основных вариантах Unix, Linux, OpenVMS и Windows.

Sybase

Sybase Adaptive Server Enterprise (ASE)

Sybase Adaptive Server Anywhere (ASA)

СУБД масштаба предприятия для централизованной обработки критически важной информации, работает на платформах Unix и Linux.

Компактная, полноценная реляционная СУБД для рабочих групп, мобильных и встроенных вычислений.

Отечественные продукты

Рэлэкс

Линтер

Реляционная СУБД, имеющая сертификат Гостехкомиссии при Президенте РФ на соответствие 2 классу защиты информации от несанкционированного доступа, совместима с основными версиями Unix, Linux, QNX, VAX/VMS, OpenVMS, DOS, Windows, NetWare, OS/2.

СУБД с открытым исходным кодом

MySQL AB

MySQL

Компактная, быстродействующая реляционная СУБД для малых и средних предприятий, совместима с Linux, Mac OS X, Unix и Windows.

Сообщество PostgreSQL

PostgreSQL

Реляционная СУБД, имеет многие возможности, которые реализованы в крупных коммерческих продуктах, совместима с Unix, Windows и NetWare.

 

Сейчас на рынке пользовательских систем конкурируют в первую очередь ОС (ОС) семейств Microsoft Windows и Linux, а использование пакетов прикладных программ определяется выбором пользовательской ОС. Из прагматических соображений имеет смысл выбирать ее на основе сравнения каких-то количественных показателей, а не качественных (типа «лучше-хуже») или эмоциональных («привычно-непривычно») оценок.

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

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

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

 

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

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

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

Таким образом, СУБД — это массовый продукт. В основном СУБД применяют не индивидуальные пользователи, а предприятия. Эта особенность, безусловно, играет серьезную роль при продвижении СУБД.

Требования к СУБД

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

Отсутствие какого-либо из этих признаков приводит к тому, что даже у неплохой по другим потребительским свойствам СУБД область применения оказывается весьма ограниченной. Так, СУБД с плохой масштабируемостью, успешно применявшаяся при небольшом объеме данных, оказывается непригодной при его росте и нередко ее приходится заменять на другую; при этом неизбежны определенные затраты на переписывание серверного кода. Лишние затраты на администрирование обычно тоже никому не нужны. Плохие масштабируемость и доступность влекут за собой дополнительные затраты рабочего времени сотрудников, простои, а также потерю компанией клиентов, отчаявшихся дождаться нужных данных на корпоративном сайте и вынужденных обратиться на сайт конкурента.

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

Говоря о различном назначении баз данных отметим, что существует три типа:

-            оперативные, или OLTP-базы данных (On-Line Transaction Processing) — обычно в эти базы данных осуществляется интенсивный ввод данных, а вот число адресованных к ним запросов невелико;

-      хранилища данных (OLAP), применяемые, как правило, в аналитических приложениях и системах поддержки принятия решений — к ним обычно адресуется большое число запросов, но ввод данных в них не столь интенсивен;

-       «склад данных».

Многие современные СУБД с успехом поддерживают создание OLAP, OLTP базы данных — все определяется тем, как будет спроектирована структура данных. Однако нередко для создания хранилищ данных применяются специальные СУБД, способ хранения данных в которых особым образом оптимизирован для ускорения выполнения запросов. И, как правило, создание OLAP-хранилищ, основанных на многомерных базах данных, требует наличия отдельных серверных продуктов. «Cклад данных» это консолидированные данные.

Следует отметить, что выбор той или иной аппаратной платформы и конфигурации определяется и рядом общих требований, которые предъявляются к характеристикам современных вычислительных систем. К ним относятся:

Отношение стоимость/производительность. При проектировании высокопроизводительных конструкций приходится игнорировать стоимостные характеристики. Суперкомпьютеры фирмы Cray Research и высокопроизводительные мейнфреймы компании IBM относятся именно к этой категории компьютеров. Другим крайним примером может служить низкостоимостная конструкция, где производительность принесена в жертву для достижения низкой стоимости. К этому направлению относятся персональные компьютеры различных клонов IBM PC. Между этими двумя крайними направлениями находятся конструкции, основанные на отношении стоимость/производительность, в которых разработчики находят баланс между стоимостными параметрами и производительностью. Для сравнения различных компьютеров между собой обычно используются стандартные методики измерения производительности. Эти методики позволяют разработчикам и пользователям использовать полученные в результате испытаний количественные показатели для оценки тех или иных технических решений, и в конце концов именно производительность и стоимость дают пользователю рациональную основу для решения вопроса, какой компьютер выбрать.

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

Отказоустойчивость - это такое свойство вычислительной системы, которое обеспечивает ей, как логической машине, возможность продолжения действий, заданных программой, после возникновения неисправностей. Введение отказоустойчивости требует избыточного аппаратного и программного обеспечения. На параллельных вычислительных системах достигается как наиболее высокая производительность, так и, во многих случаях, очень высокая надежность. Имеющиеся ресурсы избыточности в параллельных системах могут гибко использоваться как для повышения производительности, так и для повышения надежности. Структура многопроцессорных и многомашинных систем приспособлена к автоматической реконфигурации и обеспечивает возможность продолжения работы системы после возникновения неисправностей. Понятие надежности включает не только аппаратные средства, но и программное обеспечение. Главной целью повышения надежности систем является целостность хранимых в них данных.

Масштабируемость представляет собой возможность наращивания числа и мощности процессоров, объемов оперативной и внешней памяти и других ресурсов вычислительной системы. Масштабируемость должна обеспечиваться архитектурой и конструкцией компьютера, а также соответствующими средствами программного обеспечения. Добавление каждого нового процессора в действительно масштабируемой системе должно давать увеличение производительности и пропускной способности при приемлемых затратах. Одной из основных задач при построении масштабируемых систем является минимизация стоимости расширения компьютера. В идеале добавление процессоров к системе должно приводить к линейному росту ее производительности. Однако это не всегда так. Потери производительности могут возникать, например, при недостаточной пропускной способности шин из-за возрастания трафика между процессорами и основной памятью, а также между памятью и устройствами ввода/вывода. В действительности реальное увеличение производительности трудно оценить заранее, поскольку оно в значительной степени зависит от динамики поведения прикладных задач. В частности, программное обеспечение должно минимизировать трафик межпроцессорного обмена, который может препятствовать линейному росту производительности системы. Аппаратные средства (процессоры, шины и устройства ввода/вывода) являются только частью масштабируемой архитектуры, на которой программное обеспечение может обеспечить предсказуемый рост производительности. Важно понимать, что простой переход, например, на более мощный процессор может привести к перегрузке других компонентов системы. Это означает, что действительно масштабируемая система должна быть сбалансирована по всем параметрам.

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