2010-11-11 2 views
8

Как это относится к Mysql? Я ищу даже книги и материалы, если кто-нибудь упомянет названия книг или ссылок ....Что такое NoSql? Что является целью NoSql? Где я могу получить достаточный материал на NoSql?

Я планирую изучить NoSql ... поэтому, пожалуйста, предложите мне несколько советов о том, что нам нужно, прежде чем учить?

Может ли кто-нибудь объяснить разницу между использованием MySql и NoSql?

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

Спасибо заранее ...

+6

Если вы не знаете, что это такое, почему вы хотите перейти на него? – skaffman

+1

это похоже на использование базы данных без необходимости использовать SQL, ADO или любой другой материал - http://thedailywtf.com/Articles/The_Storray_Engine.aspx – Tarski

ответ

13

NoSQL категория двигателей базы данных, которые не поддерживают SQL (Structured Query Language) в для достижения характеристик производительности или надежности, которые несовместимы с гибкостью SQL.

Эти двигатели обычно предоставляют язык запросов, который предоставляет подмножество того, что может делать SQL, а также некоторые дополнительные функции. Какое подмножество SQL доступно полностью зависит от движка, хотя довольно распространено, что JOIN, TRANSACTION, LIMIT и неиндексированные WHERE не поддерживаются.

Как следствие, перенос существующего программного обеспечения с помощью стандартного механизма базы данных SQL к двигателю NoSQL потребует переписывает все запросов в этом программном обеспечении, и, вероятно, также потребует некоторых изменений в самой логике приложения (классический например, что «отображение страницы 11 из 25» невозможно сделать эффективно в CouchDB из-за отсутствия поддержки LIMIT x OFFSET y).

Википедия имеет красивый list of NoSQL engines.

Общий консенсус по NoSQL заключается в том, что, если какая-то конкретная часть вашего программного обеспечения выиграет от повышения производительности, надежности или масштабируемости, допускаемой конкретным движком NoSQL, и не использует какие-либо функции, недоступные в этом движке, миграция может быть рассмотрена. Достаточно редко для всего существующего приложения, управляемого SQL, для его интеграции в NoSQL.

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

(Наконец, MySQL не имеет никакого отношения к NoSQL. MySQL это просто название одной реляционной реализации базы данных. Так как он реализует SQL, это, конечно, не база данных NoSQL.)

+0

Спасибо за ваше драгоценное время, предоставляя представление о NoSql. Если возможно, вы можете посоветовать мне несколько книг/видеороликов или статей/материалов, чтобы получить больше информации, а также улучшить свои навыки? – Bhargav

2

NoSQL класс базы данных система управления, отличная от традиционных реляционных баз данных (например, MySql), в этих данных не хранится с использованием схем фиксированной таблицы. Главным образом его цель - служить базой данных для огромных приложений для веб-приложений (Amazon, Google, Facebook и т. Д.), Где они превосходят традиционные реляционные базы данных.

Хороший источник информации: NOSQL Databases

0

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

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

10

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

Что NoSQL отдает (зависит от продукта NoSQL):

  • отношений между объектами (как таблицы). Таким образом, вы обычно не можете «присоединяться» к таблицам или моделям вместе в запросе.
  • Ограниченные транзакции ACID. Уровень согласованности чтения и атомных возможностей записи/фиксации в одной или нескольких таблицах/сущностях зависит от механизма NoSQL.
  • Нет стандартного языка домена, такого как SQL для выражения специальных запросов. Каждый NoSQL имеет свой собственный API, а некоторые из поставщиков NoSQL имеют ограниченную возможность специальных запросов.
  • Менее структурированная и жесткая модель данных. NoSQL обычно заставляет/дает больше ответственности на уровне приложений и разработчику, чтобы определить схему, а именно «схему при чтении», а не при записи.

Какие NoSQL выгоды:

  • Легче шард и распространять данные в кластере (из-за того, что вы отказываетесь выше). Это может значительно повысить масштабируемость чтения/записи.
  • Может развертываться на более дешевом товарном оборудовании (и в облаке) и повышать общительность более экономично.
  • Не нужна такая поддержка переднего типа DBA. Но если ваш NoSQL станет большим, вы потратите много времени на работу администратора независимо от того.
  • NoSQL имеет более свободную модель данных, поэтому у вас могут быть более простые наборы данных и наборы переменных данных, организованные в наборах документов или столбцов имен/значений. Модели данных не такие жесткие.
  • Миграции схемы могут быть проще, но нагрузка на уровень приложения влияет на изменения в модели данных.
  • В зависимости от того, какой тип приложения вы строите, NoSQL может начать работать немного легче, так как вам требуется меньше времени на планирование вашей модели данных. Поэтому для сбора высокоскоростных и переменных данных NoSQL может быть отличным. Но для моделирования приложения ERP это может быть не очень удобно.

Там нет осколок пули здесь с NoSQL Есть много различных двигателей NoSQL и каждый имеет свою собственную конкретную специальность и плюсы и минусы. В целом вы должны думать о NoSQL как о дополнительном хранилище данных, а не как о полной замене RDBMS/SQL, но это будет зависеть от вашего приложения и функциональной среды.

реляционные базы данных также эволюционируют с новой гибридной NoSQL, как двигатели MySQL выходит и такие продукты, как NuoDB и VoltDB (что некоторые называют NewSQL) пытаются преодолеть RDBMS в облако и распределенная архитектуре области.

Смежные вопросы