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?
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
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:
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:
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.
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:
- schemat może zmieniać się w trakcie ewolucji aplikacji
- pełne indeksowanie [[13]}load balancing & Data sharding
- replikacja danych
- consistence & Partitioning in Cap theory (consistence-Availability-Partitioning)
Kiedy używać:
- analiza czasu rzeczywistego
- Szybkie logowanie
- Semi structured data management
Kiedy nie używać:
- wysoce transakcyjne aplikacje o silnych właściwościach kwasowych (Atomiczność, konsystencja, izolacja i trwałość). RDBMS jest preferowany w tym przypadku użycia.
- 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:
- 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)
- obsługuje schemat zmiennych, gdzie każdy wiersz jest inny Może służyć jako wejście i wyjście dla zadania MapReduce
- 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:
- Jeśli wczytywasz dane według klucza, wyszukujesz dane według w 2011 roku firma została założona przez firmę Microsoft.]}
- przechowywanie danych w wierszu, który nie jest dobrze zgodny ze schematem (schemat zmiennej)
Kiedy nie stosować HBase:
- do analizy relacyjnej
- pełne skany tabeli
- 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:
- wspiera pełne Zasady kwasowości (Atomiczność, konsystencja, izolacja i trwałość)
- obsługuje indeksy za pomocą Apache Lucence
- projektowanie modelu danych metodą oddolną
- 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ć:
- zarządzanie danymi podstawowymi
- sieć i operacje IT
- zalecenia w czasie rzeczywistym
- wykrywanie oszustw
- Social network (like facebook)
Kiedy nie używać:
- zbiorcze zapytania / skany
- 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
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/
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/
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