NoSQL базы данных альтернативы / шаблоны / эквивалентности реляционной БД - PullRequest
1 голос
/ 05 января 2011

Из того, что я видел в этом видео ...

http://www.youtube.com/watch?v=LhnGarRsKnA

почти все традиционные операции RDBM (JOINS, GROUP BY, HAVING и т. Д.) Могут быть выполнены в NoSQLбаз данных с помощью комбинации методов MapReduce / denormalization.

Существует ли какая-либо статья / документ, в котором все эти эквиваленты четко описаны.Что-то вроде ... эквивалентности JOIN в базе данных NoSQL было бы ... бла бла

Я просто нигде не могу найти такую ​​документацию: (

Ответы [ 4 ]

2 голосов
/ 05 января 2011

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

Кроме того, попытка преобразовать реляционные операции в нереляционные системы просто вызовет у вас проблемы. Вместо этого вам нужно посмотреть, что вы пытаетесь сделать с этими реляционными операциями. Например, сгруппировать ли для сортировки списка по категориям или для обработки иерархических объектов, когда у вас нет нескольких полей значений? Объединяет ли сборка одного объекта, хранящегося в нескольких таблицах, или вычисление пересечения множества?

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

Ваш лучший вариант - выбрать хранилище данных, которое соответствует вашим потребностям (хорошее сравнение функций высокого уровня http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis) и найдите несколько примеров того, как системы проектируются с использованием этого хранилища данных. Если повезет, вы найдете что-то близкое к тому, над чем вы работаете.

1 голос
/ 05 января 2011

Эта статья содержит полезную информацию о NoSQL против использования SQL http://www.develop.com/mongoDB

0 голосов
/ 20 декабря 2012

Вот список шаблонов, которые помогут вам закрепиться в мире noSql .... (это работа в процессе).

https://github.com/deanhiller/playorm/wiki/Patterns-Page

0 голосов
/ 06 сентября 2012

Будьте очень осторожны ... вы, вероятно, не хотите присоединяться к таблице с 1 триллионом строк.Подумайте о шаблонах разделения ваших данных.Например, с помощью playOrm вы можете разделить свои данные и выполнить S-SQL (масштабируемый SQL), чтобы вы могли выполнять все необходимые объединения внутри раздела, что во многих приложениях OLTP именно то, что вам нужно, как если бы ваши клиенты были бизнесом, каждый бизнеснаходится в своем собственном разделе, и вы можете объединить все таблицы, относящиеся к этому бизнесу, сколько хотите.

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