Mongodb курсовая работа

MongoDB— документо-ориентированная система
управления базами данных (СУБД) с
открытым исходным кодом, не требующая
описания схемы таблиц.

При
разработке авторы исходили из необходимости
специализации баз данных, благодаря
чему им удалось отойти от принципа «один
размер подо всё». За счёт минимизации
семантики для работы с транзакциями
появляется возможность решения целого
ряда проблем, связанных с недостатком
производительности,
причём горизонтальное масштабирование становится
проще. Используемая модель документов
хранения данных (JSON/BSON) проще кодируется,
проще управляется (в том числе за счёт
применения т. н. «бессхемного стиля»
(англ. schemaless style)),
а внутренняя группировка релевантных
данных обеспечивает дополнительный
выигрыш в быстродействии. Нереляционный
подход весьма удобен для создания баз
данных, у которых горизонтальное
масштабирование подразумевает
разворачивание на множестве машин.
Возможность обеспечивать наилучшую
производительность должна существовать
параллельно с поддержкой более обширной
функциональности, чем это позволяет
использование пар «ключ-значение» (в
чистом виде). Технология баз данных
должна работать везде, начиная с серверов
пользователя и виртуальных машин и
заканчивая облачными технологиями.

MongoDB,
по мнению разработчиков, должна заполнить
разрыв между простыми хранилищами
данных типа «ключ-значение» (быстрыми
и легко масштабируемыми) и большими РСУБД (со
структурными схемами и мощными запросами).

Основные
возможности данной СУБД:

  • Документо-ориентированное
    хранилище (простая и мощная JSON-подобная
    схема данных)

  • Достаточно
    гибкий язык для формирования запросов

  • Динамические
    запросы

  • Полная
    поддержка индексов

  • Профилирование запросов

  • Быстрые
    обновления «на месте»

  • Эффективное
    хранение двоичных данных больших
    объёмов, напр., фото и видео

  • Журналирование операций,
    модифицирующих данные в БД

  • Поддержка отказоустойчивости и масштабируемости:
    асинхронная репликация, набор реплик
    и шардинг

  • Может
    работать в соответствии с парадигмой MapReduce

  • Полнотекстовый
    поиск, в том числе на русском языке, с
    поддержкой морфологии

СУБД
управляет наборами JSON-подобных документов,
хранимых в двоичном виде в формате BSON.
Хранение и поиск файлов в MongoDB происходит
благодаря вызовам протокола GridFS. Подобно
другим документо-ориентированным СУБД
(CouchDB и др.), MongoDB не является реляционной
СУБД. Среди других отличий от традиционных
реляционных СУБД:

  • Отсутствует
    оператор «join». Обычно данные могут быть
    организованы более денормализованным
    способом, но на разработчиков ложится
    дополнительная нагрузка по обеспечению
    непротиворечивости данных.

  • Нет
    такого понятия, как «транзакция».
    Атомарность гарантируется только на
    уровне целого документа, т.е. частичного
    обновления документа произойти не
    может.

  • Отсутствует
    понятие «изоляции». Любые данные,
    которые считываются одним клиентом,
    могут параллельно изменяться другим
    клиентом.

    1. Php. Серверный язык программирования.

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

Язык
и его интерпретатор разрабатываются
группой энтузиастов в рамках проекта
соткрытым
кодом. Проект распространяется
подсобственной
лицензией, несовместимой с GNU GPL.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Данная система по управлению базами данных способна работать не с таблицами данных, а с документами. Ею используется C++ в качестве языка программирования. Имеет отличную скорость записи, также чтения данных и сохранение целиком всех создаваемых операций. Программа без проблем способна устанавливаться фактически на все уже существующие платформы. Работа с MongoDB характерна и своей легкостью и простотой, только и она тоже имеет некие свои недостатки.

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

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

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

  • Вид работы:

    Курсовая работа (т)

  • Предмет:

    Информационное обеспечение, программирование

  • Язык:

    Русский

    ,

    Формат файла:

    MS Word

    1,41 Мб

  • Опубликовано:

    2015-03-04

Вы можете узнать стоимость помощи в написании студенческой работы.

Установка ОС UbuntuLinux, Web-сервера Nginx и СУБД MongoDB

КУРСОВАЯ РАБОТА

Дисциплина: Локальные и глобальные
операционные системы

Тема: Установка ОС UbuntuLinux, Web-сервера Nginx и СУБД MongoDB

Оглавление

Введение

1.     Установка
ОС UbuntuLinux

