Применимость нереляционных баз данных в корпоративной среде. Обзор NoSQL
Рассмотрение перспектив использования технологий NoSQL при разработке информационных систем управления предприятием. Описание основных параметров системы: масштабируемость, система хранения данных, модель запросов. Процедуры шардинга и репликации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 24.03.2019 |
Размер файла | 369,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Московский Технический Университет Связи и Информатики
Применимость нереляционных баз данных в корпоративной среде. Обзор NoSQL
Фиронов Д.М.
Москва, Россия
В статье рассматриваются перспективы использования технологий NoSQL при разработке информационных систем управления предприятием. Кратко изложены свойства NoSQL систем.
В связи с ростом предприятия, стремительно растет и объем данных, которые хранятся и обрабатывается в информационных системах управления предприятием, а также растет число пользователей информационных приложений и сервисов в корпоративной сети. Такое явление создает проблему эффективного представления информации, обеспечивающего быстрый доступ и надёжность хранения, целостность данных. Следовательно, реляционные базы данных не справляются с нагрузками, актуальными в настоящее время. Большинство предприятий нуждаются в поиске новых путей для хранения и масштабирования огромных массивов данных. Это обуславливает актуальность построения и применения моделей представления данных, отличных от реляционных. В качестве нереляционных баз данных, будет рассматриваться NoSQL.
Для сравнения NoSQL систем используются три основных параметра: масштабируемость, система хранения данных, модель данных и запросов.
Масштабируемость - автоматическое распределение данных между серверами. Распределенные БД поддерживают более одного датацентра и позволяют расширять работающий кластер серверов незаметно для клиентов. Сравнение распределенных систем управления базами данных отображено в таблице 1.
Сравнение распределенных СУБД[2] Таблица 1
СУБД |
Прозрачное добавление в кластер |
Поддержка нескольких датацентров |
|
Cassandra |
Да |
Да |
|
HBase |
Да |
Нет |
|
Riak |
Да |
Да |
|
Scalaris |
Да |
Нет |
|
Voldemort |
Нет |
Необходима доработка |
Основные достоинства NoSQL в распределенных системах заключаются в процедурах шардинга и репликации[3]. Под репликацией понимается копирование данных с одних серверов на другие, при их обновлении. Данная технология обеспечивает большую отказоустойчивость и масштабируемость системы. При шардинге массив информации разделяется по разным узлам сети. Каждый узел отвечает только за определенный набор данных и обрабатывает запросы на чтение и запись, относящиеся только к этому набору данных.
информационный управление запрос шардинг
Сравнение моделей данных и запросов разных СУБД[4] Таблица 2
СУБД |
Модель данных |
API запросы |
|
Cassandra |
Семейства столбцов |
Thrift |
|
CouchDB |
Документы |
Map/Reduce |
|
HBase |
Семейства столбцов |
Thrift, REST |
|
MongoDB |
Документы |
Cursor |
|
Neo4J |
Графы |
Graph |
|
Redis |
Коллекции |
Collection |
|
Riak |
Документы |
Nested hashes, REST |
|
Scalaris |
Ключ/Значение |
get/pun |
|
Tokyo Cabinet |
Ключ/Значение |
get/pun |
|
Voldemort |
Ключ/Значение |
get/pun |
Семейство столбцов - это строка, которая содержит множество столбцов, ассоциированных с ключом строки. Группируют взаимосвязанные данные, доступ к которым часто обеспечивается как к единому целому
Рисунок 1. Модель данных в базе Cassandra, представляет собой семейство столбцов[1].
Семейство столбцов можно использовать, например, в следующих ситуациях: регистрация событий, системы управления информационным наполнением и блог-платформы, счетчики, срок действия. Не следует использовать в случае, если система использует для выполнения операций чтения и записи транзакции ACID.
Хранилище типа ключ-значение - самое простое хранилище данных NoSQL с точки зрения интерфейса прикладного программирования. Клиент может либо получить значение по ключу, либо записать значение по ключу, либо удалить ключ из хранилища данных. Значение - это двоичный объект данных, записанный в хранилище без детализации его внутренней структуры; что именно хранится в этом объекте, определяется приложением. Так как хранилища типа ключ-значение всегда используют доступ к первичному ключу, они, как правило, имеют высокую производительность и легко масштабируются. Система ключ-значение не представляет сложности для реализации, но неэффективна, если необходим только запрос или обновление части данных. Также трудно реализовать сложные структуры поверх распределенных систем. Примеры использования: хранение информации о сессии, профили пользователей и предпочтения, корзины заказа. Данный тип хранилища использовать не следует в следующих случаях: отношения между данными, состоящие из многих операций транзакции, запрос по данным, операции с множествами.
Документо-ориентированные базы данных хранят и извлекают документы в форматах XML, JSON, BSON и т.д., представляющие собой самоописываемые иерархические древовидные структуры данных, которые могут состоять из ассоциативных массивов, коллекций и скалярных значений. Документы хранятся одинаково, но не всегда бывают одинаковыми. Документные базы хранят документы в качестве значений в хранилищах типа ключ-значение; документные базы данных можно интерпретировать как хранилища типа ключ-значение, в которых значение допускает проверку. В качестве примеров можно привести: регистрацию событий, системы управления информационным наполнением, блогплатформы, веб-аналитику и аналитику в реальном времени, а также приложения для электронной коммерции.
Базы данных на основе графов позволяют хранить сущности и отношения между ними. Сущности моделируются узлами - экземплярами объекта в приложении. Отношения моделируются ребрами, которые могут иметь свойства. Ребра имеют направление, узлы организованы в соответствии с отношениями. Это позволяет находить требуемые шаблоны среди узлов. Организация графа позволяет один раз записать данные, а затем интерпретировать их разными способами в соответствии с отношениями.
Рисунок 2. Пример графовой структуры[1].
Примеры использования графовых баз данных: связанные данные, маршрутизация, диспетчеризация и геолокационные сервисы, справочные базы данных.
Система хранения данных - способ хранения данных внутри системы. Обеспечивает возможность выдерживания высоких нагрузок хранилищем.
Сравнение систем хранения данных[4] Таблица 3
СУБД |
Модель данных |
|
Cassandra |
Memtable/SSTable |
|
CouchDB |
Append-only B-Tree |
|
HBase |
Memtable/SSTable on HDFS |
|
MongoDB |
B-Tree |
|
Neo4J |
On-disk linked lists |
|
Redis |
In-memory with background snapshots |
|
Riak |
Hash |
|
Scalaris |
In-memory only |
|
Tokyo Cabinet |
Hash or B-tree |
|
Voldemort |
Pluggable (primarily BDB MySQL) |
Базы данных, хранящие данные в памяти, очень быстрые, но не способны работать с данными, превышающими размер свободной оперативной памяти. Проблематична также долговечность в версиях без поддержки append-only log. Количество данных, потенциально ожидающих записи на диск, может быть велико. Проблему с долговечностью можно решить, например, с помощью репликации, как в сисетеvt Scalaris, однако она неподдерживает масштабирования на несколько датацентров, что может привести к потере данных, в случае сбоя питания.
Memtables и SSTables после записи в commit лог с целью сохранности данных, буферируют запрос на запись в оперативной памяти. После того, как накопится достаточное количество записей, Memtable сортируется и записывается на диск как SSTable. Такая система лишена проблем, актуальных при хранении только в памяти, при этом имеетпроизводительность, близкую к производительности памяти[2].
B-tree обеспечивают поддержку индексирования, но при использовании магнитных жестких дисков, в связи с техническими особенностями их работы, производительность резко падает.
Выводы
В данной статье была рассмотрена возможность применения нереляционных баз данных на предприятиях. Описаны способы хранения данных, модели данных и масштабируемость NoSQL.
В связи с увеличением объема обрабатываемых данных в информационных системах предприятий, применимость технологий NoSQL становится наиболее актуально. Все больше компаний переходят на нереляционные базы данных, благодаря их возможности прозрачно для пользователей поддерживать огромные массивы данных, обрабатывать и контролировать эти данные.
СПИСОК ЛИТЕРАТУРЫ
1. Фаулер, Мартин, Садаладж, Прамодкумар Дж. NoSQL: новая методология разработки нереляционных баз данных. : Пер. с англ. - М.: ООО "И.Д. Вильяме", 2013. - 192 с.: ил. - Парал. тит. англ.
2. Л.И. Воронова, В.И. Воронов Big Data. Методы и средства анализа:
Учебное пособие / МТУСИ. - М., 2016 - 35 с.
3. Г.А. Титоренко Информационные технологии управления: Учеб. пособие для вузов Под ред. проф. Г.А. Титоренко. - 2-е изд., доп. - М.: ЮНИТИ-ДАНА, 2003. - 439 с.
4. S. Vijaykumar and S.G. Saravanakumar FUTURE ROBOTICS DATABASE MANAGEMENT SYSTEM ALONG WITH CLOUD TPS
International Journal on Cloud Computing: Services and Architecture(IJCCSA),Vol.1, No.3, November 2011
Размещено на Allbest.ru
...Подобные документы
Характеристика системы управления базами данных. Принципы классификации СУБД. NoSQL как ряд подходов, проектов, направленных на реализацию моделей баз данных. Методологические обоснования подхода NoSQL. Описание некоторых СУБД из данного движения.
реферат [18,1 K], добавлен 06.10.2011Изучение понятия корпоративной информационной системы; требования к их разработке. Ознакомление с процессом проектирования и внедрения данных компьютерных технологий на производстве. Рассмотрение специфики работы корпоративных информационных систем.
курсовая работа [33,1 K], добавлен 02.11.2014Система управления базами данных задач и составляющих их процессов предприятия. Требования к информационной системе. Состав запросов к базе данных. Связи и отношения между информационными объектами. Алгоритмы работы и архитектура информационной системы.
курсовая работа [727,5 K], добавлен 02.02.2014Осмысление и переработка информационных данных, которые используются для решения управленческих задач. Общая схема информационной системы, ввод данных, их обработка, хранение и распределение полученной информации. Характеристики информационных систем.
контрольная работа [59,8 K], добавлен 03.10.2010Определения теории баз данных (БД). Элементы приложения информационных систем. Реляционные модели данных. Задача систем управления распределенными базами данных. Средства параллельной обработки запросов. Использование БД при проведении инвентаризации.
курсовая работа [518,9 K], добавлен 01.05.2015Характеристика сущности и назначения автоматизированных информационных систем (АИС), под которыми понимают совокупность информационных массивов технических, программных и языковых средств, предназначенных для сбора, хранения, поиска, обработки данных.
контрольная работа [24,4 K], добавлен 29.08.2010Инфологическая и даталогическая модели данных. Описание пользовательской части и используемых sql-запросов. Физическая и логическая модель web-приложения. Описание используемых программных средств, языка программирования и информационных технологий.
курсовая работа [1,3 M], добавлен 29.04.2015Рассмотрение основ использования информационных технологий в гостиничном бизнесе. Выбор системы управления базами данных. Описание информационной технологии. Выполнение программной реализации в среде объектно-ориентированного программирования Delphi 7.
курсовая работа [2,1 M], добавлен 24.09.2014Особенности управления информацией в экономике. Понятие и функции системы управления базами данных, использование стандартного реляционного языка запросов. Средства организации баз данных и работа с ними. Системы управления базами данных в экономике.
контрольная работа [19,9 K], добавлен 16.11.2010Освоение сервисной системы управления базами данных Microsoft SQL. Разработка базы данных "Служба АТС" в среде Microsoft SQL Server Management Studio и создание запросов на языке SQL. Апробация инфологической модели "сущность - связь" базы данных.
курсовая работа [2,9 M], добавлен 29.06.2015Базы данных как составная часть информационных систем. Изучение взаимосвязи понятий информация и данные. Система управления базами данных. Пример структурированных данных. Обеспечение логической независимости. Безопасность операционной системы.
контрольная работа [44,6 K], добавлен 15.06.2009Этап концептуального проектирования базы данных: описание и характеристика предметной области, ограничения и допуения, модель "сущность-связь" (ER-диаграмма). Выбор модели данных. Требования к интерфейсу пользователя, создание запросов в среде Delphi.
курсовая работа [2,2 M], добавлен 25.05.2010Определение многомерной модели данных для удовлетворения основных информационных потребностей предприятия. Экстракция, загрузка и перенос данных из различных источников данных. Разработка собственных ETL–систем. Оптимизация работы хранилища данных.
презентация [9,1 M], добавлен 25.09.2013Современные системы управления базами данных (СУБД). Анализ иерархической модели данных. Реляционная модель данных. Постреляционная модель данных как расширенная реляционная модель, снимающая ограничение неделимости данных, хранящихся в записях таблиц.
научная работа [871,7 K], добавлен 08.06.2010Общее понятие и признаки классификации информационных систем. Типы архитектур построения информационных систем. Основные компоненты и свойства базы данных. Основные отличия файловых систем и систем баз данных. Архитектура клиент-сервер и ее пользователи.
презентация [203,1 K], добавлен 22.01.2016Характеристика информационных систем управления предприятием. Виды информационных систем управления предприятием, их применение. Специфика систем управления торговым предприятием класса ERP и применение данной системы в деятельности торговой компании.
дипломная работа [1,8 M], добавлен 15.09.2012Обзор классификации компьютерных систем управления предприятием. Аналитическая обработка информации на уровне свойств продукта, технологий, ресурсов. Характеристика основных особенностей выбора и общих требований к корпоративным информационным системам.
курсовая работа [89,7 K], добавлен 27.03.2013Основные классифицирующие признаки системы управления базами данных. Модель данных, вид программы и характер ее использования. Средства программирования для профессиональных разработчиков. Организация центров обработки данных в компьютерных сетях.
презентация [6,8 K], добавлен 14.10.2013Формы представляемой информации. Основные типы используемой модели данных. Уровни информационных процессов. Поиск информации и поиск данных. Сетевое хранилище данных. Проблемы разработки и сопровождения хранилищ данных. Технологии обработки данных.
лекция [15,5 K], добавлен 19.08.2013Преимущества и недостатки роботизированной сварки. Характеристика видов систем управления базами данных. Информационная модель сварочного робота, системы управления роботом сварочных клещей. Критерии выбора робота и структура запроса на выборку.
курсовая работа [3,3 M], добавлен 22.12.2014