Разработка программного модуля тестирования баз данных | Статья в журнале «Молодой ученый»

Автор:

Рубрика: Информатика

Опубликовано в Молодой учёный №10 (144) март 2017 г.

Дата публикации: 10.03.2017

Статья просмотрена: 83 раза

Библиографическое описание:

Скорбилина Т. С. Разработка программного модуля тестирования баз данных // Молодой ученый. — 2017. — №10. — С. 34-37. — URL https://moluch.ru/archive/144/40328/ (дата обращения: 22.10.2018).



Ключевые слова: база данных, СУБД, реляционные базы данных, нереляционные базы данных, NoSQL

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

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

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

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

Для выбора приводится рейтинг издания DB-Engines, который строится на основе запросов в поисковых системах и числа результатов по ним, так же учитывая объём обсуждений в социальных сетях и число вакансий, связанных с этой технологией. Результаты сгруппированы по выбранным нами моделям и представлены в Таблице 1.

Таблица 1

Рейтинг баз данных

Модель

Реляционная

Ключ-значение

Распределенное хранилище

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

На основе графов

1

Oracle

Redis

Cassandra

MongoDB

Neo4j

2

MySQL

Memcached

HBase

Amazon DynamoDB

Titan

3

Microsoft SQL Server

Riak KV

Microsoft Azure Table Storage

Couchbase

Giraph

4

PostgreSQL

Hazelcast

Hypertable

CouchDB

InfiniteGraph

5

DB2

Enhache

Google Cloud Bigtable

RethinkDB

Dgraph

Источник информации: https//db-engines.com/en/

Исходя из рейтинга выберем для исследования наиболее востребованные базы данных для каждой модели:

Oracle — реляционная СУБД

Redis — хранилище ключ-значение

Cassandra — распределенное хранилище

MongoDB — документно-ориентированная СУБД

Neo4j — БД на основе графов

Представим для наглядности их распространенность на графике.

Рис. 1. График распространенности баз данных

Источник информации: https://www.pcweek.ru/infrastructure/article/detail.php

Далее для выбранных для исследования баз данных приводится подробная их характеристика, специфика и область применения. Для этого необходимо выяснить, как в каждой из них представляется информация.

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

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

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

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

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

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

Одной из наиболее важных характеристик является высота быстродействия системы, то есть времени отклика на запрос. Под временем отклика понимается промежуток времени от момента запроса к БД и фактическим получением данных. От этого параметра зависит, как быстро можно будет оперировать данными, что во многом определяет быстродействие всего программного комплекса. Для тестирования времени отклика необходимо провести запросы каждого типа (чтение, изменение, добавление, удаление данных) и провести сравнение времени их выполнения.

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

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

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

Приводится сравнительная таблица, в которой показаны возможности масштабируемости системы и язык запросов для выбранных для исследования баз данных.

Таблица 2

Сравнительная характеристика

База данных

Масштабируемость [1]

Запросы

Oracle

Вертикальная

SQL

Redis

Вертикальная

Команды Redis

Cassandra

Горизонтальная

CQL [2]

MongoDB

Горизонтальная

JavaScript

Neo4j

Вертикальная

Cypher [3]

Источники данных:

[1] — Эрик Редмонд, Джим. Р. Уилсон. Семь баз данных за семь недель.

[2] — https://ru.wikipedia.org/wiki/Apache_Cassandra

[3] — https://ru.wikipedia.org/wiki/Neo4j

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

Литература:

1. Эрик Редмонд, Джим. Р. Уилсон. Семь баз данных за семь недель. Введение в современные базы данных и идеологию NoSQL. — М.: ДМК Пресс, 2013. — 384 с.

2. DB-Engines [электронный ресурс] //db-engines.com/en/ (дата обращения: 04.03.2017)

3. Apache Cassandra [электронный ресурс] //ru.wikipedia.org/wiki/Apache_Cassandra (дата обращения 05.03.2017)

