5 ответов:
посмотреть следующие ссылки
- CouchDB Vs MongoDB
- MongoDB, CouchDB, MySQL Compare Grid
- MongoDB или CouchDB-подходят для производства?
обновление: я нашел большое сравнение NoSQL базы данных.
MongoDB (3.2)
- написано на языке: C++
- главное: документ JSON магазин
- лицензия: AGPL (драйверы: Apache)
- протокол: пользовательский, двоичный (BSON)
- репликация Master/slave (автоматическая отработка отказа с наборами реплик)
- Sharding встроенный
- запросы являются выражениями javascript
- запуск произвольных функций javascript на стороне сервера
- имеет геопространственную индексацию и запросы
- несколько двигателей хранения с различными рабочими характеристиками
- производительность особенности
- проверка документов
- журнала
- мощная структура агрегации
- на 32-битных системах, ограничиваясь ~2,5 Гб
- поиск по тексту интегрированного
- GridFS для хранения больших данных + метаданных (на самом деле не FS)
- Центр Обработки Данных в курсе
лучше использовать: Если вам нужны динамические запросы. Если вы предпочитаете определять индексы, а не сопоставлять/уменьшать функции. Если вам нужна хорошая производительность на больших ДЕЦИБЕЛ. Если вы хотели CouchDB, но ваши данные слишком сильно меняются, заполняя диски.
: для большинства вещей, которые вы бы сделали с MySQL или PostgreSQL, но наличие предопределенных столбцов действительно удерживает вас.
CouchDB (1.2)
- написано на: Erlang
- главное: последовательность БД, простота в использовании
- Лицензия: Apache
- протокол: HTTP / REST
- двунаправленный (!) тиражирование,
- непрерывный или специальный,
- с обнаружением конфликтов,
- таким образом, мастер-мастер репликации. (!)
- MVCC - операции записи не блокируют чтение
- предыдущие версии документов доступны
- Crash-only (надежный) дизайн
- нуждается в уплотнении время от времени
- просмотры: встроенная карта / уменьшить
- форматирование представлений: списки и шоу
- документ на стороне сервера проверка возможна
- возможные проверки подлинности
- обновления в реальном времени через '_changes' (!)
- обработка вложений
- таким образом, CouchApps (автономные приложения js)
лучше использовать: для накопления, иногда изменяющихся данных, на которых должны выполняться предопределенные запросы. Места, где важно управление версиями.
: CRM, CMS системы. Мастер-мастер репликации является особенно интересная функция, позволяющая легко развертывать несколько сайтов.
Если вы пришли из мира MySQL, MongoDB будет "чувствовать" гораздо более естественным для вас из-за его поддержки языка запросов.
Я думаю, что это делает его таким удобным для многих людей.
CouchDB является фантастическим, если вы хотите использовать действительно большую поддержку репликации master-master с настройкой нескольких узлов, возможно, в разных центрах обработки данных или что-то в этом роде.
репликация MongoDB (наборы реплик) является master-slave-slave-slave - * setup, вы можете только писать на мастер в наборе реплик и читать из любого из них.
для стандартной конфигурации сайта, это нормально. Он очень хорошо отображает использование MySQL.
но если вы пытаетесь создать глобальную службу, такую как CDN, которая должна синхронизировать все глобальные узлы, даже если чтение/запись для всех из них, что-то вроде репликации в CouchDB будет огромным благом для вас.
в то время как MongoDB имеет запрос-как язык, который вы можете использовать и чувствует себя очень интуитивным, CouchDB принимает подход "map-reduce" и это концепции представлений. Сначала это кажется странным, но по мере того, как вы привыкаете к этому, он действительно начинает чувствовать себя интуитивно.
вот краткий обзор, так что это имеет смысл:
- CouchDB хранит все ваши данные в b-tree
- вы не можете "запросить" его динамически с чем-то вроде "SELECT * FROM user WHERE..."
- вместо этого вы определяете дискретный "просмотры" ваших данных... "вот представление всех моих пользователей", "вот представление всех пользователей старше 10", "вот представление всех пользователей старше 30" и так далее.
- эти представления определяются с использованием подхода map-reduce и определяются как функции JavaScript.
- когда вы определяете представление, БД начинает подавать все документы БД, которым вы назначили представление, через него и записывать результаты ваших функций в качестве "индекса" для этих данных.
- есть некоторые основные запросы, которые вы можете сделать на представлениях, такие как запрос определенного ключа (ID) или диапазона идентификаторов, независимо от того, что делает ваша функция map/reduce.
- прочитать эти слайды, это лучшее разъяснение карты / уменьшить в диване, который я видел.
таким образом, оба этих источника используют документы JSON, но CouchDB следует этому более "каждый сервер является мастером и может синхронизироваться с миром" подход, который является фантастическим, если вам это нужно, в то время как MongoDB действительно MySQL из мира NoSQL.
Так что если это больше похоже на то, что вам нужно/хотите, пойти на это.
небольшие различия, такие как двоичный протокол Монго против спокойного интерфейса CouchDB, - это все незначительные детали.
Если вы хотите сырой скорости и к черту безопасность данных, вы можете сделать Монго работать быстрее, чем CouchDB, как вы можете сказать ему работать из памяти и не фиксировать вещи на диск, за исключением редких интервалов.
вы можете сделать то же самое с кушеткой, но это протокол связи на основе HTTP будет в 2-4 раза медленнее, чем необработанная двоичная связь с Mongo в этой "скорости по всему!" сценарий.
имейте в виду, что raw crazy insane speed бесполезен, если сбой сервера или сбой диска развращает и забывает вашу БД, так что точка данных не так удивительна, как может показаться (если вы не делаете торговые системы в реальном времени на Уолл-Стрит, в этом случае посмотрите на Redis).
надеемся, что все помогает!
в настоящее время на рынке существует гораздо больше баз данных NoSQL, чем когда-либо прежде. Я предлагаю даже взглянуть на Gartner Magic Quadrant, если вы ищете базу данных, которая также будет отлично подходит для корпоративных приложений, основанных на поддержке, расширении, управлении и стоимости.
http://www.gartner.com/technology/reprints.do?id=1-23A415Q&ct=141020&st=sb
Я хотел бы предложить Couchbase всем, кто еще не пробовал, но не на основе версия, которая показана в отчете (2.5.1), потому что это почти 2 ревизии позади того, где CB Server находится сегодня, приближаясь к выпуску 4.0 в 2H15.
http://www.couchbase.com/coming-in-couchbase-server-4-0
другая часть о Couchbase как поставщике / продукте заключается в том, что это многофункциональный тип БД. Он может выступать в качестве чистого хранилища K/ V, ориентированной на документы базы данных с многомерным масштабированием, Memcached, cache-aside с сохранением и поддерживает ANSI 92 совместимый SQL с автоматическими соединениями, репликацией в кластеры DR одним нажатием кнопки и даже имеет встроенный в экосистему мобильный компонент.
Если ничего другого, стоит проверить последние тесты:
http://info.couchbase.com/Benchmark_MongoDB_VS_CouchbaseServer_HPW_BM.html http://info.couchbase.com/NoSQL-Technical-Comparison-Report.html
Edureka видео в youtube относительно NoSQL являются одними из лучших видео-уроков. Я начал с MongoDb & Cassandra после просмотра этих видео.
https://www.youtube.com/watch?v=gJFG04Sy6NY https://www.youtube.com/watch?v=KSq6tMMXZ8s https://www.youtube.com/watch?v=3z1KFA2qcSoхорошие презентации доступны в slideshare.net
http://www.slideshare.net/quipo/nosql-databases-why-what-and-when?qid=3bb9f7f6-a53d-41b1-8403-cd6f181d0ca7&v=qf1&b=&from_search=1 http://www.slideshare.net/EdurekaIN/no-sql-databases-35591065?qid=f1b9c095-6d70-4d0a-91da-1df664c4f389&v=qf1&b=&from_search=3презентация Edureka в slideshare-это расширение видео в youtube. Вы можете рассматривать эту презентацию как резюме видео youtube.
Comments