
- •Москва 2012
- •Введение
- •Nosql решения
- •Отличительные особенности nosql
- •Общие сведения о NoSql моделирования данных
- •Сравнение sql и NoSql от Oracle
- •Подготовка Oracle sql
- •Подготовка Oracle NoSql
- •Сравнение производительности
- •Сравнение производительности для выборки с условием
- •Сравнение производительности
- •Список использованной литературы
- •Приложение 1 .Java классы
Национальный исследовательский ядерный университет “МИФИ”
ФАКУЛЬТЕТ
«КИБЕРНЕТИКА и ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ»
Доклад по теме
«Сравнение производительности
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 стали огромные объемы данных, линейная масштабируемость, кластеры, отказоустойчивость, нереляционность. Все чаще архитекторы выбирают хранилище исходя из природы самих данных и того, как мы ими хотим манипулировать, какие объемы информации ожидаются.
Nosql решения
Рассматривая основные предпосылки развития nosql технологий выделим появление огромного количества интернет-сервисов с огромным количеством пользователей и данных. Яркий пример – Google, Facebook. Появилась необходимость хранить и обрабатывать данные с постоянно меняющейся структурой. Рост информационных ресурсов навязывает необходимость использовать кластеры из десятков, а то и сотен недорогих серверов. Нужно понимать, что традиционные реляционные СУБД для этого просто не подходят.
Отличительные особенности 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)