Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы (А-13-07) / Дудкина, Захаров / Захаров Д.С. А-13-07 Обзор СУБД.docx
Скачиваний:
44
Добавлен:
28.06.2014
Размер:
31.8 Кб
Скачать

Московский Энергетический Институт (ТУ)

Обзор рынка современных СУБД

Выполнил: Захаров Д.С.

Группа: А-13-07

Проверил: Сидорова Н. П

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

  • Базы данных для выполнения онлайновых транзакций (Online transaction processing, OLTP) — чаще всего используются в режиме реального времени, в широком спектре деловых приложений (ERP, CRM и пр.) и должны отвечать высоким требования по производительности, масштабируемости, надежности, безопасности. Как правило, такие продукты представлены в виде нескольких вариантов, предназначенных для промышленной эксплуатации и разработки решений. OLTP-системы поставляются компаниями IBM, Microsoft, Oracle и Sybase, а также в рамках открытых проектов, включая Ingres, MySQL и PostgreSQL. 

  • Хранилища данных, организация которых ориентирована на задачи по принятию решений с использованием разнообразных средств бизнес-аналитики. Такие продукты должны иметь хороший набор средств извлечения и преобразования информации. В этом назначении широко применяют традиционные средства тех же IBM, Microsoft, Oracle, Ingres, но очень серьезные позиции тут занимает специализированное ПО от таких компаний, как Greenplum, Netezza, Sybase и Teradata. 

  • Специализированные базы данных — необходимы для решения специфических задач, связанных с использованием, например, мобильных устройств или XML-приложений. Как правило, подобные системы применяются в виде встроенных компонентов, поставляемых конечным пользователям третьими ИТ-компаниями (производителями оборудования, независимыми разработчиками ПО и пр.). Подобные СУБД выпускают как крупные софтверные вендоры (IBM, Microsoft, Oracle, Sybase), так и относительно небольшие разработчики (Mark Logic, Progress, Software AG).

В ведущую группу СУБД входит большая тройка лидеров рынка (Oracle Database, IBM DB2, Microsoft SQL Server ) и немного отставшая от них Sybase Adaptive Server EnterpriseН на первом месте Oracle. По мнению экспертов, у Oracle есть очень мощный набор функций и возможностей, в том числе в плане обеспечения доступности, безопасности, производительности, администрирования, работы с данными различного типа и интеграции. В то же время IBM DB2 обладает хорошей сбалансированностью функционала и перспектив развития. Она имеет особенно сильные позиции на уровне высокопроизводительных систем в среде UNIX (HP-UX, Linux).

В отношении Microsoft говорится, что это самый агрессивный игрок на рынке СУБД, в последней версии своего продукта компания предприняла серьезные усилия по улучшению возможностей его использования в корпоративных системах верхнего уровня; при этом в нем расширены традиционно сильные стороны SQL Server, такие как поддержка программирования баз данных. Позиция Sybase в лидирующей группе отражает устойчивую позицию данного продукта на корпоративном рынке, обеспечиваемую в том числе высокой надежностью решения и наличия в нем хорошего набора средств масштаба предприятия.

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

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

NoSQL БД набирают популярность является из того, что современные реляционные БД показывают низкую производительность в приложениях с интенсивным обменом данными, таких индексирование больших объемов документов, обслуживание высоконагруженных веб сайтов, распространение потоковой видео и аудио информации. Типичные РСУБД ориентированны либо на небольшие но частые read/write транзакции, либо на большие транзакции с редкой записью в хранилище. NoSQL БД позволяют обслуживать тяжелые и частые read/write транзакции. Кроме того NoSQL БД обладают лучшей горизонтальной масштабируемостью по сравнению с реляционными БД.

Среди NoSQL БД можно выделить несколько основных типов:

  • Хранилище документов (Document Storage)

Продукты: MongoDB, CouchDB, SimpleDB

  • Хранилище данных в виде графов (Graphs)

Продукты: FlockDB,Core Data

  • Классический кэш ключ/значение хранящийся в оперативной памяти (Key/value cache in RAM)

Продукты: memcached, Velocity

  • Согласованное в конечном счете хранилище ключ/значение

Продукты: Cassandra, Amazon’s Dynamo

Согласованность в конечном счете (Eventual consistency). Частный случай слабой согласованности. Система гарантирует, что, при отсутствии новых обновлений данных, в конечном счете, все запросы будут возвращать последнее обновленное значение. При отсутствии сбоев, максимальный размер окна несогласованности может быть определен на основании таких факторов, как задержка связи, загруженность системы и количество реплик в соответствии со схемой репликации. Самая популярная система, реализующая «согласованность в конечном счете» – DNS. Обновленная запись распространяется в соответствии с параметрами конфигурации и настройками интервалов кэшированя. В конечном счете, все клиенты увидят обновление.

