Forskellen mellem HBase og Hive

HBase og Hive er begge Hadoop-baserede datalagerstrukturer, der adskiller sig markant med hensyn til, hvordan de gemmer og forespørger data. Håndtering og behandling af enorme mængder webbaserede data bliver stadig vanskeligere via konventionelle databasestyringsværktøjer. Det er her HBase kommer til billedet. HBase er et foretrukket valg at håndtere store mængder data. For eksempel, hvis du har brug for at filtrere gennem et stort lager af e-mails for at trække en ud til revision eller til ethvert andet formål, vil dette være en perfekt brugssag til HBase. Hive er på den anden side mere som et traditionelt datalagerrapporteringssystem, der kører oven på Hadoop. Hive tilbyder et SQL-lignende forespørgselssprog, der giver dig mulighed for at forespørge de semistrukturerede data, der er gemt i Hadoop. Dette kræver den unødvendige indsats for at skulle skrive MapReduce-kode. Selvom både HBase og Hive bruges som datalagre til at gemme ustrukturerede data, er de forskellige.

Hvad er Hbase?

HBase er et open source, ikke-relationelt databasestyringssystem inspireret af Googles Big Table-arkitektur og skrevet i Java. HBase er grundlæggende en søjleorienteret, distribueret NoSQL-database, der kører oven på Hadoop Distribueret filsystem (HDFS). Det er designet og udviklet af mange ingeniører inden for rammerne af Apache Software Foundation. Den sidder på Apache Hadoop og drives af en fejltolerant distribueret filstruktur kendt som HDFS. Det giver en måde at gemme sparsomme datasæt, som er almindelige i tilfælde af big data-brug. Det giver hurtig aflæsning af tilfældig adgangsdata fra store mængder data baseret på nøgleværdierne. Det er dog ikke designet til at udføre sammenlægninger af dataene.

Hvad er Hive?

Hive er ikke nøjagtigt en database, men en datalagringspakke bygget oven på Hadoop. Hive er en anden teknologi end HBase; det strukturerer dataene i et sæt tabeller, der kan kobles sammen, aggregeres og spørges efter ved hjælp af et forespørgselssprog kaldet Hive Query Language (HQL), der ligner meget SQL, der bruges til batchbehandling af big data. Det giver dig mulighed for at forespørge de semistrukturerede data, der er gemt i Hadoop, som til sidst omdannes til et MapReduce-job, der udføres enten lokalt eller på en distribueret MapReduce-klynge. Hive er dybest set et datavarehussystem til Hadoop, der letter let dataopsummering, ad-hoc forespørgsler og analyse af store datasæt, der er gemt i Hadoop-kompatible filsystemer. Data kan læses og skrives fra Hive og HBase og vice versa. Det kan dog ikke bruges til realtidsbehandling af data.

Forskel mellem HBase og Hive

Teknologi

- Selvom HBase og Hive begge er Hadoop-baserede datalagerstrukturer, der bruges til at lagre og behandle store mængder data, adskiller de sig markant med hensyn til, hvordan de lagrer og forespørger data. HBase er grundlæggende en søjleorienteret, distribueret NoSQL-database, der kører oven på Hadoop Distribueret filsystem (HDFS) og giver en fejltolerant måde at gemme sparsomme datasæt, som er almindelige i tilfælde af big data-brug. Hive er på den anden side ikke nøjagtigt en database, men en datalagerpakke bygget oven på Hadoop. Hive ligner mere et traditionelt rapporteringssystem for datalager.

Arkitektur

- HBase er en NoSQL-database og en open-source-implementering af Googles Big Table-arkitektur, der sidder på Apache Hadoop og drevet af en fejletolerant distribueret filstruktur kendt som HDFS. Det er en skalerbar opbevaringsløsning til at rumme en næsten uendelig mængde data. Det er en datalagringsarkitektur, der bruges til at gemme ustrukturerede data. Hive er på den anden side en SQL-motor bygget oven på HDFS og udnytter MapReduce internt, hvilket tillader forespørgsel om data, der er gemt på HDFS via et SQL-lignende forespørgselssprog kaldet HQL (Hive Query Language).

Brug

- HBase bruges til at opbygge et billigt, fleksibelt og let at vedligeholde flislagstjenester - Hadoop-baseret geografisk informationssystem (HBGIS) - for massiv datalagring. Det er et on-disk kolonnelagringsformat, der giver en måde at gemme sparsomme datasæt, som er almindelige i tilfælde af big data-brug. Det giver hurtig aflæsning af tilfældig adgangsdata fra store mængder data baseret på nøgleværdierne. Hive er på den anden side en standard for SQL-forespørgsler over petabytes af data i Hadoop og tilvejebringer et SQL-lignende forespørgselssprog kaldet HQL til forespørgsel om data, der er gemt i en Hadoop-klynge.

HBase vs. Hive: Sammenligningstabel

Resumé

Selvom HBase og Hive begge er Hadoop-baserede datalagerstrukturer, der bruges til at lagre og behandle store mængder data, adskiller de sig markant med hensyn til, hvordan de lagrer og forespørger data. HBase er et søjleorienteret databasestyringssystem, der bruges til massiv datalagring og giver en måde at gemme sparsomme datasæt, som er almindelige i flere tilfælde af store datanvendelser. Hive er på den anden side mere som et traditionelt datalager-rapporteringssystem, der er bygget ovenpå Hadoop, der bruges til at køre behandling gennem tidsplanjobber og derefter indlæse resultaterne i en oversigtstypetabel, der kan spørges yderligere om af klientapplikationer.