Есть ли валидность в движении NoSQL? - PullRequest
11 голосов
/ 01 ноября 2010

Прежде всего, я относительно новичок в мире баз данных, в этом семестре я окончил бакалавриат по Comp Science, и технологии баз данных действительно привлекли мое внимание, поэтому я много изучал T-SQL, потому что в конце концов я хочу получитьРабота по разработке SQL (сервер MS SQL казался лучшим выбором сейчас, потому что он находится на подъеме)

ВСЕГДА, я слышал много шумихи об этом движении NOsql нереляционных систем управления базами данных.Стараясь, чтобы этот вопрос был как можно более субъективным, я в основном хочу узнать о преимуществах / недостатках NRDBMS (таких как Nosql) и о том, есть ли у них действительно будущее.Возможно, в качестве дополнительного вопроса, это плохое время для изучения SQL в целом (в частности, обычные СУБД, к которым мы так привыкли).Я предвижу людей, придерживающихся этого в течение длительного времени, но опять же ..... Я не знаю.Я не хотел бы видеть, что мой интерес внезапно ныряет на рынок.

Ответы [ 8 ]

9 голосов
/ 01 ноября 2010

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

Я считаю, что NoSQL не захватывает мир, это альтернатива общему подходу СУБД, и, как и все остальное, имеет свои сильные и слабые стороны.

Вот отличная статья на тему, написанную о NetFlix.

5 голосов
/ 01 ноября 2010

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

SQL еще даже не достиг полного проникновения, и он ОЧЕНЬ укоренился в большом количестве бизнес-процессов.Рынок разработки и сопровождения SQL не исчезнет в ближайшее время, и если он начнется, то не будет в одночасье - у вас будет время, чтобы изучить следующую большую вещь, прежде чем вы устареете.

2 голосов
/ 01 ноября 2010

Будущее больших систем потребует навыков работы с SQL и NoSQL.

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

Но это все изменится в ближайшие несколько лет

Как недавний выпускник, ты должен начать где-нибудь. SQL - это просто самое простое место для начала. Вы увидите, что многое из этого будет впереди. Однако, как только вы освоите SQL (скажем, прошли курс MS T-SQL), я настоятельно рекомендую взглянуть на что-то вроде MongoDB / Riak / CouchDB в качестве вашего следующего приключения.

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

2 голосов
/ 01 ноября 2010

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

Базы данных, основанные на объекте, а не на реляционной модели, существовали вечно. Разница в том, что в прошлом они обычно были закрытыми (и дорогими!) Пакетами от одного поставщика. Никто на самом деле не хочет, чтобы их критически важные приложения были заблокированы в частной базе данных, в зависимости от лицензии от одного, иногда не отвечающего, поставщика.

В отличие от сегодняшних баз данных NoSQL, как правило, они бесплатны, открыты и хорошо согласованы с существующими веб-ориентированными технологиями, что обеспечивает быстрое и гибкое масштабирование, не беспокоясь о лицензиях, и потенциальное участие в дальнейшей разработке (или локальном разветвлении / исправлении, если необходимо) ).

То, чем они также являются, разнообразно, так что вы не можете действительно классифицировать их всех как полезных для определенного вида задач. Существуют тривиальные сегменты ключ-значение, которые не делают попыток быть ACID-безопасными, есть объектные базы данных со своими собственными парадигмами безопасности (например, конфликты версий CouchDB), есть более традиционные реляционные базы данных, которые просто не используют SQL как Механизм запросов (потому что давайте посмотрим правде в глаза, приятно то, что вы можете использовать один и тот же язык запросов в разных базах данных, взламывая вместе SQL-запросы в строку только для того, чтобы база данных на другом конце могла выделить строку, чтобы получить логику запрос, который вы хотели сделать, немного глупо).

Их много, большинство из них очень незрелые по сравнению с древним зданием SQL, и для появления победителей потребуется некоторое время. Является ли NoSQL «действительным»? Конечно. Но я бы сказал, что использование конкретной базы данных NoSQL в качестве основы для исследования сегодня (в отличие от использования базы данных, которая соответствует вашим потребностям для конкретной задачи, в которой плохо работает SQL), было бы преждевременным.

2 голосов
/ 01 ноября 2010

Базы данных NoSql отлично подходят для хранения неструктурированных данных. Думайте об этом как о следующем поколении Lotus Notes.

Я бы не использовал базу данных NoSql для хранения списка людей и адресов, поскольку они полностью структурированы и хорошо известны.

Однако, если бы у меня был набор динамических атрибутов некоторого типа (пары имя / значение) или чего-то подобного, что требовало много поворотов, чтобы добраться до меня, я бы всерьез изучил это. Я мог бы даже пойти по этому пути, даже если есть структура, но она не известна заранее. Например, с динамическими таблицами.

Тем не менее, когда мы провели некоторые оценки в начале этого года (март 2010 года), и мы не думали, что состояние доступных баз данных NoSql с открытым исходным кодом готово к серьезному производству. В базах данных гораздо больше, чем просто ввод данных и их вывод. Автоматическое резервное копирование, балансировка нагрузки, надежные инструменты запросов, проверки согласованности и т. Д. Абсолютно необходимы. Мы проведем переоценку в начале следующего года.

1 голос
/ 01 ноября 2010

Я думаю, что NoSQL - это больше ниша. Это действительно хорошо для некоторых приложений, но, вероятно, никогда не будет полностью вытеснять RDBMS (хотя, похоже, что комбинации NoSQL поверх бэкэнда RDBMS выходят больше, я слышу). Советом было бы научиться работать с СУБД старой школы (это все еще гораздо чаще, по крайней мере из того, что я видел), а затем перейти на NoSQL на стороне, если хотите.

1 голос
/ 01 ноября 2010

Похоже, что вы уже указываете правильное направление, просматривая объявления о вакансиях и выясняя текущие потребности в хранении и управлении данными, если это ваша страсть.Я не удивлюсь, если собеседования начнут спрашивать о преимуществах / недостатках nosql, просто чтобы узнать, знакомы ли вы с последними разработками (и если вы подаете заявку на должность dba, они могут также спросить о соответствии ACID итеорема CAP).

Многие компании начинают использовать технологии NoSQL, поэтому справедливо то, что их используют люди.И не только небольшие стартапы, но и такие компании, как facebook (cassandra), yahoo (hadoop), google (bigtable) и etsy (mongodb) считают, что решения nosql соответствуют определенным потребностям.

0 голосов
/ 01 ноября 2010

Брент Озар сделал отличную рецензию на эту тему здесь: Основы NoSQL для администраторов баз данных

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