Latest web development tutorials
×

MongoDB курс

MongoDB курс NoSQL Краткое введение MongoDB Краткое введение Window устанавливать MongoDB Linux устанавливать MongoDB MongoDB Интерпретация Концепции MongoDB подключение MongoDB Создание базы данных MongoDB Удалить базу данных MongoDB Вставить документ MongoDB Обновление документации MongoDB Удаление документов MongoDB документ Запрос MongoDB Условный оператор MongoDB $type операторы MongoDB Limit & Skip MongoDB последовательность MongoDB индекс MongoDB агрегирование MongoDB копия MongoDB Ломтики MongoDB Резервное копирование и восстановление MongoDB монитор MongoDB Java MongoDB PHP распространение MongoDB PHP MongoDB PHP7

MongoDB Расширенный учебник

MongoDB отношения MongoDB ссылки на базы данных MongoDB Индекс покрытия запроса MongoDB анализ запросов MongoDB атомарные операции MongoDB Расширенный индексации MongoDB ограничения индекса MongoDB ObjectId MongoDB Map Reduce MongoDB Полнотекстовый поиск MongoDB Регулярные выражения MongoDB Инструменты управления MongoDB GridFS MongoDB Фиксированный набор MongoDB Автоматический рост

NoSQL Профиль

NoSQL (NoSQL = Не только SQL), что означает «не только SQL".

В современных вычислительных системах день в сети будет иметь огромное количество данных.

Эти данные представляют собой большую часть реляционной системы управления базами данных (RDMBSs) для решения. Предлагается реляционная модель бумага 1970 EFCodd "А реляционная модель данных для больших совместно используемых банков данных", что делает моделирование данных и прикладного программирования проще.

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

База данных NoSQL это новое революционное движение, на раннем этапе было высказано мнение о том, что тенденция развития все больше и больше растет к 2009 году. NoSQL сторонников, которые продвигают использование нереляционным хранения данных, в отношении подавляющего использования реляционных баз данных, эта концепция, несомненно, вводится новое мышление.

Реляционная база данных, чтобы следовать правилам ACID

Английский сделка является сделка, а реальный мир торговли очень похоже, она имеет следующие четыре характеристики:

1, A (Атомарность) Атомная <br> атомная легко понять, что все операции в транзакции либо все сделано, или не делать, то сделка является сделкой условия для достижения успеха во всех операциях успешно, до тех пор, пока операция терпит неудачу, вся сделка потерпит неудачу, необходимо выполнить откат.

Такие, как банковские переводы, перевод счета от А до Б составляет 100 юаней, делится на два этапа: 1) Возьмите А учитывает 100 юаней; 2) B 100 юаней депозитных счетов. Эти два этапа завершены либо вместе, либо не вместе завершена, если завершено только первый шаг, второй шаг терпит неудачу, деньги каким-то образом 100 юаней меньше.

2, C (Последовательность) согласованность <br> консистенция относительно легко понять, что было в базе данных в согласованное состояние, выполнения транзакции не изменит первоначальные ограничения согласованности базы данных.

Существующие ограничения целостности, такие как A + B = 10, если транзакция изменяет, мы должны изменить Ь, так что задняя часть сделки по-прежнему удовлетворяют + B = 10, в противном случае сделка не удается.

3, I (Изоляция) <br> так называемая независимость означает независимость не будет влиять друг на друга параллельных транзакций, если данные сделки , которые будут доступны по другой транзакции модифицируются до тех пор , как другой неподтвержденных сделки, ее доступ к данным не зависит от сделки несовершенное.
Например, есть существующий торговый счет передается от А до Б составляет 100 юаней, в случае этой сделки не была завершена. Если B проверить свои счета, не может увидеть вновь добавленный 100 юаней.

4, D (Долговечность) Постоянство Постоянство относится <br> как только транзакция фиксируется, она редактирует будет постоянно храниться в базе данных, она не будет потеряна , даже если время простоя происходит.


Распределенные системы

Распределенные системы (распределенная система) программные компоненты нескольких компьютеров и подключение коммуникаций (локальная сеть или глобальная сеть) состоит из компьютерной сети.

Распределенные системы строятся на основе систем сетевого программного обеспечения. Именно из-за особенностей программного обеспечения, распределенной системы с высокой степенью сплоченности и прозрачности.

Таким образом, разница между сетью и распределенной системой, которая более программного обеспечения высокого уровня (особенно операционной системы), а не аппаратного обеспечения.

