СРАВНЕНИЕ РАЗЛИЧНЫХ ПОДХОДОВ К СОЗДАНИЮ БАЗ ДАННЫХ - Студенческий научный форум

V Международная студенческая научная конференция Студенческий научный форум - 2013

СРАВНЕНИЕ РАЗЛИЧНЫХ ПОДХОДОВ К СОЗДАНИЮ БАЗ ДАННЫХ

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Введение

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

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

Итак, основные подходы к управлению базами данных:

1. Реляционный подход.

2. Объектно-ориентированный подход.

3. Документо-ориентированный подход.

Расскажем кратко о каждом из подходов.

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

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

Документо-ориентированные базы данных предназначены для хранения и управления документо-ориентированной или полу-структурированной информации. В отличие от реляционных баз данных с их понятиями «отношений», эти системы построены вокруг абстрактного понятия «документа». Документ содержит произвольное число свойств. Документы в ДОБД похожи на записи в РБД, но к ним не такие строгие требования. Они не обязаны иметь одинаковую структуры и количество атрибутов. [4]

Основные достоинства и недостатки перечисленных подходов

Подход

Достоинства

Недостатки

1. Реляционный подход

1. Модель данных отображает информацию в наиболее простой для пользователя форме.

2. Основан на развитом математическом аппарате, который позволяет достаточно лаконично описать основные операции над данными.

1.Относительно низкая скорость доступа и большой объем внешней памяти.

2.Трудность понимания структуры данных из-за появления большого кол-ва таблиц в результате логического проектирования.

3.Предметную область не всегда можно представить в виде совокупности таблиц.

4. Практически не позволяет хранить большие объемы данных.

2. Объектно-ориентированный

1. Позволяют пользователям определять абстракции;

2. Облегчают проектирование некоторых связей;

3. Устраняют потребность в определяемых пользователями ключах;

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

1.Отсутствие интероперабельности между РБД и ООБД;

2.Отсутствие стандартной алгебры запросов;

3.Отсутствие средств обеспечения запросов;

4.Проблемы с безопасностью;

5.Недостаточная поддержка сложных объектов;

3. Документо-ориентированный

1. В сравнении с реляционными базами данных лучшая производительность при индексировании больших объёмов данных и большим количестве запросов на чтение.

2. Легче масштабируются в сравнении с SQL решениями

3. Легко менять "схему" данных: не нужно выполнять никаких операций обновления для добавления новых полей.

4. Нет проблем с хранением неструктурированных данных.

5. Единое место хранения всей информации об объекте: меньше операций вида "join".

6. Простой интерфейс общения с БД

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

2. Для обработки данных необходимо использование дополнительного языка программирования.

3.Система MongoDB допускает максимальный размер БД всего 2 Гб на 32-битных системах.

[1][6]

Какой же подход следует использовать?

Реляционный подход

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

Объектно-ориентированный

Вы работаете с данными, среди которых одни данные наследуют свойства от других или обладают строго индивидуальными свойствами.

Документо-ориентированный

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

Примеры использования:

Документо-ориентированные БД чаще используются в работе с Web-приложениями и сайтами, н. их использует Facebook, Twitter, ebay. Эти сайты хранят очень много информации, и пользователи очень часто просматривают ленту или входящие сообщения. Из-за того, что все данные о пользователе не хранятся в разных таблицах, а хранятся просто массивами в ДОБД, мы просматриваем наши сообщения за доли секунды. [5]

Объектно-ориентированные БД чаще используются, когда существует несколько сущностей с одинаковыми свойствами (компонент наследования) и когда у одной сущности есть свойства, которые должны обязательно присутствовать (компонент инкапсуляции). В РБД, если две сущности имеют одинаковые свойства, обычно приходится либо жертвовать нормализацией отношений, либо создавать отдельную таблицу с общими свойствами и две таблицы с отдельными свойствами, а если их должны определять еще и одинаковые первичные ключи? К тому же такая ситуация существенно увеличивает количество JOIN-ов при создании запросов.[7]

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

Современный рынок СУБД

Анализ распределения наиболее распространенных платформ позволяет выявить тройку лидеров, которые занимают в совокупности 78 % рынка: Btrieve/Pervasive (34 %), Microsoft (MS) SQL (24 %), Oracle (20 %). Остальные программные платформы существенно отстают от лидеров, рейтинг их популярности колеблется от 7 % до 1 %.

Согласно данным «Магического квадранта» Gartner на 2012 г., лидерами на рынке СУБД для хранилищ данных являются Teradata, Oracle, IBM, EMC/Greenplum, Sybase и Microsoft.

Заключение

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

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

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

Список использованной литературы

1. Презентация MongoDB vs CouchDB Сравнение нереляционных баз данных. Автор - Антон Колесов.

2.ГОСТ Р ИСО МЭК ТО 10032-2007: Эталонная модель управления данными (идентичен ISO/IEC TR 10032:2003 Information technology — Reference model of data management).

3. ISO/IEC 2382-1:1993. Information technology — Vocabulary — Part 1: Fundamental terms.

4. http://en.wikipedia.org/wiki/Document-oriented_database

5. http://ru.wiki.mongodb.org/display/DOCS/Introduction

6. http://ru.wikipedia.org/wiki/NoSQL

7. http://habrahabr.ru/post/152477/

Просмотров работы: 4199