Similar presentations:
Обзор языков запросов и популярных систем управления базами данных
1.
2.
Языки запросов — это искусственныеязыки, на которых делаются запросы к
базам данных и другим
информационным системам, особенно к
информационно-поисковым системам.
Языки запросов – языки высокого уровня,
ориентированные на конечного
пользователя и предназначенные для
формирования запросов к БД.
3.
Для подготовки запросов с помощьюразличных СУБД чаще всего используются
два основных языка описания запросов:
Табличные – язык запросов по образцу.
Часто используется не только как
самостоятельный ЯЗ, но и как построитель
запросов на SQL.
Аналитические –– структурированный язык
запросов. Графические элементы
используются частично. Использование
дополнительных возможностей, выходящих
за рамки языка данного класса.
4.
Structured Query Language (SQL) —язык структурированных запросов, с
помощью него пишутся специальные
запросы (SQL инструкции) к базе данных
с целью получения этих данных из базы
и для манипулирования этими данными.
5.
DDL (Язык Определения Данных) — такназываемый Язык Описания Схемы в ANSI,
состоит из команд, которые создают объекты
(таблицы, индексы, просмотры, и так далее) в
базе данных.
DML (Язык Манипулирования Данными) — это
набор команд, которые определяют, какие
значения представлены в таблицах в любой
момент времени.
DCD (Язык Управления Данными) состоит из
средств, которые определяют, разрешить ли
пользователю выполнять определенные
действия или нет. Они являются составными
частями DDL в ANSI.
6.
Система управления базами данных—совокупность программных и лингвистических
средств общего или специального назначения,
обеспечивающих управление созданием и
использованием баз данных.
СУБД — комплекс программ, позволяющих
создать базу данных (БД) и манипулировать
данными (вставлять, обновлять, удалять и
выбирать). Система обеспечивает безопасность,
надёжность хранения и целостность данных, а
также предоставляет средства для
администрирования БД.
7.
Обычно современная СУБД содержит следующиекомпоненты:
ядро, которое отвечает за управление данными во внешней
и оперативной памяти и журнализацию;
процессор языка базы данных,
обеспечивающий оптимизацию запросов на извлечение и
изменение данных и создание, как правило, машиннонезависимого исполняемого внутреннего кода;
подсистему поддержки времени исполнения, которая
интерпретирует программы манипуляции данными,
создающие пользовательский интерфейс с СУБД;
сервисные программы (внешние утилиты),
обеспечивающие ряд дополнительных возможностей по
обслуживанию информационной системы.
8.
По модели данных :Иерархические
Сетевые
Реляционные
Объектноориентированные
Объектно-реляционные
По степени распределённости:
Локальные СУБД (все части
локальной СУБД размещаются
на одном компьютере)
Распределённые СУБД (части
СУБД могут размещаться не
только на одном, но на двух и
более компьютерах).
9.
o Создание баз данных, изменение, удаление иобъединение их по определённым признакам.
o Хранение данных, в том числе больших
массивов, в структурированном виде и нужном
формате.
o Защита данных от взлома и нежелательных
изменений при помощи распределённого
доступа: когда разным группам пользователей
доступны разный объём и сегменты данных.
o Выгрузка и сортировка данных по заданным
фильтрам при помощи SQL-запросов.
o Поддержка целостности баз данных, резервное
копирование и восстановление после сбоёв.
10.
1 место. Базаданных MySQL
2 место. PostgreSQL
3 место. MongoDB
4 место. Redis
5 место. Elasticsearch
11.
Самая популярная OLTP-система с открытым
исходным кодом. Не
обеспечивает строгого
соответствия стандарту
SQL — приоритет отдается
простоте и скорости
работы. Отличается очень
высокой
производительностью при
операциях чтения.
Поддерживает как
структурированные (SQL),
так и
полуструктурированные
данные (JSON).
Рекомендуется для задач:
веб-сайты,
платформы электронной
коммерции,
системы управления
контентом CMS.
Не рекомендуется для
задач, где:
требуется обработка сложных
аналитических запросов и
построение OLAP-хранилищ,
требуются функции объектнореляционных баз, например
перегрузка функций и
наследование таблиц.
12.
Рекомендуется для задач, где требуетсямногофункциональная БД, способная хранить
массивные объемы данных и обрабатывать сложные
запросы:
построение небольших DWH (Data Warehouse) для
аналитических систем;
хранилище для геоинформационных систем —
совместно с расширением PostGIS;
основное хранилище для веб-приложений, мобильных
приложений, игр.
Не рекомендуется для задач, где:
преобладают записи чтения — в таком случае
предпочтительнее MySQL;
требуется горизонтальное масштабирование;
требуется OLAP-хранилище.
13.
Рекомендуется для задач, где используютполуструктурированные данные (JSON, XML), схема
данных отсутствует или часто изменяется, а также
требуется устойчивость к высоким нагрузкам:
мобильные приложения,
аналитика в реальном времени,
CMS-системы,
интернет вещей (IoT),
электронная коммерция,
игры.
Не рекомендуется для задач, где:
данные структурированы;
в будущем могут понадобиться жесткие схемы
данных и проверки на консистентность
14.
Рекомендуется для задач, где требуетсяраспределить хранение больших объемов данных
в памяти с высокой скоростью обработки:
кэш;
брокеры сообщений (поддерживается механизм
Pub/Sub);
обработка в режиме реального времени —
например, системы инвентаризации;
хранение краткосрочных данных — например,
сеансы веб-приложений.
Не рекомендуется для задач, где:
небольшие объемы данных;
есть необходимость в OLTP- или OLAP-хранилище.
15.
Рекомендуется для задач, где требуется полнотекстовыйпоиск для большого объема полуструктурированных
данных в режиме, близком к реальному времени:
поисковые системы веб-сайтов, интернет-магазинов;
централизованное хранение и мониторинг логов из
различных источников;
AML (Anti Money Laundering), обнаружение мошенничества
и вредоносных программ.
Не рекомендуется для задач, где:
требуется OLTP-база с гарантией ACID;
необходимы только базовые функции полнотекстового
поиска и не предполагается использование остальных
инструментов стека ELK;
набор данных небольшой и содержит только
структурированные данные.