2.     Установка сервера Nginx

3.      Установка Системы Управления Базами Данных MongoDB

Введение

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

Компоненты
операционной системы:

·        Загрузчик

·        Ядро

·        Командный
процессор (интерпретатор)

·        Драйверы
устройств

·        Интерфейс

Основные
функции:

·        Исполнение
запросов программ (ввод и вывод данных, запуск и остановка других программ,
выделение и освобождение дополнительной памяти и др.).

·        Загрузка
программ в оперативную память и их выполнение.

·        Стандартизованный
доступ к периферийным устройствам (устройства ввода-вывода).

·        Управление
оперативной памятью (распределение между процессами, организация виртуальной
памяти).

·        Управление
доступом к данным на энергонезависимых носителях (таких как жёсткий диск,
оптические диски и др.), организованным в той или иной файловой системе.

·        Обеспечение
пользовательского интерфейса.

·        Сохранение
информации об ошибках системы.

Дополнительные
функции:

·        Параллельное
или псевдопараллельное выполнение задач (многозадачность).

·        Эффективное
распределение ресурсов вычислительной системы между процессами.

·        Разграничение
доступа различных процессов к ресурсам.

·        Организация
надёжных вычислений (невозможности одного вычислительного процесса намеренно
или по ошибке повлиять на вычисления в другом процессе), основана на
разграничении доступа к ресурсам.

·        Взаимодействие
между процессами: обмен данными, взаимная синхронизация.

·        Защита
самой системы, а также пользовательских данных и программ от действий
пользователей (злонамеренных или по незнанию) или приложений.

·        Многопользовательский
режим работы и разграничение прав доступа.

С 1990-х
годов наиболее распространёнными операционными системами являются системы
семейства Windows и системы класса UNIX (особенно Linux и Mac OS).

В данной
работе будет рассмотрена установка операционной системы UbuntuLinux, а также будет установлен на данную
ОС Web-сервер Nginx.

1. Установка
ОС UbuntuLinux

— это
дистрибутив Linux, созданный в духе Debian и основанный на нём. Ubuntu имеет
чёткий график релизов — новый релиз каждые шесть месяцев, и ориентирован на
простоту использования и удобство работы. Одна из основных идей Ubuntu — всё
должно «просто работать» ™. Каждый релиз Ubuntu поддерживается обновлениями
безопасности (securityupdates) в течение 18 месяцев. Ubuntu поставляется с
самой свежей версией Gnome и с такой подборкой серверного и десктопного
программного обеспечения, которая позволяет создать удобное рабочее окружение c
помощью всего лишь одного установочного CD или DVD.

Основные
особенности:

·        Ubuntuориентирована
на удобство и простоту использования. Она включает широко распространённое
использование утилиты sudo <#»786682.files/image001.gif»>

Далее нужно
будет выбрать между 32-битной и 64-битной версией системы. Помните, что подобно
Windows, у 64-битной версии Ubuntu будет больше проблем совместимости, чем у её
32-битного аналога. С поддержкой драйверов тоже могут возникнуть проблемы на
64-битной платформе. В конечном счёте, выбор за вами, 64-битная версия может
дать большую производительность, но 32-битные системы доставят меньше хлопот.

Ниже
представлено стартовое окно, из которого выполняется установка UbuntuLinux.

Далее
выполняем настройку локального времени:

Разметка
дисков:

Далее выполняется установка графического интерфейса xfce:

Установить
Xfce <#»786682.files/image005.gif»>

. Установка сервера Nginx

