операторы определения данных (Data Definition Language – DDL)
CREATE создает объект базы данных
ALTER изменяет объект
DROP удаляет объект
операторы манипуляции данными (Data Manipulation Language – DML)
SELECT считывает данные, удовлетворяющие заданным условиям
Insert добавляет новые данные
UPDATE изменяет существующие данные
DELETE удаляет данные
операторы определения доступа к данным (Data Control Language – DCL)
GRANT предоставляет пользователю (группе) разрешения на определенные операции с объектом
REVOKE отзывает ранее выданные разрешения
DENY задает запрет, имеющий приоритет над разрешением
операторы управления транзакциями (Transaction Control Language – TCL)
COMMIT применяет транзакцию.
ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции.
SAVEPOINT делит транзакцию на более мелкие участки.
Чтобы справиться с текущей нагрузкой, которую создают более 800 миллионов пользователей социальной сети, Facebook оперирует четырьмя тысячами экземпляров MySQL (при этом очень активно используется разделение данных на уровне ресурсов ), параллельно задействовано девять тысяч инсталляций. Реляционная БД для этого не предназначена, поэтому используются новые технологии NoSQL
Новые способы хранения и обработки данных
«Not Only SQL»----NoSQL
Традиционные СУБД ориентируются на
Атомарность
Согласованность
Изолированность
Надежность
NoSQL:
Базовая доступность (каждый запрос выполняется)
Гибкое состояние (может меняться даже без ввода для согласования)
Согласованность (некоторое время могут быть рассогласованы)
Система называется масштабируемой, если она способна увеличивать производительность пропорционально дополнительным ресурсам (например, процессорам).
В начале 2000 г, решая проблемы масштабируемости и параллельной обработки больших объёмов данных для поисковых систем (Gmail. Google maps) Google была создана распределённая файловая система.
В 2007 году amazon.com представил БД Amazon DynamoDB
Затем IBM, Facebook, …
Характерные черты NoSQL
Применение различных типов хранилищ
Возможность разработки базы данных без задания схемы
Использование многопроцессорности
Линейная масштабируемость (добавление процессоров увеличивает производительность)
Скорость: даже при небольшом количестве данных конечные пользователи могут оценить снижение времени отклика системы с сотен миллисекунд до миллисекунд
Типы хранилищ данных
«ключ-значение» (key-value store), простейшее - Amazon DynamoDB
хранилища семейств колонок (column database),
В этом хранилище данные хранятся в виде разреженной матрицы, строки и столбцы которой используются как ключи. SimpleDB (Amazon.com)
документно-ориентированные (document store),
Документо-ориентированные СУБД служат для хранения иерархических структур данных. MongoDB
графовые базы данных (graph database).
Подходят для облачных сервисов Первое преимущество хранилищ типа ключ-значение состоит в том, что они проще, а значит обладают большей масштабируемостью, чем реляционные БД. Если вы размещаете вместе собственную систему, и планируете разместить дюжину или сотню серверов, которым потребуется справляться с возрастающей нагрузкой, за вашим хранилищем данных, тогда ваш выбор – хранилища типа ключ-значение.
В нереляционной БД данные могут повторят
NoSQL – язык запросов (2011г)
На примере MongoDB
Типы данных
Логические операции
Операторы выборки и сортировки (Insert, Sort())
…
