Domanda

Sto sviluppando un sistema che è tutto su supporti di archiviazione, la ricerca, il trasferimento, la distribuzione e, quindi, sulla gestione di Blob.

Attualmente sto cercando di trovare il miglior modo per gestire il BLOB è.Ho risorse limitate ai server di fascia alta con un sacco di memoria e di grandi dischi, ma posso accedere a una vasta gamma di medie prestazioni off-the-shelf computer e gancio a Internet.

Quindi ho deciso di non archivio Blob in un centro di Database Relazionale, perché mi avrebbe poi, nel peggiore dei casi, uno molto pesante Istanza di Database, possibilmente su una singola macchina media.Non è un'opzione.

L'archiviazione Blob come i file direttamente sul filesystem e la memorizzazione del percorso nel database è anche un po ' brutti e distribuzione avrebbe gestito manualmente, tenendo traccia delle diverse copie di me stesso.Non ho neanche voglia di avvicinarsi a quella che.

Ho guardato CouchDB e mi piace molto la loro peer-to-peer in base alla progettazione.Questo mi avrebbe permesso di eseguire un distribuite cluster di macchine su Internet, implica:

  • Basso costo dell'Hardware
  • Distribuzione per Ridondanza e Failover out of the box
  • Leggero Interfaccia REST

Quindi, se ho capito bene, si potrebbe riassumere così: Cloud come API e autogestite, distribuiti, replicato sistema

Il resto del sistema la roba normale qualsiasi applicazione web non:gestione della sessione, la sicurezza, gli utenti, la ricerca e il come.Per questa parte ho ancora voglia di utilizzare un database relazionale datamodel.(CouchDB crediti non per essere un sostituto per i database relazionali).

Così avrei tutti i dati standard, tra cui il BLOB del meta dati in un database relazionale, ma il Blob stessi in CouchDB.

Non si vede un problema con questo approccio?Mi manca qualcosa di importante?Si può pensare a soluzioni migliori?

Grazie!

È stato utile?

Soluzione

Si potrebbe provare Amazon database relazionale SimpleDB e S3, insieme con SimpleJPA.SimpleJPA è un JPA-attuazione sulla cima di SimpleDB.SimpleJPA utilizza SimpleDB per la struttura relazionale e S3 per l'archiviazione di Blob.

Altri suggerimenti

Guarda MongoDB, supporta la memorizzazione di dati binari in un efficiente formato ed è incredibilmente veloce

Nessun problema.Ho fatto un disegno molto simile a quella.Si potrebbe anche voler prendere una peek a HBase come alternativa a CouchDB e Adaptive Oggetto-Modello architettonico modello, come un modo per gestire i tuoi dati e meta-dati.

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