Что значит nosql? Может ли кто-нибудь объяснить мне это простыми словами? - PullRequest
13 голосов
/ 07 августа 2009

в этом сообщении Архитектура переполнения стека Я читал о том, что называется nosql, я не понял, что это значит, и я попытался выполнить поиск в Google, но кажется, что я не могу получить именно то, что это.

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

Ответы [ 7 ]

25 голосов
/ 07 августа 2009

Если вы когда-либо работали с базой данных, вы, вероятно, работали с реляционной базой данных. Примерами могут быть база данных Access, SQL Server или MySQL. Когда вы думаете о таблицах в таких базах данных, вы обычно думаете о сетке, как в Excel. Вы должны назвать каждый столбец таблицы базы данных и указать, являются ли все значения в этом столбце целыми числами, строками и т. Д. Наконец, когда вы хотите посмотреть информацию в этой таблице, вы должны использовать язык, называемый SQL.

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

Проще говоря, именно поэтому они являются базами данных "NoSQL".

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

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

7 голосов
/ 07 августа 2009

с домашней страницы NoSQL

NoSQL - это быстрая, переносимая, реляционная система управления базами данных без произвольных ограничений (кроме скорости памяти и процессора), которая работает под операционной системой UNIX 1 и взаимодействует с ней. Он использует «Парадигму оператора-потока», описанную в «Обзоре Unix», март 1991 г., стр. 24, под названием «Язык 4GL». Существует ряд «операторов», каждый из которых выполняет уникальную функцию над данными. «Поток» обеспечивается механизмом перенаправления ввода / вывода UNIX. Поэтому каждый оператор обрабатывает некоторые данные и затем передает их следующему оператору через конвейерную функцию UNIX. Это очень эффективно, поскольку каналы UNIX реализованы в памяти. NoSQL соответствует «реляционной модели».

Я бы также увидел этот ответ на Stackoverflow .

3 голосов
/ 08 августа 2009

NoSQL - это идея, что базы данных типа SQL не удовлетворяют требованиям / требованиям интенсивно используемой базы данных, которая требует, чтобы транзакции были надежными и отказоустойчивыми (или близкими к ним). Это связано с идеями ACID и CAP. Обе вещи стоит изучить, но не стоит терять сон, если вы не пользуетесь действительно популярным сайтом с большим количеством транзакций (например, Amazon или Ebay). Чтобы получить хорошее начало по этим предметам, я предлагаю:

http://www.eflorenzano.com/blog/post/my-thoughts-nosql/

и

http://www.julianbrowne.com/article/viewer/brewers-cap-theorem

3 голосов
/ 07 августа 2009

NoSql - это новая философия базы данных, которая говорит обо всех недостатках проектирования реляционных баз данных, в частности о проблемах, которые они имеют при расширении для современных требовательных веб-сред.

NoSql быстро превращается в движение с новыми инструментами, программным обеспечением и форматами, которые становятся альтернативой SQL.

СУБД вездесуща, как ООП, и хотя обе эти методологии проектирования прекрасно решают некоторые проблемы, они не решают все.

Так что думайте о NoSql как о функциональной программе в мире баз данных.

Было ли это достаточно просто?

2 голосов
/ 07 августа 2009

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

Вот соответствующая статья: http://www.computerworld.com/s/article/9135086/No_to_SQL_Anti_database_movement_gains_steam_

1 голос
/ 11 сентября 2009
1 голос
/ 28 августа 2009

То, что каждый, кто рассматривает «nosql» подход, должно учитывать:

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

http://browsertoolkit.com/fault-tolerance.png

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