Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба10.docx
Скачиваний:
5
Добавлен:
28.05.2023
Размер:
1.11 Mб
Скачать

Федеральное государственное автономное образовательное учреждение

высшего профессионального образования

«ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра «Комплексная защиты информации»

Лабораторная работа

по курсу «Базы данных»

Лабораторная работа №10

Выполнили:

Студентки 2-го курса

гр. …………….

Принял:

Самотуга А.Е.

Омск 2022

Ход работы

Часть 1

Цель: изучить разновидность NoSQL БД и рассмотреть их особенности на примерах.

Задачи:

  1. Выбрать 2 разновидности из NoSQL субд из списка ниже (можно другие,относящиеся к NoSQL)

  2. Развернуть СУБД

  3. Спроектировать и развернуть БД, которая будет содержать информацию о

нескольких связанных объектах. (как минимум должны быть 2-3 объекта, можно взять из самой 1-й лабораторной в 3-м семестре - авторы и книги или другие)

  1. Разработать запросы к БД

  2. Оформить отчет:

а) Теория - описание выбранных СУБД, их особенности и для чего применяются

б) практическая часть - процесс установки, развертывания БД, запросы

Выполнение

OrientDB — графовая СУБД, оснащённая возможностями документоориентированных и объектно-ориентированных. Написана на Java.

Поддерживаемые схемы: less (слабоструктурированные данные), full (строго задаёт обязательные поля) и mixed (смешанная: обязательные + необязательные поля). Имеет систему профилирования безопасности, основанную на пользователях и ролях. Поддерживает транзакции в соответствии с требованиями ACID. Поддерживает Gremlin и ограниченный вариант SQL в качестве языков запросов; поддерживаются хранимые процедуры. Использует собственный алгоритм индексации под названием RB+Tree, сочетающий особенности красно-чёрного дерева и B⁺-дерева, позволяя сбалансировать производительность при операциях обновления и добавления данных. Вместо соединений используется работа в графовом стиле — построение деревьев посредством постоянных указателей между записей и их быстрый обход.

Поставляется с веб-интерфейсом Web-Studio, предназначенном для разработчиков и администраторов баз данных, обеспечивающим визуальное управление базами и работу с запросами.

Плюсы:

  • Полная поддержка ACID транзакций (Atomicity — атомарность,  Consistency — согласованность, Isolation — изолированность, Durability — надежность);

  • Поддержка подмножества языка SQL для выполнения запросов c использованием конструкции SELECT (OrientDB не является реляционной БД, поэтому в полной мере все возможности SQL не поддерживает);

  • Поддержка "Хранимых Процедур" на языках SQL и JavaScript;

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

  • 100 % совместима со стандартом TinkerPop Blueprints для графо-ориентированных БД;

  • Поддержка языка запросов Gremlin;[Источник 3]

Установка:

Рисунок 1 установка

рисунок 2 создание пользователя

Рисунок 3 создание таблицы

Рисунок 4 создание классов faculty и group

Рисунок 5 создание таблиц

Рисунок 6 представление таблиц в графовом виде

Рисунок 7 создание связей (рёбер)

Cassandra

Cassandra — колоночная система управления базами данных (СУБД) класса NoSQL (Not Only SQL). Рассчитана на работу с большими массивами данных. Написана в Facebook на Java и передана в 2009 году в фонд Apache Software Foundation. Эта СУБД относится к гибридным NoSQL-решениям, поскольку она сочетает модель хранения данных на базе семейства столбцов с концепцией key-value (ключ-значение). Хранилище само позаботится о проблемах наличия единой точки отказа, отказа серверов и о распределении данных между узлами кластера.

Поддерживаются системы Linux на основе пакетов deb (Debian, Ubuntu) и RPM (Red Hat, CentOS). Для работы Cassandra требуется Java. Сама СУБД устанавливается из репозитория или бинарника.

Apache Cassandra – это децентрализованная распределенная система, состоящая из нескольких узлов, по которым она распределяет данные. В отличие от многих других Big Data решений экосистемы Apache Hadoop (HBase, HDFS), эта СУБД не поддерживает концепцию master/slave (ведущий/ведомый), когда один из серверов является управляющим для других компонентов кластера.

Для распределения элементов данных по узлам Кассандра использует последовательное хэширование, применяя хэш-алгоритм для вычисления хэш-значений ключей каждого элемента данных (имя столбца, ID строки и пр.). Диапазон всех возможных хэш-значений, т.е. пространство ключей, распределяется между узлами кластера так, что каждому элементу данных назначен свой узел, который отвечает за хранение и управление этим элементом данных

Плюсы:

  1. Высокая скорость работы.

  2. Отказоустойчивость и масштабирование.

  3. Гибкая масштабированность

Минусы:

  1. Плохо подходит для проектов, где часто меняются или удаляются данные.

  2. Нет транзакций.

Установка:

Рисунок 8 установка и запуск

рисунок 9 создание бд и таблицы со значениями

рисунок 10 вывод таблицы

рисунок 11 создание таблицы

рисунок 12 вывод таблицы

Рисунок 13 вывести имя и фамилию клиента с id 3

Соседние файлы в предмете Базы данных