NoSQL i RDBMS razem?

13

Zastanawiałem się, czy istnieją jakieś dobre rozwiązania do rejestrowania danych w bazie danych NoSQL, a następnie konwersji ich na RDBMS?

Na przykład, jeśli chcesz szybko przechwycić niektóre dane, takie jak dzienniki sesji, ale chcesz później móc tworzyć na ich podstawie raporty.

Moja ulubiona baza danych to Postgres, więc jeśli Twoja odpowiedź jest odpowiednia w Postgres, byłoby świetnie.

Joe
źródło
W tym momencie postgres ma rozszerzenia xml, json natywnie i gis oraz hstore (klucz, wartość). Bardzo mała potrzeba bazy danych nosql, jeśli używasz Postgres.
ksenoterracid
To powiedziawszy wzór cqrs ma na celu ułatwić twoje pytanie
ksenoterracid

Odpowiedzi:

10

Szybka odpowiedź - tak. Dzieje się cały czas.

Istnieje wiele dobrych rozwiązań. Jakie rozwiązania są już w twoim środowisku? Pomagam jednemu klientowi, który pobiera informacje o aktywności na swojej stronie internetowej / sesji z aplikacji internetowej, zapisuje je w xml, a następnie deserializuje ten xml do Hadoop. Następnie używają Hive na platformie Hadoop do tworzenia agregacji i faktów (łącząc te dane dziennika, aby odwoływać się do danych z ich witryny internetowej, które przechowują w bazie danych Postgres). Te agregacje i fakty są następnie ładowane do RDBMS (używają SQL Server, ze względu na bogatą analizę dostarczaną w stosie SQL Server).

Chciałbym zbadać Hadoop, spojrzeć na Hive, który jest silnikiem zapytań na górze Hadoop, który pozwala pisać deklaratywne zapytania, które bardzo przypominają SQL i są tłumaczone na zadania MapReduce za kulisami. Następnie spójrz na Sqoop, które jest kolejnym narzędziem z rodziny Hadoop, które pomaga w eksportowaniu / importowaniu danych.

http://hadoop.apache.org/ http://www.amazon.com/Hadoop-Definitive-Guide-Tom-White/dp/1449389732/ref=sr_1_1?s=books&ie=UTF8&qid=1319160463&sr=1-1 http : //www.cloudera.com/blog/2009/06/introducing-sqoop/ http://hive.apache.org/

Istnieją też inne opcje ...

Mike Walsh
źródło
To bardzo kompletna odpowiedź. Nie brzmi to zbyt prosto, ale brzmi tak, jakby używało wielu fajnych technologii.
Joe
Cóż, nie jest to „proste” pod względem liczby elementów itp., Ale tak naprawdę nie jest tak skomplikowane, gdy zaczynasz. To, jakie narzędzie wybierzesz do elementów, zależy od tego, co masz w swoim otoczeniu i od tego, co jest dla ciebie wygodne. Spójrz na te linki, sprawdź link do rekomendacji książki.
Mike Walsh
4

Nie wszystkie NoSQL są takie same. Na przykład MongoDB ma bardzo dobre możliwości zapytań. bardzo łatwo jest pobierać dane, sortować dane w sposób przypominający SQL. Mówię więc, że nie powinieneś myśleć - SQL do raportowania, chyba że masz gotowe narzędzia, które oczywiście wymagają danych zgodnych z SQL. Niektóre inne NoSQL są nieco bardziej zaangażowane, jeśli chodzi o uzyskiwanie wyników podobnych do SQL z twojego sklepu, na przykład CouchDB, nie jest trywialne zdefiniowanie prostego zapytania typu klauzula gdzie. MongodDB - użyłem sterownika Python - jest bardzo prosty. Dlatego mniej ważne jest, aby martwić się o przeniesienie moich danych do sklepu relacyjnego.

Dantalion
źródło
3
Czy masz link lub powiązanie z MongoDB? Właśnie dołączyłem, cztery odpowiedzi, wszystkie bardzo pozytywne na temat MongoDB, które brzmią jak marketing. Być może masz rację, ale jest to kiepska forma, jeśli masz zainteresowanie ...
gbn
Najwyraźniej go tam wystraszyłeś GBN
jcolebrand