Jak zdecydować, której technologii NoSQL użyć?

Jakie są zalety i wady MongoDB (oparty na dokumentach), HBase (oparty na kolumnach) i Neo4j (Wykres obiektów)?

Jestem szczególnie zainteresowany, aby poznać niektóre z typowych przypadków użycia dla każdego z nich.

Jakie są dobre przykłady problemów, które wykresy mogą rozwiązać lepiej niż alternatywa?

Może jakaś Prezentacja Slideshare lub Scribd?

Author: Community, 2010-09-17

7 answers

MongoDB

skalowalność: wysoce dostępna i spójna, ale do bani w relacjach i wielu rozproszonych zapisach. Podstawową korzyścią jest przechowywanie i indeksowanie dokumentów bez schematów. Rozmiar dokumentu jest ograniczony do 4 MB, a indeksowanie ma sens tylko w przypadku ograniczonej głębokości. Zobacz http://www.paperplanes.de/2010/2/25/notes_on_mongodb.html

najlepiej nadaje się do: struktur drzew o ograniczonej głębokości

Przypadki Użycia: Różne Hierarchie Typów, Systematyka Biologiczna, Katalogi Biblioteczne

Neo4j

skalowalność: wysoce dostępna, ale nie rozproszona. Potężne ramy trawersowe dla szybkich trawersów w przestrzeni węzłów. Ograniczone do Wykresów wokół kilku miliardów węzłów / relacji. Zobacz http://highscalability.com/neo4j-graph-database-kicks-buttox

najlepiej nadaje się do: głębokich Wykresów z nieograniczoną głębią i cyklicznymi, ważonymi połączeniami

Przypadki Użycia: Social Sieci, Analiza topologiczna, Semantic Web Data, wnioskowanie

HBase

skalowalność: niezawodne, spójne Przechowywanie w petabajtach i nie tylko. Obsługuje bardzo dużą liczbę obiektów z ograniczonym zestawem rzadkich atrybutów. Współpracuje z Hadoop do dużych zadań przetwarzania danych. http://www.ibm.com/developerworks/opensource/library/os-hbase/index.html

najlepiej nadaje się do: ukierunkowanych, acyklicznych Wykresów

użycie Przypadki: Analiza logów, Semantic Web Data, Machine Learning

 48
Author: b7kich,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-11 19:16:10

Wiem, że to może wydawać się dziwne miejsce, na które warto zwrócić uwagę, ale Heroku ostatnio oszalało ze swoją ofertą noSQL i ma dobry przegląd wielu obecnych projektów. Nie jest to w żaden sposób prasa Slideshare, ale pomoże Ci rozpocząć proces porównywania:

Http://blog.heroku.com/archives/2010/7/20/nosql/?utm_medium=email&utm_source=EmailBlast&utm_content=619506254&utm_campaign=HerokuSeptemberNewsletter-VersionB&utm_term=NoSQLHerokuandYou

 4
Author: Braden,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-17 13:51:42

Sprawdź to, aby na pierwszy rzut oka porównać NoSQL dbs:

Http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

 4
Author: Eddy Wong,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-30 15:16:08

Można również ocenić Multi-Model DBMS, jako drugą generację produktu NoSQL. Z Multi-Model nie masz wszystkich kompromisów w wyborze tylko jeden model, ale raczej więcej niż jeden model.

Pierwszy multi-model NoSQL to OrientDB.

 0
Author: Lvca,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-20 20:58:26

MongoDB:

MongoDB jest bazą dokumentów w przeciwieństwie do relacyjnej bazy danych. Dokument przechowuje częściowo ustrukturyzowane dane, takie jak obiekt JSON (bez schematu)

Najważniejsze cechy:

  1. schemat może zmieniać się w trakcie ewolucji aplikacji
  2. pełne indeksowanie
  3. [[13]}load balancing & Data sharding
  4. replikacja danych
  5. consistence & Partitioning in Cap theory (consistence-Availability-Partitioning)

Kiedy używać:

  1. analiza czasu rzeczywistego
  2. Szybkie logowanie
  3. Semi structured data management

Kiedy nie używać:

  1. wysoce transakcyjne aplikacje o silnych właściwościach kwasowych (Atomiczność, konsystencja, izolacja i trwałość). RDBMS jest preferowany w tym przypadku użycia.
  2. operowanie na zbiorach danych obejmujących relacje-klucze obce etc

HBASE:

HBase jest otwartoźródłową, nie relacyjną, rozproszoną bazą danych rodziny kolumn

Najważniejsze cechy:

  1. zapewnia odporny na błędy sposób przechowywanie dużych ilości danych (małe ilości informacji przechwyconych w dużym zbiorze pustych lub nieistotnych danych, takich jak znalezienie 50 największych pozycji w grupie 2 miliardów rekordów lub znalezienie niezerowych pozycji reprezentujących mniej niż 0,1% ogromnej kolekcji)
  2. obsługuje schemat zmiennych, gdzie każdy wiersz jest inny
  3. Może służyć jako wejście i wyjście dla zadania MapReduce
  4. Kompresja, obsługa w pamięci i filtry Bloom na kolumnie (struktura danych zaprojektowana, aby szybko i efektywnie informować, czy element jest obecny w zbiorze) 5.Osiągnij CP na czapce

kiedy stosować HBase:

  1. Jeśli wczytywasz dane według klucza, wyszukujesz dane według w 2011 roku firma została założona przez firmę Microsoft.]}
  2. przechowywanie danych w wierszu, który nie jest dobrze zgodny ze schematem (schemat zmiennej)

Kiedy nie stosować HBase:

  1. do analizy relacyjnej
  2. pełne skany tabeli
  3. dane do zagregowania, analizowane za pomocą wierszy zamiast kolumn

Neo4j:

Neo4j to grafowa baza danych wykorzystująca model danych Graph (dane są przechowywane jako Graf i węzły & relacje z właściwościami)

Najważniejsze cechy:

  1. wspiera pełne Zasady kwasowości (Atomiczność, konsystencja, izolacja i trwałość)
  2. obsługuje indeksy za pomocą Apache Lucence
  3. projektowanie modelu danych metodą oddolną
  4. wysoka skalowalność została osiągnięta dzięki kompaktowej pamięci masowej i buforowaniu pamięci dostępnej dla Wykresów

Kiedy używać:

  1. zarządzanie danymi podstawowymi
  2. sieć i operacje IT
  3. zalecenia w czasie rzeczywistym
  4. wykrywanie oszustw
  5. Social network (like facebook)

Kiedy nie używać:

  1. zbiorcze zapytania / skany
  2. Jeśli aplikacja wymaga partycjonowania i dzielenia danych

Spójrz na porównanie różnych technologii NoSQL w tym artykuł

Źródła:

Wiki, Slide share , Cloudera,Tutoriale Point,Neo4j

 0
Author: Ravindra babu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-16 18:53:36

Oto kilka rzeczy do rozważenia-model obiektowy, indeksy wtórne, skalowalność zapisu, wysoka dostępność itp.

Mam wpis na blogu, który wyjaśnia wysokie różnice strategiczne między mongodb i Cassandrą tutaj - https://scalegrid.io/blog/cassandra-vs-mongodb/

 0
Author: Dharshan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-14 02:31:21

Całkiem przyzwoity artykuł o MongoDB i NoRM (rozszerzenia. NET dla MongoDB) http://lukencode.com/2010/07/09/getting-started-with-mongodb-and-norm/

 -1
Author: Christopher Klein,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-17 13:44:29