Jestem kompletnym noobem, jeśli chodzi o ruch NoSQL. Wiele słyszałem o MongoDB i CouchDB. Wiem, że są między nimi różnice. Którą naukę polecasz jako pierwszy krok do świata NoSQL?
Jestem kompletnym noobem, jeśli chodzi o ruch NoSQL. Wiele słyszałem o MongoDB i CouchDB. Wiem, że są między nimi różnice. Którą naukę polecasz jako pierwszy krok do świata NoSQL?
Odpowiedzi:
Zobacz poniższe linki
Aktualizacja : Znalazłem świetne porównanie baz danych NoSQL .
MongoDB (3,2)
Najlepiej używane : jeśli potrzebujesz dynamicznych zapytań. Jeśli wolisz definiować indeksy, nie mapuj / zmniejszaj funkcje. Jeśli potrzebujesz dobrej wydajności na dużej bazie danych. Gdybyś chciał CouchDB, ale twoje dane zbytnio się zmieniają, zapełniając dyski.
Na przykład : w przypadku większości rzeczy, które zrobiłbyś z MySQL lub PostgreSQL, ale posiadanie wstępnie zdefiniowanych kolumn naprawdę cię powstrzymuje.
CouchDB (1.2)
Najlepiej używane : do gromadzenia, okazjonalnie zmieniających się danych, na których mają być uruchamiane predefiniowane zapytania. Miejsca, w których przechowywanie wersji jest ważne.
Na przykład : CRM, systemy CMS. Szczególnie interesującą funkcją jest replikacja typu master-master, która umożliwia łatwe wdrażanie w wielu lokalizacjach.
Jeśli pochodzisz ze świata MySQL, MongoDB będzie dla Ciebie o wiele bardziej naturalne dzięki obsłudze języka podobnego do zapytań.
Myślę, że to właśnie sprawia, że jest tak przyjazny dla wielu ludzi.
CouchDB jest fantastyczny, jeśli chcesz wykorzystać naprawdę świetne wsparcie replikacji typu master-master z konfiguracją wielowęzłową, prawdopodobnie w różnych centrach danych lub coś w tym rodzaju.
Replikacja MongoDB (zestawy replik) to konfiguracja master-slave-slave-slave- *, możesz tylko zapisywać do mastera w zestawie replik i czytać z dowolnego z nich.
W przypadku standardowej konfiguracji witryny jest to w porządku. Bardzo dobrze odwzorowuje użycie MySQL.
Ale jeśli próbujesz stworzyć globalną usługę, taką jak CDN, która musi synchronizować wszystkie globalne węzły, nawet jeśli odczyt / zapis do nich wszystkich, coś takiego jak replikacja w CouchDB będzie dla ciebie ogromnym dobrodziejstwem.
Podczas gdy MongoDB ma język podobny do zapytań, którego można używać i który jest bardzo intuicyjny, CouchDB przyjmuje podejście „zmniejszania mapy” i takie koncepcje widoków. Na początku wydaje się to dziwne, ale kiedy już to zrozumiesz, naprawdę zaczyna wydawać się intuicyjne.
Oto krótki przegląd, więc ma to jakiś sens:
Tak więc oba te źródła używają dokumentów JSON, ale CouchDB podąża za podejściem „każdy serwer jest mistrzem i może synchronizować się ze światem”, co jest fantastyczne, jeśli jest to potrzebne, podczas gdy MongoDB jest naprawdę MySQL świata NoSQL.
Więc jeśli to brzmi bardziej jak to, czego potrzebujesz / chcesz, idź do tego.
Drobne różnice, takie jak protokół binarny Mongo i interfejs RESTful CouchDB, to drobne szczegóły.
Jeśli chcesz surowego szybkość i do diabła z bezpieczeństwem danych, to można dokonać Mongo szybciej niż CouchDB jak można powiedzieć to działać z pamięci i nie popełnić rzeczy na dysku z wyjątkiem rzadkich odstępach czasu.
Możesz zrobić to samo z Couch, ale jego protokół komunikacyjny oparty na HTTP będzie 2-4x wolniejszy niż nieprzetworzona komunikacja binarna z Mongo w tej "prędkości ponad wszystko!" scenariusz.
Pamiętaj, że surowa szalona szalona prędkość jest bezużyteczna, jeśli awaria serwera lub awaria dysku zepsuje i wznieci twoją bazę danych w zapomnienie, więc punkt danych nie jest tak niesamowity, jak mogłoby się wydawać (chyba że robisz systemy handlu w czasie rzeczywistym na Wall Ulica, w takim przypadku spójrz na Redis).
Mam nadzieję, że to wszystko pomoże!
Obecnie na rynku jest o wiele więcej baz danych NoSQL niż kiedykolwiek wcześniej. Sugeruję nawet przyjrzenie się Gartnerowi Magic Quadrant, jeśli szukasz bazy danych, która będzie również świetna do aplikacji korporacyjnych w oparciu o wsparcie, możliwości rozbudowy, zarządzanie i koszty.
http://www.gartner.com/technology/reprints.do?id=1-23A415Q&ct=141020&st=sb
Chciałbym zasugerować Couchbase każdemu, kto jeszcze go nie wypróbował, ale nie w oparciu o wersję, która jest pokazana w raporcie (2.5.1), ponieważ jest prawie 2 wersje za tym, co obecnie znajduje się CB Server, zbliżając się do wydania 4.0 w drugiej połowie 2015 r. .
http://www.couchbase.com/coming-in-couchbase-server-4-0
Inną częścią dotyczącą Couchbase jako dostawcy / produktu jest to, że jest to baza danych wielokrotnego użytku. Może działać jako czysty magazyn K / V, baza danych zorientowana na dokumenty ze skalowaniem wielowymiarowym, pamięć podręczna, pamięć podręczna z trwałością i obsługuje SQL zgodny z ANSI 92 z automatycznymi łączeniami, replikacją do klastrów DR za naciśnięciem przycisku i ma nawet element mobilny wbudowany w ekosystem.
Jeśli nic więcej, warto sprawdzić najnowsze testy porównawcze:
http://info.couchbase.com/Benchmark_MongoDB_VS_CouchbaseServer_HPW_BM.html http://info.couchbase.com/NoSQL-Technical-Comparison-Report.html