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

  Опросы
  Статьи

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

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

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

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

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

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

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

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

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

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

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

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

Принципы проектирования  

Dependency Inversion Principle. Принцип инверсии зависимостей в разработке

Мы подошли к последнему принципу проектирования приложений из серии SOLID – Dependency

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

Рынок труда  

Вакансия: Администратор 1С

Администратор 1С – это специалист, который необходим любой организации, где установлены программы

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

Книжная полка  

Книги для профессионалов, студентов и пользователей

Книги издательства «БХВ» вышли книги для тех, кто хочет овладеть самыми востребованными

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

Принципы проектирования  

Interface Segregation Principle. Принцип разделения интерфейсов в проектировании приложений

Эта статья из серии «SOLID» посвящена четвертому принципу проектирования приложений – Interface

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

1001 и 1 книга  
19.03.2018г.
Просмотров: 10795
Комментарии: 0
Потоковая обработка данных

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

19.03.2018г.
Просмотров: 9041
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

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

19.03.2018г.
Просмотров: 9088
Комментарии: 0
Конкурентное программирование на SCALA

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

19.03.2018г.
Просмотров: 5734
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

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

12.03.2018г.
Просмотров: 6429
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

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

12.03.2018г.
Просмотров: 3735
Комментарии: 0
Глубокое обучение с точки зрения практика

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

12.03.2018г.
Просмотров: 2731
Комментарии: 0
Изучаем pandas

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

12.03.2018г.
Просмотров: 3530
Комментарии: 0
Программирование на языке Rust (Цветное издание)

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

19.12.2017г.
Просмотров: 3520
Комментарии: 0
Глубокое обучение

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

19.12.2017г.
Просмотров: 6016
Комментарии: 0
Анализ социальных медиа на Python

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

Друзья сайта  

 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