Примерами внедрения NoSQL БД могут служить такие проекты как Facebook (50 Тб БД Cassandra для поиска по входящим сообщениям), Ebay более 2 Пб данных хранится в NoSQL БД, также популярные web-сервисы такие как Digg, Twitter, LinkedIn использую NoSQL БД в замен классических реляционных. Так же NoSQL БД широко распространены в сфере облачных вычислений благодаря тому, что они обладают значительно лучшей горизонтальной масштабируемостью, основные поставщики PaaS и IaaS (Platform as a Service, Infrastructure as a Service) услуг предоставляют возможность использования NoSQL БД: Google BigTables, MS Windows Azure Tables, Amazon SimpleDB.

Практические все NoSQL БД являются open-source проектами. Это происходит в основном благодаря тому, что применение область их применения значительно меньше, чем у РСУБД и поэтому основные производители СУБД медленно переходят на этот рынок.

Реляционные БД

Реляционная база данных — база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение). Для работы с реляционными БД применяют реляционные СУБД. Использование реляционных баз данных было предложено доктором Коддом из компании IBM в 1970 году.

Реляционными СУБД являются, к примеру, широко известные Microsoft Access, Microsoft SQL Server, MySQL, DB2, Visual FoxPro.

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

Реляционная модель данных включает следующие компоненты:

• Структурный аспект (составляющая) — данные в базе данных представляют собой набор отношений.

• Аспект (составляющая) целостности — отношения (таблицы) отвечают определенным условиям целостности. РМД поддерживает декларативные ограничения целостности уровня домена (типа данных), уровня отношения и уровня базы данных.

• Аспект (составляющая) обработки (манипулирования) — РМД поддерживает операторы манипулирования отношениями (реляционная алгебра, реляционное исчисление).

Термин «реляционный» означает, что теория основана на математическом понятии отношение (relation). В качестве неформального синонима термину «отношение» часто встречается слово таблица. Необходимо помнить, что «таблица» есть понятие нестрогое и неформальное и часто означает не «отношение» как абстрактное понятие, а визуальное представление отношения на бумаге или экране. Некорректное и нестрогое использование термина «таблица» вместо термина «отношение» нередко приводит к недопониманию. Наиболее частая ошибка состоит в рассуждениях о том, что РМД имеет дело с «плоскими», или «двумерными» таблицами, тогда как таковыми могут быть только визуальные представления таблиц. Отношения же являются абстракциями, и не могут быть ни «плоскими», ни «неплоскими».

Microsoft Access

MS Access – СУБД от корпорации Microsoft. Данная СУБД поставляется вместе с пакетом программ MS Office. Крайней версией на данный момент является MS Access 2007.

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

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

Но несмотря на недостатки, MS Access все равно остается достаточно популярной СУБД.

Microsoft sql Server

Microsoft SQL Server — система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка.

При взаимодействии с сетью Microsoft SQL Server и Sybase ASE используют протокол уровня приложения под названием Tabular Data Stream (TDS, протокол передачи табличных данных). Протокол TDS также был реализован в проекте FreeTDS с целью обеспечить различным приложениям возможность взаимодействия с базами данных Microsoft SQL Server и Sybase.

Для обеспечения доступа к данным Microsoft SQL Server поддерживает Open Database Connectivity (ODBC) — интерфейс взаимодействия приложений с СУБД. Версия SQL Server 2005 обеспечивает возможность подключения пользователей через веб-сервисы, использующие протокол SOAP. Это позволяет клиентским программам, не предназначенным для Windows, кроссплатформенно соединяться с SQL Server. Также SQL Server поддерживает зеркалирование и кластеризацию баз данных. Кластер сервера SQL — это совокупность одинаково конфигурированных серверов; такая схема помогает распределить рабочую нагрузку между несколькими серверами. Все сервера имеют одно виртуальное имя, и данные распределяются по IP-адресам машин кластера в течение рабочего цикла. Также в случае отказа или сбоя на одном из серверов кластера доступен автоматический перенос нагрузки на другой сервер.

В SQL Server 2005 встроена поддержка .NET Framework. Благодаря этому хранимые процедуры БД могут быть написаны на любом языке платформы .NET, используя полный набор библиотек, доступных для .NET Framework, включая Common Type System (система обращения с типами данных в Microsoft .NET Framework). Однако, в отличие от других процессов, .NET Framework, будучи базисной системой для SQL Server 2005, выделяет дополнительную память и выстраивает средства управления SQL Server вместо того, чтобы использовать встроенные средства Windows. Это повышает производительность в сравнении с общими алгоритмами Windows, так как алгоритмы распределения ресурсов специально настроены для использования в структурах SQL Server.