Abbiamo un grande archivio documenti attualmente in esecuzione a 3 TB nello spazio e aumenta di 1 TB ogni sei mesi. Sono attualmente memorizzati in un filesystem di Windows che a volte ha causato problemi in termini di accesso e recupero. Stiamo cercando di sfruttare un database di archivio di documenti basato su Haddop. È una buona idea andare avanti con Haddop? Qualcuno ha qualche esposizione allo stesso? Quali possono essere le sfide, i blocchi tecnologici nel raggiungere lo stesso?Hadoop come database archivio documenti
risposta
Hadoop è più per l'elaborazione in batch che l'accesso ai dati elevati. Dovresti dare un'occhiata ad alcuni sistemi NoSQL, come i database orientati ai documenti. Difficile rispondere senza sapere come sono i tuoi dati.
La regola numero uno per la progettazione NoSQL consiste nel definire innanzitutto gli scenari di query. Una volta compreso veramente come si desidera interrogare i dati, è possibile esaminare le varie soluzioni NoSQL disponibili. L'unità di distribuzione predefinita è la chiave. Quindi è necessario ricordare che è necessario essere in grado di dividere i dati tra le macchine nodo in modo efficace altrimenti si finirà con un sistema scalabile orizzontalmente con tutto il lavoro ancora fatto su un nodo (anche se le query migliori a seconda del caso).
È inoltre necessario ripensare al teorema di PAC, la maggior parte dei database NoSQL è consistente (CP o AP) mentre i DBMS relazionali tradizionali sono CA. Ciò influirà sul modo in cui gestisci i dati e sulla creazione di determinate cose, ad esempio la generazione delle chiavi può essere un trucco. Ovviamente i file in una cartella sono un po 'diversi.
Inoltre, si ricorda che in alcuni sistemi come HBase non esiste un concetto di indicizzazione (sto cercando di avere l'impostazione di indicizzazione dei file in questo archivio di documenti Windows FS). Tutti gli indici dovranno essere creati dalla logica dell'applicazione e tutti gli aggiornamenti e le eliminazioni dovranno essere gestiti come tali. Con Mongo puoi effettivamente creare indici su campi e interrogarli in tempi relativamente brevi, c'è anche la possibilità di integrare Solr con Mongo. Non devi solo eseguire una query per ID in Mongo come fai in HBase che è una famiglia di colonne (ovvero il database di stile di Google BigTable) in cui essenzialmente hai coppie di valore-chiave nidificate.
Quindi, ancora una volta si tratta dei dati, di ciò che si desidera archiviare, di come si prevede di memorizzarlo e, soprattutto, di come si desidera accedervi. Il progetto Lily sembra molto promettente. Il lavoro in cui sono coinvolto ci consente di prelevare una grande quantità di dati dal web e di memorizzarli, analizzarli, eliminarli, analizzarli, analizzarli, inviarli in streaming, aggiornarli ecc. Ecc. Non usiamo un solo sistema ma molti che sono più adatti per il lavoro a portata di mano. Per questo processo utilizziamo sistemi diversi in fasi diverse in quanto ci fornisce un accesso rapido dove ne abbiamo bisogno, offre la possibilità di trasmettere e analizzare i dati in tempo reale e, soprattutto, di tenere traccia di tutto mentre andiamo (come la perdita di dati in un prod il sistema è un grosso problema). Sto usando Hadoop, HBase, Hive, MongoDB, Solr, MySQL e anche buoni vecchi file di testo. Ricorda che la produzione di un sistema che utilizza queste tecnologie è un po 'più difficile dell'installazione di Oracle su un server, alcune versioni non sono così stabili ed è necessario eseguire prima i test.Alla fine della giornata dipende in realtà dal livello di resistenza degli affari e dalla natura mission-critical del vostro sistema.
Un altro percorso che nessuno ha finora menzionato è NewSQL - cioè RDBMS scalabili orizzontalmente ... Ce ne sono alcuni là fuori come il cluster MySQL (credo) e VoltDB che potrebbero essere adatti alla tua causa.Ma ancora a seconda dei tuoi dati (i file word docs o documenti di testo con informazioni su prodotti, fatture o strumenti o qualcosa del genere) ...
Anche in questo caso, i sistemi NoSQL sono anche non relazionali, cioè non relazionali. e ci sono per un seme migliore per i set di dati non relazionali. Se i tuoi dati sono intrinsecamente relazionali e hai bisogno di alcune funzionalità di query SQL che hanno realmente bisogno di fare cose come i prodotti cartesiani (ovvero i join), allora potresti star meglio di stare con Oracle e investire un po 'di tempo nell'indicizzazione, sharding e ottimizzazione delle prestazioni.
Il mio consiglio sarebbe di giocare effettivamente con alcuni sistemi diversi. Guarda a;
MongoDB - Documento - CP
CouchDB - Documento - AP
Cassandra - Famiglia Colonna - Disponibile & partizione tollerante (AP)
VoltDB - Un posto davvero un prodotto di bell'aspetto, un database di relazioni distribuito che potrebbe funzionare per il tuo caso (potrebbe essere più facile ve). Sembrano anche fornire un supporto alle imprese che potrebbe essere più adatto per un prodotto (cioè dare agli utenti aziendali un senso di sicurezza).
Qualsiasi sia il mio 2c. Giocare con i sistemi è davvero l'unico modo per scoprire cosa funziona davvero per il tuo caso.
Ottima risposta puoi dare qualsiasi risorsa per il database come prospettiva di ingegneria dei dati per principianti come può qualcuno imparare queste cose? –
HDFS non sembra la soluzione giusta. È ottimizzato per la massiccia elaborazione dei dati da parte di Parralel e non per essere un file system generico. In particolare ha le seguenti limitazioni che rendono probabilmente una cattiva scelta:
a) È sensibile al numero di file. Il limite pratico dovrebbe essere di circa decine di milioni di file.
b) I file sono di sola lettura e possono essere aggiunti, ma non modificati. Va bene per l'elaborazione dei dati analitici ma potrebbe non soddisfare le tue necessità.
c) Ha un singolo punto di errore - namenode. Quindi la sua affidabilità è limitata.
Se è necessario un sistema con una scalabilità comparabile, ma non sensibile al numero di file, suggerire OpenStack's Swift. Inoltre non ha SPOF.
a) è corretto, b) può essere simulato da un'eliminazione seguita da una scrittura, c) non è più valido: https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop- HDFS/HDFSHighAvailabilityWithNFS.html. – Matt
Il mio suggerimento è che è possibile acquistare un archivio NAS. Può essere EMS isilon tipo di prodotto che puoi prendere in considerazione.
Hadoop HDFS non è per lo storage di file. E 'di archiviazione per l'elaborazione dei dati (per report, analisi ..)
NAS è per la condivisione di file
SAN è più per un database
http://www.slideshare.net/jabramo/emc-sanoverviewpresentation
Dichiarazione: Io non sono un EMC persona, quindi puoi prendere in considerazione qualsiasi prodotto. Ho appena usato EMC come riferimento.
- 1. Database Hadoop su cassandra
- 2. archivio arabo nel database SQL
- 3. Relazione tra Hadoop e database
- 4. Lucene come archivio dati
- 5. ereditarietà nel database dei documenti?
- 6. archivio valore lungo nel database Android
- 7. Database basato su documenti per .NET
- 8. SQLite come archivio sessione
- 9. Database di documenti ArangoDB e anche un database di grafici? Come è possibile?
- 10. come uccidere job hadoop
- 11. Differenze tra Hadoop-common, Hadoop-core e Hadoop-client?
- 12. Convalida l'app per errore archivio archivio iOS
- 13. Hadoop Vs Data Lake
- 14. Archiviare i documenti nel file system anziché nel database nella raccolta documenti di SharePoint
- 15. Hadoop streaming a python utilizzando mongo-hadoop
- 16. domanda principianti hadoop
- 17. Integrazione Hadoop e MySQL
- 18. Come iniziare ad imparare hadoop
- 19. Come installare Hadoop su Ubuntu
- 20. Hadoop: Come testare l'unità FileSystem
- 21. Come praticare la programmazione Hadoop?
- 22. Come eseguire un programma Hadoop?
- 23. Come implementare l'ordinamento in hadoop?
- 24. GlusterFS come backend per Hadoop
- 25. ASP.NET MVC 3: - Utilizzo del database invece dei file di risorse come archivio di localizzazione
- 26. Quali vantaggi ha un database basato su documenti su un database relazionale?
- 27. Riduci lettura lettura archivio dati
- 28. Come posso evitare la duplicazione dei dati in un database di documenti come RavenDB?
- 29. Un archivio è ancora un archivio senza unità di lavoro?
- 30. Solr DIH - Come gestire i documenti cancellati?
Sono curioso di sapere quali vantaggi si vedono in Hadoop per questo utilizzo. – Bill
@Msdnexpert: che tipo di funzionalità stai cercando? Semplice spazio condiviso? HDFS/Hadoop non è una SAN. Maggiori dettagli, per favore. –
Sì Sto cercando di sfruttare HDFS come un sistema di storage scalabile distribuito. È possibile? – Msdnexpert