NoSql Crash Course/Tutorial
Я видел, что NoSQL немного всплывает на SO, и у меня есть четкое понимание почему, которое вы использовали бы здесь (отсюда, Wikipedia и т.д.). Это может быть связано с отсутствием конкретного и единообразного определения того, что это (больше парадигмы, чем конкретная реализация), но я изо всех сил пытаюсь обернуть голову тем, как я буду разрабатывать систему, которая будет ее использовать или как Я бы использовал его в своей системе. Я действительно застрял в мышлении реляционных-db, думая о вещах в терминах таблиц и присоединяющихся...
Во всяком случае, знает ли кто-нибудь о курсе/учебном пособии по сбою в системе, которая будет использовать его (вроде "привет мир" для системы на основе NoSQL) или учебник, в котором используется существующее приложение "Hello World" основанный на SQL и преобразующий его в NoSQL (не обязательно в код, а просто объяснение высокого уровня).
Ответы
Ответ 1
Вот достойное слайд-шоу, представляющее MongoDB. Я думаю, что некоторые из больших различий в том, что большинство систем полагаются на Active Record или некоторую аналогичную абстракцию базы данных.
Также я нашел замечательную бесплатную книгу Orlys на Couch DB здесь, что довольно удивительно.
Ответ 2
В своей самой простой форме NoSQL - это не более чем способ хранения объектов с использованием какой-либо системы сопряжения ключей/значений. Вы используете это все время, я предполагаю. Например. в javascript вы можете создать объект с именем foo, а затем foo['myobj'] = myobj;
сохранить материал в объекте.
Все серверы NoSQL действительно дают вам возможность добавлять/удалять/запрашивать массивные массивы и по-прежнему допускать устойчивость и отказоустойчивость. Вы можете создать NoSQL на сервере памяти примерно в 100 строках кода.
Итак, давайте сделаем это так... в CouchDB вы используете map/reduce... так что пусть создание функции карты сделает так же, как бит кода SQL:
SELECT * FROM users WHERE age > 10
В CouchDB вы предоставляете серверу функцию JavaScript, которая запускается против каждого элемента в базе данных...
function (doc)
{
if (doc.objType == "users") {
if (doc.age > 10) {
emit(doc._id, null)
}
}
}
Это все, что на самом деле существует... он становится более сложным оттуда на сервере, так как сервер должен обрабатывать сбои и несколько ревизий одного и того же объекта, но это всего лишь пример.
Ответ 3
Взгляните на это видео с DNR TV, сделав несколько рук с помощью MongoDB. Может показаться приятным для первого введения.
Ответ 4
Сайт mongoDB предоставляет большое 10-ступенчатое учебное пособие в форме онлайн-моделирования оболочки mongoDB. это займет 10 минут, и это отличный способ начать работу с noSQL!
http://www.mongodb.org/ (нажмите "попробовать" )
Ответ 5
y_serial записывается как один модуль Python, который читается как рабочий учебник и содержит множество советов и ссылок: http://yserial.sourceforge.net/
Это рассматривает перспективы сохранения произвольного объекта Python (например, структуры данных словаря) в методе "NoSQL" (не только SQL).
Ответ 6
В Infoq Графические базы данных, NOSQL и Neo4j
Ответ 7
Если вам нравится Neo4j, посмотрите эту прохладную презентацию
Ответ 8
Отличный учебник по CouchDB: http://net.tutsplus.com/tutorials/getting-started-with-couchdb/
Ответ 9
Вот мои ресурсы NoSQL:
Учебник для начинающих для nosql: http://www.tutorialindustry.com/nosql-tutorial-for-beginners
для MongoDB: http://www.tutorialindustry.com/mongodb-tutorial-for-beginners
для CouchDB: http://www.tutorialindustry.com/couchdb-tutorial-for-beginners
для Redis: http://www.tutorialindustry.com/redis-tutorial-for-beginners