Формальное название стандарта SQL – ISO/IEC 9075 «Database Language SQL»

Несмотря на наличие международного стандарта, многие производители СУБД вносят изменения в язык SQL, тем самым отступая от стандарта. В результате у разных производителей СУБД в ходу разные диалекты SQL, в общем случае между собой несовместимые. В настоящее время проблема совместимости решается так: описание языка имеет модульную структуру, основная часть стандарта вынесена в раздел «SQL/Foundation», все остальные выведены в отдельные модули, остался только один уровень совместимости – «Core», что означает поддержку этой основной части. Поддержка остальных возможностей оставлена на усмотрение производителей СУБД.

 

 

Все операторы, составляющие основу SQL с момента его появления, можно разделить на следующие группы:

· операторы определения данных (Data Definition Language – DDL)

o CREATE создает объект базы данных

o ALTER изменяет объект

o DROP удаляет объект

o

· операторы манипуляции данными (Data Manipulation Language – DML)

o SELECT считывает данные, удовлетворяющие заданным условиям

o INSERT добавляет новые данные

o UPDATE изменяет существующие данные

o DELETE удаляет данные

o

· операторы определения доступа к данным (Data Control Language – DCL)

o GRANT предоставляет пользователю (группе) разрешения на определенные операции с объектом

o REVOKE отзывает ранее выданные разрешения

o DENY задает запрет, имеющий приоритет над разрешением

o

· операторы управления транзакциями (Transaction Control Language – TCL)

o COMMIT применяет транзакцию.

o ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции.

o 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).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: