Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сравнение производительности oracle sql и oracl...docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
315.9 Кб
Скачать

Национальный исследовательский ядерный университет “МИФИ”

ФАКУЛЬТЕТ

«КИБЕРНЕТИКА и ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ»

Доклад по теме

«Сравнение производительности

Oracle sql и Oracle Nosql»

Исполнитель:

студент гр. Б7-01

Аблеков В.К.

Научный руководитель:

Лаврентьев В.С.

Москва 2012

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 2

1. NOSQL РЕШЕНИЯ 2

1.1. Отличительные особенности nosql 2

1.2. Общие сведения о NoSQL моделирования данных 4

2. Сравнение SQL и NoSQL от Oracle 4

2.1. Подготовка Oracle SQL 5

2.2. Подготовка Oracle NoSQL 6

2.3. Сравнение производительности 6

2.4. Сравнение производительности для выборки с условием 11

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 15

Введение

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

  1. Nosql решения

Рассматривая основные предпосылки развития nosql технологий выделим появление огромного количества интернет-сервисов с огромным количеством пользователей и данных. Яркий пример – Google, Facebook. Появилась необходимость хранить и обрабатывать данные с постоянно меняющейся структурой. Рост информационных ресурсов навязывает необходимость использовать кластеры из десятков, а то и сотен недорогих серверов. Нужно понимать, что традиционные реляционные СУБД для этого просто не подходят.

    1. Отличительные особенности nosql

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

Приятное следствие отсутствия схемы — эффективность работы с разреженными (sparse) данными. Если в одном документе есть поле date_published, а во втором — нет, значит никакого пустого поля date_published для второго создано не будет. Это, в принципе, логично, но менее очевидный пример — column-family NoSQL базы данных, в которых используются знакомые понятия таблиц/колонок. Однако в силу отсутствия схемы, колонки не объявляются декларативно и могут меняться/добавляться во время пользовательской сессии работы с базой. Это позволяет в частности использовать динамические колонки для реализации списков.

У неструктурированной схемы есть свои недостатки — помимо упомянутых выше накладных расходов в коде приложения при смене модели данных — отсутствие всевозможных ограничений со стороны базы (not null, unique, check constraint и т.д.), плюс возникают дополнительные сложности в понимании и контроле структуры данных при параллельной работе с базой разных проектов (отсутствуют какие-либо словари на стороне базы). Впрочем, в условиях быстро меняющегося современного мира такая гибкость является все-таки преимуществом.

Перечислим и другие преимущества nosql решений:

  • Примеры использования nosql решений Not-only-SQL (2009)

  • Класс нереляционных баз данных, которые обычно:

    • Позволяют горизонтально масштабироваться

    • Почти нет объединений (Join)

    • Целостность данных может поддерживаться не так жестко, как в реляционных СУБД

    • Не требуют структурированной схемы

    • Как работать с данными знает приложение/разработчик

  • Отсутствие стандартов

    • Большое количество разных решений (Около 130 на nosqldatabase.org)

    • Функциональность очень разная от проекта к проекту

  • Open Source решения

Основные отличия традиционных СУБД от Nosql приведены в таблице 1.

Таблица 1. Сравнение реляционных баз с nosql решениями

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

NoSQL альтернативы

Ценные, информационно- ёмкие, сложные данные

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

Сложные отношения внутри базы данных

Очень простые отношения

Жесткая структура

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

Огромное количество наработанной функциональности и инструментов

Распределенное хранение и обработка

Упрощенное хранение данных

Высокая стоимость обработки

Стоимость обработки во много раз ниже

Перечислим области применения Nosql решений.

  • Социальные сети(LinkedIn, Facebook, Digg, Google+, etc.)

  • Персонализация (Amazon, Ebay, Yahoo, etc.)

  • Обслуживание в веб (Apple, Cisco, AT&T, HP, Motorola, Nokia)

  • Обслуживание клиентов

  • Отслеживание устройств

  • Банки и финансы (JP Morgan, Wells Fargo)

  • Определение мошенничеств

  • Поиск по документам (Thomson Reuters, exLibris)

  • Наука

  • Геофизика (Halliburton)