Domanda

Ho enorme database (kinda WordNet) e voglio sapere se è più facile da usare al posto di Cassandra MySQL | PostrgreSQL

Per tutta la vita ho usato MySQL e PostrgreSQL e ho potuto facilmente pensare in termini di algebra relazionale, ma alcune settimane fa ho imparato a conoscere Cassandra e che è utilizzato in Facebook e Twitter.

E 'più conveniente?

Cosa DBMS di solito vengono utilizzati al giorno d'oggi per memorizzare i dati di rete sociale, le relazioni tra gli oggetti, WordNet?

È stato utile?

Soluzione

Ci sono molti diversi gusti di database "NoSQL". Se l'applicazione è davvero come Wordnet forse si dovrebbe guardare in un database grafico come Neo4j .

Altri suggerimenti

Non c'è nulla come una soluzione proiettile d'argento, tutto è costruito per risolvere il problema specifico e ha i suoi pro e contro. Spetta a voi decidere - ciò dichiarazione del problema che hai e che cosa è la soluzione migliore che misura il vostro problema. Sia che si utilizzi Cassandra (NoSQL) o MySQL (RDBMS), tutto è guidato dalle esigenze del sistema. Qui di seguito sono gli input che vi aiuteranno a prendere una migliore decisione mentre decidere sulla base di dati.

perché utilizzare NoSQL

Nel caso del database RDBMS, rendendo la scelta è abbastanza facile, perché quasi tutti i database come MySQL, Oracle, MS SQL, PostgreSQL, in questa categoria offrono quasi lo stesso tipo di soluzioni orientate alla proprietà ACID. Quando si tratta di NoSQL, decisione diventa difficile, perché tutti i database NoSQL offre soluzione diversa e devi capire quale è più adatto per il vostro requisito app / sistema. Ad esempio, MongoDB adatta per i casi d'uso in cui il sistema esige negozio documento di schema-less. HBase potrebbe andare bene per i motori di ricerca, l'analisi dei dati di log, qualsiasi luogo in cui la scansione enorme, bidimensionali unirsi-meno tabelle è un requisito. Redis è costruito per fornire in-memory di ricerca per le varietà di strutture di dati come albero, coda, elenco di link, ecc e può essere buona misura per fare classifica in tempo reale, pub-sub tipo di sistema. Allo stesso modo ci sono altri database in questa categoria (tra cui Cassandra) che si adatta per i diversi problemi. Ora consente di passare alla domanda iniziale, e rispondere ad una ad una.

Quando usare Cassandra

Essendo una parte della famiglia NoSQL, Cassandra offre soluzione per il problema in cui il vostro requisito è quello di avere un sistema di scrittura molto pesante e si desidera avere sistema di reporting abbastanza reattivo in cima a quello dei dati memorizzati. Considerare l'utilizzo caso di Web analytics in cui i dati di registro sono memorizzati per ogni richiesta e si desidera costruita piattaforma analitica intorno ad esso per contare colpi per ora, dal browser, da IP, ecc in modo tempo reale. È possibile fare riferimento a blog postale ( http://blogs.shephertz.com/2015/04/22/why-cassandra-excellent-choice-for-realtime-analytics-workload/ ) per capire di più su casi d'uso in cui Cassandra si adatta .

Quando utilizzare un RDMS invece di Cassandra / NoSQL

Cassandra si basa su un database NoSQL e non fornisce ACID e proprietà di dati relazionali. Se si dispone di una forte esigenza di proprietà ACID (ad esempio i dati finanziari), Cassandra non sarebbe una misura in questo caso. Ovviamente, è possibile rendere il lavoro fuori di esso, ma si finirà per scrivere un sacco di codice applicativo per gestire proprietà ACID e perderanno il time to market male. gestire anche questo tipo di impianto con Cassandra sarebbe complesso e noioso per voi.

Vorrei suggerire di analizzare la vostra richiesta.

  1. Se si sta andando con più cluster, macchine prendono NoSQL
  2. Se il modello di dati è complicata - richiede strutture efficienti prendono NoSQL (senza limiti con il tipo di colonne)
  3. Se si forma in poche macchine senza squame, e non hai bisogno di prestazioni eccellenti per il multi richiesta (come per esempio nel social network - in cui molti utenti inviare http richiesta), e non si pensa di coinvolgere vendibilità prendere RDBMS (Postgres hanno alcune buone funzioni e strutture che è possibile utilizzare, come matrice di tipo di colonna).

Cassandra dovrebbe funzionare meglio con grandi scale di dati, polivalente. Neo4j -. Sarebbe meglio per le strutture speciali, grafici

Cassandra e altri negozi NoSQL vengono utilizzati per i siti di social basati a causa del loro bisogno di massicce operazioni basate scrittura. Non che MySQL e Postgres non possono raggiungere questo obiettivo, ma NoSQL richiede molto meno tempo e denaro, in generale.

Sembra che si consiglia di guardare in Neo4j però, solo in termini del vostro oggetto esigenze modello.

Tutti i prodotti differenti e tutti hanno i loro pro e conn di. Che tipo di problema si deve risolvere?

Enorme, come in TB?

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