I want to know the relationship between HDFS and databases.
Nie ma relation
jako takie między 2. Jeśli nadal chcesz znaleźć jakieś podobieństwa, jedyną rzeczą, która jest wspólna między 2 jest przepis store
danych. Jest to jednak analogiczne do kombinacji FS i DB. Na przykład MySQL i ext3. Mówisz, że przechowujesz dane w MySQL, ale ostatecznie twoje dane są zapisywane na twoim FS. Zazwyczaj użytkownicy korzystają z baz NoSQL, takich jak HBase, na klastrze Hadoop, aby wykorzystać równoległość i rozproszone zachowanie zapewniane przez HDFS.
Is it always necessary that to use HDFS, the data be in a some NoSQL format?
Tak naprawdę nie ma to jak NoSQL format
. Można użyć HDFS dla każdego rodzaju danych, tekstu, dwójkowy, XML itp itd
Is there a specific database that always comes attached when using HDFS?
nr Jedyną rzeczą, która przychodzi w połączeniu z HDFS jest MapReduce framework
. Można oczywiście utworzyć bazę danych do pracy z HDFS. Ludzie często korzystają z NoSQL DB na HDFS. Istnieje kilka opcji, takich jak Cassandra, HBase itp. To jest całkowicie do wyboru, którego z nich użyć.
Can I use a relational database as the native database for Hadoop?
Nie ma funkcji OOTB, która to umożliwia.Ponadto nie ma większego sensu używanie RDBMS z Hadoop. Hadoop został opracowany na czas, gdy RDBMS nie jest odpowiednią opcją, jak obsługa PBs danych, obsługa niestrukturalnych danych itp. Powiedziawszy to, nie możesz myśleć o Hadoop jako zamiennik RDBMB. Oba mają zupełnie inne cele.
Edycja:
Normalnie ludzie użyciu NoSQL DB (jak HBase, Kasandryjską) z Hadoop. Używanie tych DB z hadoop jest tylko kwestią konfiguracji. Nie potrzebujesz żadnego programu łączącego, aby to osiągnąć. Oprócz kwestii stworzonej przez @Doctor Dan, istnieje kilka innych powodów, dla których warto wybrać DB NoSQL zamiast DB SQL. Jedna rzecz to size
. Te bazy danych NoSQL zapewniały dużą poziomą skalibilność, która umożliwia łatwe przechowywanie danych PB. Można skalować tradycyjne systemy, ale w pionie. Innym powodem jest complexity
danych. Miejsca, w których używane są te bazy danych, obsługują w większości wysoce nieustrukturyzowane dane, co nie jest łatwe w obsłudze tradycyjnych systemów. Na przykład dane czujników, dane dziennika itp.
Zasadniczo nie rozumiem, dlaczego istnieje SQOOP. Dlaczego nie możemy bezpośrednio użyć danych SQL na Hadoop, używając .
Chociaż Hadoop jest bardzo dobry w obsłudze Twoich potrzeb BigData, nie jest rozwiązaniem wszystkich Twoich potrzeb. Nie nadaje się do potrzeb w czasie rzeczywistym. Załóżmy, że jesteś firmą zajmującą się transakcjami online z bardzo dużym zbiorem danych. Dowiesz się, że możesz przetwarzać te dane bardzo łatwo za pomocą Hadoop. Problem polega jednak na tym, że nie możesz zaspokajać potrzeb klientów w czasie rzeczywistym za pomocą Hadoop. Tutaj pojawia się SQOOP. Jest to narzędzie importu/eksportu, które umożliwia przenoszenie danych między SQL DB i Hadoop. Możesz przenieść BigData do swojego klastra Hadoop, przetworzyć go tam, a następnie przekazać wyniki z powrotem do SQL DB przy użyciu SQOOP, aby zaspokajać potrzeby klientów w czasie rzeczywistym.
HTH
Pomaga. Dziękuję Ci. Nie brałem pod uwagę, że Hadoop replikuje dane - więc tak, to sprawia, że baza danych SQL jest niekompatybilna jako natywna baza danych, jak sądzę. – crossvalidator