Sistemi di archiviazione dati gratuiti, in particolare per l'archiviazione dei dati

StackOverflow https://stackoverflow.com/questions/1616266

  •  06-07-2019
  •  | 
  •  

Domanda

Sto sviluppando alcuni elementi di reportistica per il nostro sito Web (un sito di dimensioni decenti che ottiene diversi milioni di visualizzazioni di pagina al giorno) e mi chiedo se ci siano buoni sistemi di data warehousing gratuiti / open source là fuori.

In particolare, sto cercando solo qualcosa per archiviare i dati: ho intenzione di creare un front-end / un'interfaccia utente personalizzati in modo che mostri le informazioni a cui teniamo. Tuttavia, non voglio creare un database personalizzato per questo, e mentre sono abbastanza sicuro che un database SQL non funzionerebbe qui, non sono sicuro di cosa usare esattamente. Sarebbe anche apprezzato qualsiasi suggerimento per articoli utili.

Modifica: dovrei menzionare - un DB che ho visto brevemente era MongoDB. Sembra che potrebbe funzionare, ma il loro "uso casi" menzionando specificamente il data warehousing come "meno adatto" " ;: http: //www.mongodb. org / display / DOCS / Use + Cases . Inoltre, non sembra essere specificamente mirato al data warehousing.

È stato utile?

Soluzione

http://www.hypertable.org/ potrebbe essere quello che stai cercando (e Vado dalle tue descrizioni qui sopra) qualcosa per memorizzare grandi quantità di dati registrati con la normalizzazione. vale a dire un registro visitatori.

Hypertable si basa sul progetto bigTable di google. vedi http://code.google.com/p/hypertable/wiki/PerformanceTestAOLQueryLog per benchmark

perdi le capacità relazionali dei dbs basati su SQL ma guadagni molto in termini di prestazioni. potresti facilmente usare hypertable per memorizzare milioni di righe all'ora (resistere allo spazio sul disco rigido).

spero che aiuti

Altri suggerimenti

Potrei non capire correttamente il problema, tuttavia, se trovi del tempo per (ri) visitare Kimball & # 8217; s & # 8220; The Data Warehouse Toolkit & # 8221;, scoprirai che tutto ciò che serve per un DW di base è un database SQL semplice, in altre parole è possibile creare un DW decente con MySQL utilizzando MyISAM per il motore di archiviazione. La domanda è solo nella granularità desiderata delle informazioni & # 8211; cosa vuoi conservare e per quanto tempo. Se i rapporti sono per lo più periodici e si implementa una memoria o una cache dei rapporti, non è necessario archiviare aggregazioni precalcolate (non sono necessari cubi). In altre parole, la stella di Kimball con report memorizzati nella cache può fornire prestazioni decenti in molti casi. Puoi anche guardare l'edizione della community di & # 8220; Pentaho BI Suite & # 8221; (open source) per iniziare rapidamente con ETL, analisi e reportistica e sperimentare un po 'per valutare le prestazioni prima di immergersi nello sviluppo personalizzato. Anche se questo potrebbe non essere quello che ti aspettavi, potrebbe valere la pena prendere in considerazione.

Pentaho Mondrian

  • Open source
  • Utilizza un database relazionale standard
  • MDX (think pivot table)
  • ETL (via Kettle)

Lo uso.

Oltre alla risposta di Hypertable di Mike, potresti dare un'occhiata al progetto Hadoop di Apache:

http://hadoop.apache.org/

Forniscono una serie di strumenti che possono essere utili per la tua applicazione, incluso HBase, un'altra implementazione del concetto di BigTable. Immagino che per i rapporti, potresti trovare utile anche la loro implementazione di mapreduce.

Tutto dipende dai dati e da come prevedi di accedervi. MonetDB è un motore di database orientato alle colonne dal team più rivoluzionario sulle tecnologie di database. Hanno appena ricevuto il premio per la migliore carta da 10 anni di VLDB . Il DB è open source e ci sono molte recensioni online elogi loro.

Forse dovresti dare un'occhiata a TPC e vedere quali dei loro set di dati relativi ai problemi di test si adattano meglio al tuo caso e lavorare da lì.

Considera anche la necessità di concorrenza, aggiunge un grande sovraccarico per qualsiasi tipo di approccio e talvolta non è realmente necessario. Ad esempio, è possibile pre-digerire alcuni dati di riepilogo o di indice e proteggerli solo per alta concorrenza. La profilazione delle tue query di dati è il seguente passaggio.

A proposito di SQL, non mi piace neanche, ma non penso che sia intelligente escludere un motore solo a causa del linguaggio front-end.

Vedo un problema simile e sto pensando di utilizzare MyISAM semplice con http://www.jitterbit.com/ come livello di accesso ai dati. Jitterbit (o un altro strumento gratuito simile) sembra molto bello per questo tipo di trasformazioni.

Spero che questo aiuti un po '.

Molte persone usano Mysql o Postgres :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top