Существуют
различные схемы построения веб-серверов для передачи данных по протоколу HTTP.
Среди них достойное место по производительности занимают схемы с использованием
«Nginx» в качестве внешнего (кэширующего, front-end) сервера. «Nginx»
разработан для отдачи статических данных, при этом, он показывает высокое
быстродействие и нагрузочную способность (см. NginxvsCherokeevsApachevsLighttpd
<#»786682.files/image006.gif»>

.
Установка Системы Управления Базами
Данных MongoDB


документо-ориентированная
<#»786682.files/image008.gif»>

Похожие работы на — Установка ОС UbuntuLinux, Web-сервера Nginx и СУБД MongoDB

MongoDB Милан

Обработать данные, хранящиеся у операторов связи города Милана, взятые Telecom Italia с 1 ноября 2013 г. до 1 января 2014 г.

https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/EGZHFV

1. Загрузить соответствующие файлы «.txt» (с 2013-11-04 по 2013-11-10 оба включительно (в сумме должны быть данные для 7 дней с понедельника по воскресенье)) и создайте программу Python для загрузки данных в коллекцию «Milan_CDR_c» базы данных «Milan_CDR_db».

2. Найдите страны, с которыми есть взаимодействие.

3. Узнайте, с какой страной вы общаетесь больше всего, кроме Италии.

4. Какая ячейка больше общается с иностранцами?

5. Найдите ячейку с наибольшим количеством smsin, smsout callin, callout, интернета и общей активности.

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

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

8. Провести исследование ячеек 4259 (Боккони (Bocconi)), 4456 (Навильи (Navigli)), 5060 (Дуомо (Duomo)), 1419 (сельскохозяйственные угодья), 2436 (промышленная зона), 4990 (аэропорт Линате), 945 (изолированные жилые дома) и 5048 (жилые центральные )

Результат:

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

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

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

MongoDB — это документоориентированная система управления базами данных, которая не требует описания схемы таблиц. Считается одним из классических примеров NoSQL-систем, использует JSON-подобные документы и схему базы данных. Написана на языке C++.

Логотип MongoDB

MongoDB имеет открытый исходный код, она бесплатная и доступна любому разработчику. СУБД подходит для операционных систем семейства Linux, Windows и macOS. Ей можно пользоваться в облаке. Название читается как «Монго-ДБ».

Кто пользуется MongoDB

  • Бэкенд-разработчики веб-приложений и сайтов. В основном СУБД MongoDB используется в веб-программировании.
  • Специалисты в области Big Data и аналитики, которые работают с большим количеством не связанной друг с другом информации.
  • Разработчики в стартапах, где четко не определена структура хранения данных — в любой момент может потребоваться ее изменение.
  • DevOps-инженеры — иногда знание MongoDB может быть необходимо при работе с инфраструктурой проекта.

    Для чего нужна MongoDB

    • Хранение данных, которые не жестко связаны между собой.
    • Управление данными: создание новых записей, их редактирование, удаление, контроль версий.
    • Получение данных с помощью запросов без использования SQL.
    • Отправка транзакций — последовательностей из нескольких запросов, которые выполняются один за другим.
    • Быстрый, удобный и простой доступ к данным.
    • Контроль доступа и поддержки безопасности данных.
    • Выдача прав разным категориям пользователей.
    • Поддержка базы в актуальном состоянии, в том числе при одновременном доступе с нескольких клиентов.

    Отличие от реляционных баз данных

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

    В MongoDB реализована система, при которой данные хранятся в «табличных» документах форматов, близких к JSON. Информация записывается в виде пар из ключей и значений — как в таблице, в которой есть идентификаторы и соответствующие им данные. Благодаря такому формату в MongoDB можно разместить очень разнообразную и сложно структурированную информацию: документ — более гибкая структура.

    При работе с такими базами SQL не используется, отсюда название NoSQL. Вместо него применяют языки программирования. В случае с MongoDB это JavaScript. Существуют драйверы для поддержки других популярных языков: Python, Java, C/C++, Go, PHP, Ruby и прочих.

    Читайте также: SQL, R или Python: какой язык учить аналитику данных?

    Как устроено хранение данных в MongoDB

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

    _id. Это идентификатор, который должен быть в каждом документе. Он помогает обращаться к тем или иным данным, по нему записи отличают друг от друга. Идентификатор создается автоматически, если его не задает программист при создании нового документа. В реляционных базах тоже есть идентификатор, но он называется иначе — первичный ключ.

    Поле. Это одна запись в документе, если точнее, один ключ, метка, которой соответствует определенный набор данных. Понятие можно сравнить со столбцом в таблице реляционной базы. Например, если документ описывает данные о нескольких собаках, то в нем могут быть поля «Порода», «Кличка», «Возраст» и другие.

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

    Документ. Один документ — это файл в формате BSON: название расшифровывается как binary JSON, или бинарный JSON. Отличие от стандартного JSON в том, что формат работает еще быстрее, но файлы в нем занимают меньше места.

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

    Максимальный размер документа — 16 Мб. Для сохранения данных большего размера используется технология GridFS, о которой мы поговорим ниже.

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

    Встроенный документ. В базах данных, которые управляются SQL, есть операция JOIN, объединяющая между собой сведения из разных таблиц. В MongoDB другая структура: обычно все находится внутри одной коллекции, а операции JOIN не предусмотрено. Для связей и разделений используются встроенные документы — структуры встраиваются друг в друга.

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

    Особенности MongoDB

    Индексация. Данные внутри базы можно индексировать — так система быстрее найдет к ним доступ. Для данных создаются индексы, специальные объекты, которые хранят указатели на ту или иную информацию: обычно это конкретные значения и ссылки на них. Благодаря индексам можно реализовать поиск по базе, он не будет выглядеть как простой перебор всех данных. Это ускоряет работу системы.

    Репликация. Так называется возможность работы с репликами — копиями базы данных. Можно иметь несколько связанных друг с другом копий БД на разных серверах, и одна из них будет главной, а остальные — вспомогательными. Изменения сначала будут вноситься в главную базу, а потом передаваться другим. В итоге, если с основной копией что-то случится, любая существующая реплика сможет ее заменить — так в системе поддерживается стабильность. Замена происходит автоматически.

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

    Запросы ad hoc. Латинские слова означают «специально для этого», поэтому такие запросы еще называют специальными. Одна из особенностей MongoDB — гибкая поддержка разнообразных запросов. СУБД принимает запросы на поиск по разным полям, работает с функциями JavaScript и может возвращать пользовательские функции в ответ на запрос. Она поддерживает регулярные выражения. MongoDB позволяет получить в качестве ответа диапазон или случайное значение — запросы могут быть в том числе очень сложными.

    Grid File System. Сокращенно эта технология называется GridFS, мы упоминали ее выше. Речь шла о том, что максимальный размер документа в MongoDB — 16 Мб, а технология применяется, если нужно сохранить в базу более объемные данные. По сути, это то же сегментирование, но в рамках документа. Массивные данные хранятся в двух коллекциях: files и chunks:

    • files — коллекция, в которой находятся сведения о файлах. Это их имена и метаданные, содержащие информацию об объеме и других параметрах;
    • chunks — коллекция, где хранятся сами файлы, но не целиком, а разбитые на небольшие сегменты. Размер каждого сегмента обычно 256 Кб, но эта цифра может меняться.

    Благодаря такому разделению на маленькие составные части в базе можно хранить даже очень большие файлы. Это позволяет обойти максимальный размер документа в 16 Мб.

    Преимущества MongoDB

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

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

    Легкая масштабируемость. Причина, по которой MongoDB пользуются стартапы и небольшие компании, — возможность быстро и легко масштабировать систему. Если информация в базе должна измениться, например, планируется добавить новое поле, не нужно радикально перекраивать структуру всей БД. Это возможно благодаря документно-ориентированной модели и особому формату данных.

    Отсутствие сложных соединений. В MongoDB не нужно описывать схему таблиц. Конструкции вроде JOIN не используются. В реляционных базах JOIN соединяет между собой данные из разных таблиц, но при документно-ориентированной модели необходимость в таких соединениях отсутствует.

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

    Недостатки MongoDB

    Отсутствие хранимых процедур и функций. Хранимые процедуры — это возможность реляционных баз данных: разработчик один раз пишет набор команд на языке SQL, сохраняет его, а потом может вызвать в любой момент. Получается подобие скрипта, который выполняется по команде. Поддержка хранимых процедур в MongoDB не предусмотрена, и это не дает в полной мере автоматизировать работу с БД.

    Пользовательские функции, или UDF, похожи на хранимые процедуры, но различаются особенностями сохранения и вызова. Их можно реализовать самостоятельно — функции, написанные на JavaScript, сохраняются с помощью специальной команды и позднее используются снова. Правда, это сложнее, чем возможность работать с ними «из коробки».

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

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

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

    Как начать работу с MongoDB

    1. Скачать MongoDB на официальном сайте проекта, где компания представляет СУБД и другие решения, в том числе коммерческие. Можно воспользоваться официальным репозиторием MongoDB на GitHub или пакетным менеджером. В macOS это brew, в Linux — apt-get и другие.
    2. Скачать MongoShell — шелл-оболочку, которая позволяет отдавать команды. Она скачивается отдельно и тоже есть на официальном сайте.
    3. Установить MongoDB и шелл-оболочку на сервер, где будет храниться база. В реальных проектах обычно это арендованные на хостингах мощности. Создать тестовую базу данных для тренировки можно и на собственном устройстве.

    Взаимодействие с базой обычно происходит через терминал. Можно подключить модули для поддержки разных языков программирования, но по умолчанию язык запросов для MongoDB — это JavaScript. Операторы, с помощью которых управляют базой данных MongoDB, основаны на нем.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *