Domanda

Voglio realizzare un sistema di cache per la nostra applicazione, abbiamo iniziato l'integrazione con Memcached. Recentemente ho iniziato a sentire di Hypertable, e ho visto alcuni grandi punti di riferimento fatto con quello ..

Tuttavia, non ho potuto trovare un buon confronto tra i due.

Solo per ottenere le cose a posto : So che Hypertable è considerato più vicino a un DB che ad una cache. D'altra parte, non è esattamente un RDBMS - in realtà, è esattamente non un RDBMS. Essa ha i suoi vantaggi, ma la questione è se che valgono il costo delle prestazioni (se del caso)?

È stato utile?

Soluzione

Hypertable è un'implementazione di concetti in BigTable di Google. Cioè un DB colonna orientato che ha proprietà di essere altamente denormalizzato il che significa che doesn' t necessità si unisce.

Memcached è uno strato in memoria cache che agisce come un distribuito tabella hash , mantenendo la vostra applicazione di dover colpire il DB attuale.

Entrambi si prestano bene ad essere distribuito e lavorare bene con MapReduce topologie di stile ma servono scopi diversi. Memcached / DHT sta per servire per velocizzare l'accesso ai dati in memoria mentre Hypertable / BigTable sono reali meccanismi per la memorizzazione permanente dei dati sul disco.

Altri suggerimenti

Memcached è utilizzato per accelerare le cose, per esempio risultati di query SQL, senza andare a DB, memorizzando tutto in memoria (RAM).

Hypertable (HBase, Cassandra, MongoDB etc.) e altri sono memoria permanente NoSQL DB (dati archiviati e recuperati da dischi rigidi). Non si possono dare le prestazioni della lettura / scrittura da / a RAM (ad esempio memcached). Quindi queste non vengono confrontati gli uni agli altri.

Un caso d'uso migliore è quello di utilizzare NoSQL DB per la memorizzazione permanente, e utilizzando memcached come cache di accesso front-side tra web-application e (NoSQL o qualsiasi) DB.

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