Распределенные системы могут быть применены на различных платформах, таких как: ПК, рабочие станции, локальные и глобальные сети и тому подобное.


Преимущества распределенных вычислений

Надежность (отказоустойчивость):
Важное преимущество распределенной вычислительной системы является надежность. Сбой сервера не влияет на остальную часть сервера.

Масштабируемость:
В распределенной вычислительной системе может добавить больше машин по мере необходимости.

Совместное использование ресурсов:
Обмен данными имеет важное значение для приложений, таких как банковские услуги, системы бронирования.

Гибкость:
Поскольку система является очень гибкой, она проста в установке, реализации и отладки новых услуг.

Более высокая скорость:
Распределенная вычислительная система может иметь больше вычислительной мощности компьютеров, что делает его быстрее, скорость обработки данных, чем другие системы.

Открытые системы:
Потому что это открытая система, которая может быть локальный или удаленный доступ к услуге.

Более высокая производительность:
Централизованные сетевые кластеры компьютеров по сравнению с обеспечивают более высокую производительность (и более высокую цену).


Недостатком распределенных вычислений

Устранение неполадок ::
Выявить и устранить проблему.

Программное обеспечение:
Меньше поддержки программного обеспечения является основным недостатком распределенных вычислительных систем.

Сеть:
Проблемы сетевой инфраструктуры, в том числе: проблемы передачи, высокая нагрузка, информация теряется и так далее.

Безопасность:
Особенности развития системы позволяет распределенная вычислительная система уязвима для угроз безопасности и совместного использования данных проблем.


Что такое NoSQL?

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

NoSQL для хранения больших объемов данных масштаба. (Такие, как Google или Facebook триллионов бит данных, собранных в день для своих пользователей). Эти типы устройств хранения данных не требует установленного образца, никаких дополнительных операций не может быть расширен в поперечном направлении.

Почему NoSQL?

Сегодня мы можем быть третьей стороной платформы: Вы можете легко получить доступ и извлекать данные (такие как Google, Facebook и т.д.). персональная информация пользователя, социальные сети, местоположение, создаваемые пользователями данные и журналы пользователей возросло в геометрической прогрессии. Если мы хотим, чтобы эти добычи полезных ископаемых пользовательских данных, SQL базы данных, которая не подходит для этих приложений, а также разработка базы данных NoSQL также вполне в состоянии справиться с этими большими объемами данных.

веб-данных изображения

примеров

Социализированы сети:

Каждая запись: userid1, UserID2
Отдельные записи: Идентификатор_пользователя, first_name, last_name, возраст, пол, ...
Задача: Найти все друзья друзей друзей ... друзей данного пользователя.

Wikipedia страница:

Большая коллекция документов
Сочетание структурированных и неструктурированных данных
Задача: Получить все страницы, касающиеся атлетики летних Олимпийских до 1950 года.

RDBMS против NoSQL

РСУБД
- Высоко организованная структура данных
- Structured Query Language (SQL) (SQL)
- Данные и отношения сохраняются в отдельной таблице.
- Манипулирование данными языка, языка определения данных
- Строгая согласованность
- Базовые услуги

NoSQL
- Представляет не только SQL
- Нет декларативного языка запросов
- Нет предопределенный шаблон
- Ключ - значение пары, хранение столбец, хранения документов, графики, базы данных
- Eventual последовательность, а не свойства ACID
- Непредсказуемая и неструктурированные данные
- CAP теорема
- Высокая производительность, высокая доступность и масштабируемость

bigdata

NoSQL Краткая история

NoSQL Термин впервые появился в 1998 году, представляет собой легкий развитие Карло Строцци, с открытым исходным кодом, не обеспечивает функциональность реляционной базы данных SQL.

В 2009 году Last.fm Йохан Oskarsson инициировал обсуждение с открытым исходным кодом распределенной базы данных [2], Эрик Эванс из Rackspace снова предложил концепцию NoSQL, то NoSQL в основном относится к нереляционная, распределенная, не обеспечивают ACID проектирования баз данных шаблонов.

В 2009 году в Атланте "нет: SQL (восток)" семинар является важным этапом, с лозунгом "выберите удовольствие, прибыль от real_world, где реляционная = ложь;". Поэтому NoSQL наиболее распространенным объяснением является то, что "несвязанный тип," подчеркнул преимущества ключ-значение магазины и базы данных документов, а не просто оппозиции РСУБД.


CAP теорема (теорема CAP)

