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

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

О МАСШТАБИРУЕМОСТИ БАЗ ДАННЫХ В ПРИКЛАДНЫХ ЗАДАЧАХ ЭКОНОМИКИ

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

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

В реляционной базе данных информация представляется в виде двумерных таблиц. Каждая, из которых представляет собой двумерный массив. При помощи языка SQL можно выполнить запросы. Это своего рода SQL-инструкции, которые задают правила для получения выходных данных. Иными словами запрос – это манипулирование базами данных.

Единственный недостаток реляционной базы данных – это ее масштабируемость. Требование к масштабируемости, т.е способности системы увеличивать производительность труда при добавлении дополнительных ресурсов (увеличение объема информации), могут быстро меняться и расти. И это главная проблема.

Различают два способа масштабирования: вертикальное и горизонтальное. Вертикальное масштабирование подразумевает увеличение производительности (процессора, памяти, диска) в рамках одного узла (хоста). Горизонтальное масштабирование – рост производительности за счет добавлении ещё одного узла (хоста). Реляционный тип БД существует уже более 30 лет и за этот промежуток времени она все еще остается самой распространенной в использовании.

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

Одним из возможных решений данной проблемы является использование типа баз данных под названием ключ-значение (key-value store). Рассматриваемый тип основан на языке NoSQL (частичное отрицание SQL и реляционной модели). Хранилища ключ-значение основаны на работе с записями. Это означает, что информация, относящаяся к записи хранится вместе с ней, а именно в таблице. Именно поэтому потребность в нормализации и создании связей между таблицами отпадает. Главной особенностью типа ключ-значение является внутренняя простота, чем не может похвастаться реляционный тип. Но стоит отметить что даже в хранилищах типа ключ-значение, отношения (связи) необходимы для того чтобы обеспечить целостность данных, хотя обеспечение целостности целиком ложиться на приложение.

Хранилища типа ключ-значение имеют следующие достоинства:

  • Легко масштабируемы и производительны из-за своей простоты

  • Нет необходимости в SQL запросах

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

  • Уменьшенное время разработки из-за более естественного отображения объектов

Имеются также и недостатки:

  • Целостность данных на низком уровне

  • Плохая совместимость

Примером использования типа баз данных ключ-значение являются облачные хранилища. Облачные хранилища (сервера) – это онлайн хранилище, в котором данные хранятся на многочисленных серверах. Преимущество облачных хранилищ состоит в том, что клиенту нет необходимости заниматься приобретением и обслуживанием собственной инфраструктуры по хранению данных, что, в конечном счете, уменьшает общие издержки производства. Есть большое количество таких сервером как Google Drive, SkyDrive, Drop Box и т.д.

В середине 2013 года разработчики одного из наиболее популярных-сервиса «Яндекс Диск» провели анализ 4 наиболее известных сервером и определили их достоинства, особенности и недостатки, оценивая по следующим критериям используя 100 бальную систему [1]:

  • Максимальный объем хранимой информации

  • Срок хранения информации

  • Защищенность (защита информации пользователя от слежки правительства)

  • Функциональность (работа с файлами в браузере, программные клиенты для смартфонов, простота использования)

Сервис

Google Drive

SkyDrive

iCloud

Drop Box

Максимальный объем, Гбайт

200

100

50

100

Срок хранения

неограничен

неограничен

30 дней

неограничен

Защищенность

100

80

80

30

Функциональность

100

100

80

80

На основе анализа был выявлен лидер, по всем показателям - это Google Drive. Так же стоит уделить внимание облачному хранилищу от компании Microsoft под названием Sky Drive. Остальные кандидаты (iCloud и Drop Box) являются менее эффективными для использования. Основной недостаток iCloud – это срок хранения и максимальный объем информации (30 дней, 50 Гбайт). А облачное хранилище Drop Box является наиболее незащищенным по сравнению с остальными.

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

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