4. Neo4j [электронный ресурс] //ru.wikipedia.org/wiki/Neo4j (дата обращения 05.03.2017)

5. Что стоит за рейтингом популярности СУБД [электронный ресурс] www.pcweek.ru/infrastructure/article/detail.php (дата обращения 05.03.2017)

Основные термины (генерируются автоматически): баз данных, реляционная модель, SQL, данные, модель, распределенное хранилище, хранение данных, основа графов, база данных, сравнительная характеристика.


Ключевые слова

СУБД, база данных, реляционные базы данных, нереляционные базы данных, NoSQL

Похожие статьи

Реализация хранилищ данных в системах поддержки принятия...

Целью построения хранилища данных является интеграция, актуализация и согласование оперативных данных из разнородных источников для

Так автор концепции доктор Эдгар Кодд, известный исследователь баз данных и автор реляционной модели данных, определяет...

Организация доступа к реляционной базе данных на основе...

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

MapReduce и метод доступа к хранилищу MRIJ on RCFile

Но такая модель хранения данных отчасти устарела и подходит не для всех проектов. С тех пор, как придумали строчные реляционные базы данных, технические характеристики устройств резко выросли: мощности процессоров увеличились в 5000–10000 раз...

Создание хранилища данных для распределённой системы

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

Технология ADO и средства доступа к реляционным базам данных

ADO, SQL, источник данных, баз данных, данные, таблица, база данных, соединение, оперативная память, реляционная база данных.

Принципы разработки и создания структуры базы данных

– сетевая модель базы данных — в ней все данные считаются потенциально взаимосвязанными; – реляционная модель использует табличный способ хранения данных. Реляционная база данных может состоять из нескольких раздельных файлов (таблиц).

Обзор и сравнительный анализ промышленных хранилищ...

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

Использование апостериорного анализа данных для обнаружения...

Современные системы управления базами данных (СУБД) поддерживают возможность настройки безопасности реляционных баз данных (БД) средствами языка SQL, в частности операторами определения доступа к данным (Data Control Language, DCL).

Методы выполнения запросов к хранилищу данных в Hadoop...

Недостатки реляционных баз данных. Эдгар Кодд в 1970—х годах создал реляционную модель данных, и почти все использовали реляционные базы данных до конца 2000-х годов.

Обсуждение

Социальные комментарии Cackle

Похожие статьи

Реализация хранилищ данных в системах поддержки принятия...

Целью построения хранилища данных является интеграция, актуализация и согласование оперативных данных из разнородных источников для

Так автор концепции доктор Эдгар Кодд, известный исследователь баз данных и автор реляционной модели данных, определяет...

Организация доступа к реляционной базе данных на основе...

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

MapReduce и метод доступа к хранилищу MRIJ on RCFile

Но такая модель хранения данных отчасти устарела и подходит не для всех проектов. С тех пор, как придумали строчные реляционные базы данных, технические характеристики устройств резко выросли: мощности процессоров увеличились в 5000–10000 раз...

Создание хранилища данных для распределённой системы

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

Технология ADO и средства доступа к реляционным базам данных

ADO, SQL, источник данных, баз данных, данные, таблица, база данных, соединение, оперативная память, реляционная база данных.

Принципы разработки и создания структуры базы данных

– сетевая модель базы данных — в ней все данные считаются потенциально взаимосвязанными; – реляционная модель использует табличный способ хранения данных. Реляционная база данных может состоять из нескольких раздельных файлов (таблиц).

Обзор и сравнительный анализ промышленных хранилищ...

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

Использование апостериорного анализа данных для обнаружения...

Современные системы управления базами данных (СУБД) поддерживают возможность настройки безопасности реляционных баз данных (БД) средствами языка SQL, в частности операторами определения доступа к данным (Data Control Language, DCL).

Методы выполнения запросов к хранилищу данных в Hadoop...

Недостатки реляционных баз данных. Эдгар Кодд в 1970—х годах создал реляционную модель данных, и почти все использовали реляционные базы данных до конца 2000-х годов.

Задать вопрос