369.99K
Категория: Базы данныхБазы данных

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

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;
набор данных небольшой и содержит только
структурированные данные.
English     Русский Правила