Что такое NoSql? Какова цель NoSql? Где я могу получить достаточно материала на NoSql? - PullRequest
9 голосов
/ 11 ноября 2010

Какое это имеет отношение к Mysql?Я ищу даже книги и материалы, если кто-нибудь упомянет названия книг или ссылок ...

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

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

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

Заранее спасибо ...

Ответы [ 4 ]

14 голосов
/ 11 ноября 2010

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

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

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

В Википедии есть хороший список движков NoSQL .

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

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

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

11 голосов
/ 08 марта 2013

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

Что отказывается от 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 с облаком и сфера распределенной архитектуры.

2 голосов
/ 10 августа 2011

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

Хороший источник информации: NOSQLБазы данных

0 голосов
/ 17 января 2013

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...