В компьютерной науке, CAP теорема (теорема CAP), также известный как Brewer теоремы (теорема Пивные), который отметил, что для распределенной вычислительной системы, не могут одновременно удовлетворять следующим трем пунктам:

  • Последовательность (Последовательность) (все узлы имеют те же данные , в то же время)
  • Наличие (Наличие) (убедитесь , что каждый запрос имеет ответ , независимо от успеха или неудачи)
  • Допуск разделов (Partition толерантность) (потеря системы или выход из строя какой - либо информации не влияет на продолжение работы системы)

Теория ядра CAP является: распределенная система не может одновременно удовлетворить последовательность, доступность, отказоустойчивость и разделить эти три требования могут удовлетворить только два хороших время.

Таким образом, в соответствии с принципами базы данных CAP NoSQL в ЦА отвечают принципу, чтобы удовлетворить и удовлетворять принципам CP принципа AP три категории:

  • CA - единая точка последовательности кластера встретиться, доступность системы, масштабируемость, как правило, на менее мощный.
  • CP - отвечают консистенцию, потерпит раздел производительности системы, как правило, не особенно высока.
  • AP - соответствуют доступности, терпимости разделов системы, как правило, на соответствие требованиям, может быть ниже.
Колпачок-theoram-изображение

NoSQL преимущества / недостатки

Преимущества:

  • - Высокая масштабируемость
  • - Распределенные вычисления
  • - Низкая стоимость
  • - Архитектурная гибкость, полу-структурированные данные
  • - Нет сложные отношения

Недостатки:

  • - Там нет стандартизации
  • - Функция поиска с ограниченной (до сих пор)
  • - Окончательное согласование не является интуитивно понятной программы

БАЗА

БАЗА: В основном Доступно, Soft-состояние, в конце концов последовательны. Определено Эрик Брюер.

Теория ядра CAP является: распределенная система не может одновременно удовлетворить последовательность, доступность, отказоустойчивость и разделить эти три требования могут удовлетворить только два хороших время.

БАЗА представляет собой базу данных NoSQL, как правило, слаб для доступности и согласованности основных требований:

  • В основном Availble - Basic Доступные
  • Soft-состояние - мягкая состояние / Гибкая транзакция. "Soft состояние" можно понимать как "без связи", и "Hard состояние" является "ориентированным на соединение" в
  • Eventual Консистенция - Консистентность в конечном счете Консистентность в конечном счете является конечной целью ACID.

ACID против БАЗЫ

ACID БАЗА
Атомный (A tomicity) Basic может быть использован (B asically Д о ступные гр)
Последовательность (C onsistency) Мягкое состояние / Гибкие услуги (S часто состояние)
Изоляция (I solation) Eventual консистенции (E ventual консистенции)
Стойкие (D теристиками)

Классификация баз данных NoSQL

тип Некоторые представители

особенность
Колонка магазины

Hbase

Cassandra

Hypertable

Как следует из названия, она хранится в столбцах данных. Самая большая особенность легко хранить структурированные и полуструктурированные данные, легко сделать сжатие данных, чтобы иметь очень большое преимущество для IO столбца или столбцов запроса.

хранения документов

MongoDB

CouchDB

Хранение документов , как правило , используется для хранения подобный формат JSON, содержимое хранится в типе документа. Это также имеет возможность построить индекс на некотором поле, чтобы достичь некоторых из особенностей реляционной базы данных.

хранения ключ-значение

Кабинет Токио / Тиран

Berkeley DB

MemcacheDB

Redis

Вы можете быстро проверить его значение по ключу. В общем случае , независимо от значения формата хранения наследовать. (Redis содержит дополнительные функции)

Карта памяти

Neo4j

FlockDB

Лучший магазин графики отношений. Низкое использование традиционных производительности реляционных СУБД , чтобы решить эту проблему, и конструкция неудобно пользоваться.

Хранение объекта

db4o

Versant

С помощью синтаксиса языка объектно-ориентированного аналогична работе базы данных, доступ посредством объекта данных.

базы данных XML

Berkeley DB XML

Basex

Эффективное хранение данных XML и поддерживает синтаксис внутреннего запроса XML, например, XQuery, Xpath.


Кто использует

Есть уже много компаний используют NoSQL:
  • Google
  • facebook
  • Mozilla
  • саман
  • квадрат
  • LinkedIn
  • Digg
  • McGraw-Hill Образование
  • Vermont Public Radio