2013-08-05 15 views

risposta

5

Solo per motivi di archiviazione, è possibile memorizzare qualsiasi cosa in HDFS. Ma non ha alcun senso. Prima di tutto, non dovresti pensare a Hadoop come a un sostituto del tuo RDBMS (che stai cercando di fare qui). Entrambi sono pensati per scopi completamente diversi. Hadoop non è adatto per le tue esigenze transazionali, relazionali o in tempo reale. Era pensato per soddisfare le tue esigenze di elaborazione batch offline. Quindi, è meglio analizzare correttamente il caso d'uso e poi congelare la tua decisione.

Come suggerimento vorrei indirizzarvi allo Hive. Fornisce funzionalità di archiviazione in aggiunta al cluster Hadoop esistente. Fornisce anche un'interfaccia simile a SQL al tuo magazzino, che renderà la tua vita molto più semplice se provieni da sfondo SQL. Ma ancora, Hive è anche un sistema di elaborazione in batch e non è una buona idea se hai bisogno di qualcosa in tempo reale.

Si può dare un'occhiata a HBase però, come suggerito da abhinav. È un DB che può essere eseguito sul tuo cluster Hadoop e ti fornisce accesso in lettura/scrittura casuale ai tuoi dati in tempo reale. Ma dovresti tenere presente che è un db NoSQL. Non segue le terminologie e le convenzioni SQL. Quindi, potresti trovarlo inizialmente un po 'alieno. Potrebbe essere necessario pensare a problemi come come memorizzare i dati in un nuovo stile di archiviazione (colonnare) a differenza dell'archiviazione stile di riga del tuo RDBMS. Altrimenti non è un problema impostarlo e usarlo.

HTH

0

Qualsiasi file può essere memorizzato in HDFS. Ma se vuoi un DB di tipo SQL devi andare per HBASE. Se archivi i tuoi dati direttamente in HDFS non sarai in grado di memorizzare la razionalità.

+1

È necessario aggiungere il modo in cui è possibile memorizzare i dati relazionali in uno spazio colonnare come HBase. –

Problemi correlati