Я повний ноб, коли мова йде про рух NoSQL. Я чув багато про MongoDB та CouchDB. Я знаю, що між ними є відмінності. Якому ви рекомендуєте вчитися як перший крок у світ NoSQL?
Я повний ноб, коли мова йде про рух NoSQL. Я чув багато про MongoDB та CouchDB. Я знаю, що між ними є відмінності. Якому ви рекомендуєте вчитися як перший крок у світ NoSQL?
Відповіді:
Дивіться наступні посилання
Оновлення : Я знайшов чудове порівняння баз даних NoSQL .
MongoDB (3.2)
Найкраще : якщо вам потрібні динамічні запити. Якщо ви віддаєте перевагу визначенню індексів, а не відображення / зменшення функцій. Якщо вам потрібна хороша продуктивність у великій БД. Якщо ви хотіли CouchDB, але ваші дані занадто сильно змінюються, заповнюючи диски.
Наприклад : для більшості речей, які ви б зробили з MySQL або PostgreSQL, але попередньо визначені стовпці насправді стримують вас.
CouchDB (1.2)
Найкраще використовувати : для накопичення, періодично змінюючих даних, на яких слід заздалегідь задати запити. Місця, де важлива версія.
Наприклад : CRM, CMS системи. Реплікація Master-master - особливо цікава функція, що дозволяє легко розгортати багато сайтів.
Якщо ви приїжджаєте зі світу MySQL, MongoDB "почуватиметься" набагато природніше для вас через мовну підтримку, подібну до запитів.
Я думаю, що саме це робить його таким дружнім для багатьох людей.
CouchDB є фантастичним, якщо ви хочете використовувати дійсно чудову підтримку реплікації master-master за допомогою множинного вузла, можливо, в різних центрах обробки даних чи щось подібне.
Реплікація MongoDB (набори реплік) - це параметр master-slave-slave-slave- *, ви можете писати майстру лише в наборі реплік і читати з будь-якого з них.
Для стандартної конфігурації сайту це добре. Це дуже добре відображає використання MySQL.
Але якщо ви намагаєтесь створити глобальну службу на зразок CDN, яка повинна підтримувати всі глобальні вузли синхронізованими, навіть незважаючи на те, що їх читають / записують, щось на зразок реплікації в CouchDB стане для вас величезною користю.
Незважаючи на те, що у MongoDB є мова, що нагадує запит, яку ви можете використовувати, і ви відчуваєте себе дуже інтуїтивно, CouchDB використовує підхід "зменшити карту" та це поняття поглядів. Спочатку це здається дивним, але, коли ви причасуєтесь до цього, він справді починає відчувати інтуїтивність.
Ось короткий огляд, і це має певний сенс:
Отже, обидва ці джерела використовують документи JSON, але CouchDB дотримується цього більше "кожен сервер є майстром і може синхронізуватися зі світом", підхід, який є фантастичним, якщо вам це потрібно, в той час як MongoDB - це справді MySQL світу NoSQL.
Отже, якщо це звучить більше як те, що вам потрібно / хочете, продовжуйте це.
Невеликі розбіжності, як двійковий протокол Монго проти RESTful інтерфейс CouchDB, - це незначні деталі.
Якщо ви хочете отримати швидку швидкість і, до пекла, безпеку даних, ви можете змусити Mongo працювати швидше, ніж CouchDB, оскільки ви можете сказати, що він працює з пам'яті і не вводить речі на диск, за винятком обмежених інтервалів.
Ви можете зробити те ж саме з Couch, але це протокол зв'язку на основі HTTP буде в 2-4 рази повільніше, ніж необроблений бінарний зв’язок з Mongo у цій "швидкості за все!" сценарій.
Майте на увазі, що неочищена божевільна швидкість є марною, якщо збій сервера або збій диска псується і відганяє ваш БД у забуття, так що точка даних не така дивна, як може здатися (якщо ви не займаєтеся реальними торговими системами на стіні Вулиця, в такому випадку подивіться на Redis).
Сподіваюся, що все допомагає!
Зараз на ринку існує набагато більше баз даних NoSQL, ніж будь-коли раніше. Я пропоную навіть поглянути на магічний квадрант Gartner, якщо ви шукаєте базу даних, яка також буде чудовою для корпоративних програм на основі підтримки, розширюваності, управління та витрат.
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, кеш-пам'ять з наполегливістю і підтримує сумісний з ANSI 92 SQL з автоматичним приєднанням, реплікація в кластери DR натисканням кнопки та навіть має мобільний компонент, вбудований в екосистему.
Якщо нічого іншого, варто перевірити останні показники:
http://info.couchbase.com/Benchmark_MongoDB_VS_CouchbaseServer_HPW_BM.html http://info.couchbase.com/NoSQL-Technical-Comppare-Report.html