NoSQL как он есть::Журнал СА 11.2013
www.samag.ru
Льготная подписка для студентов      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

Jobsora


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 1990
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 2001
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 1565
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 1131
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 1714
Комментарии: 1
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

Электронка - 2020!

 NoSQL как он есть

Архив номеров / 2013 / Выпуск №11 (132) / NoSQL как он есть

Рубрика: Разработка /  Веб-технологии

Александр Календарев АЛЕКСАНДР КАЛЕНДАРЕВ, программист в РБК-Медиа, akalend@mail.ru

NoSQL как он есть

В последнее время стал часто упоминаться термин NoSQL. В статье сделан краткий обзор NoSQL-хранилищ данных

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

Не SQL – так что же?

Терминология NoSQL была озвучена Carlo Strozzi в журнале «Unix-обозрение» в марте 1991 года как альтернативное хранилище данных, использующее нереляционный подход между структурами данных, где в качестве языка запросов предлагался язык 4GL как замена привычного нам SQL. В настоящее время так называется одноименное хранилище данных, разработанное Карло Строззи (Carlo Strozzi). В копирайте на его персональном сайте указано: «NoSQL RDBMS, Copyright (C) 1998,2010 Carlo Strozzi. Part of NoSQL code comes from RDB».

Эрик Эванс (Eric Evans), разработчик из Rackspace, вновь употребил термин NoSQL в начале 2009 года, на конференции разработчиков Open Source, организованной Джоханом Оскарссоном (Johan Oskarsson). Этот термин был применен к новым многочисленно появляющимся нереляционным распределенным хранилищам данных, которые не обеспечивали принцип ACID (атомарность, целостность, изоляция, долговечность), являющийся ключевым в классической реляционной системе управления данными.

В Wikipedia термин NoSQL определен так: NoSQL (англ. not only SQL, не только SQL) в информатике – термин, обозначающий ряд подходов, проектов, направленных на реализацию моделей баз данных, имеющих существенные отличия от используемых в традиционных реляционных СУБД с доступом к данным средствами языка SQL.

В настоящее время ни один высоконагрузочный проект не обходится без использования NoSQL-хранилищ данных: Google, Facebook, Reddit, Twitter, Digg, Mozilla, Amazon. В Рунете это такие гиганты, как Yandex, BКонтакте, Одноклассники, Mail.ru, и еще множество средних и мелких проектов.

Нереляционные хранилища данных в отличие от традиционных СУБД имеют либо более быструю скорость доступа к данным, либо распределенную архитектуру, которая позволяет хранить неограниченное количество данных, либо позволяют хранить неструктурированные объекты данных. Последние не вписываются в рамки Языка Структурированных Запросов – SQL. Более быстрая скорость извлечения данных из хранилища достигается более простым Протоколом. Нереляционные хранилища данных бывают следующих типов, которые мы и рассмотрим далее в статье:

  • Документо-ориентированные.
  • Key-value.
  • Поколоночные.
  • Граф-ориентированные.
  • Прочие (Geo-ориентированные, Объектно-ориентированные).

Документо-ориентированные БД

В Wikipedia документно-ориентированные БД определены так: это СУБД для работы с документо-ориентированными приложениями. В документо-ориентированных СУБД главным объектом является некий документ, который представляет собой набор пар «ключ-значение», объединенных между собой. Этот документ представляется в виде JSON, XML и других документов-объектов.

Традиционные СУБД опираются на принцип фиксированной схемы данных: сначала описывают схему базы данных и только затем уже наполняют ее ими.

В отличие от реляционных СУБД, в которых данные представлены как строки таблиц, которые могут быть взаимосвязаны реляционными отношениями, в документо-ориентированных NoSQL-хранилищах информация хранится в ненормализованной форме (см. рис. 1). В качестве представления слабоструктурированных данных используются, как правило, документы в форматах JSON или XML.

Рисунок 1. Документо-ориентированные БД

Рисунок 1. Документо-ориентированные БД

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

Ни для кого уже не секрет, что поиск информации даже сравнительно небольших объемов данных в XML-документах довольно-таки затруднителен. Поэтому сами данные внутри хранилища находятся в бинарном представлении, а XML является лишь входной формой документа.

Статью целиком читайте в журнале «Системный администратор», №11 за 2013 г. на страницах 51-55.


Комментарии отсутствуют

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

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru