Sommario
Cassandra è un database NoSQL potente e scalabile. È open source e la sua architettura è progettata come un sistema distribuito in cui tutti i nodi sono uguali al suo interno, consentendo così la distribuzione dei dati in tutti i nodi del cluster.Stoccaggio in Cassandra è definito come chiave / valore dove una chiave può essere mappata su uno o più valori. È un Banca dati orientato ai record di riga, dove ogni riga è identificata dalla sua chiave e la particolarità di questo sistema è che una riga può essere memorizzata in più di un nodo.
Prima di procedere all'installazione di Cassandra nel nostro sistema, dobbiamo conoscere un po' l'architettura di questo Banca dati, in questo modo sapremo cosa abbiamo e cosa possiamo ottenere.
Quando si parla di replicazione delle informazioni, una delle prime domande che ci poniamo è: di quante copie abbiamo bisogno? Questa in Cassandra non è una domanda facile a cui rispondere, ma ciò che dobbiamo tenere a mente è che questo fattore indica il numero di nodi che sono memorizzati nella stessa riga.
Ad esempio, un fattore di replica di 2 garantisce che ci saranno due copie delle informazioni dei nodi nel cluster. La scelta del valore due per il fattore di replica è utile per coprire i guasti in un nodo nell'ambiente di sviluppo e potrebbe essere il minimo per gli ambienti di produzione, poiché se un nodo si interrompe l'altro gestirà tutte le richieste, quindi è qualcosa che dobbiamo pensare attentamente prima di implementarlo.
Spazio tastiCassandra ci permette di raggruppare le informazioni in qualcosa chiamato spazi delle chiavi, dove possiamo dire che questi spazi delle chiavi sono contenitori di informazioni applicative. Tuttavia, un cluster ha uno spazio delle chiavi per applicazione Cassandra Usa questi spazi delle chiavi per la gestione della replica.
Famiglia di colonneDopo aver definito il nostro spazio tasti, al suo interno abbiamo qualcosa chiamato famiglia di colonne, questi sono contenitori simili, ma per una raccolta di righe. Ogni riga è una raccolta ordinata di colonne e possiamo fare un'analogia rispetto ai database relazionali, dove il famiglia di colonne sono in qualche modo simili alle tabelle.
Strategia di replicaNel Cassandra Esistono due strategie per la replicazione delle informazioni, una di queste e quella che abbiamo già affrontato è la strategia semplice o Strategia semplice che è responsabile della copia delle informazioni sul nodo successivo fino a quando non viene soddisfatto il fattore di replica definito. La seconda strategia si chiama ReteTopologiaStrategia, dove è l'opzione migliore se vogliamo distribuire le informazioni su più data center.
Il protocollo utilizzato da Cassandra per condividere la posizione dei nodi e le informazioni di questi nel cluster si chiama Pettegolezzo. Dove questi nodi "borbottano" costantemente e scambiano informazioni con un massimo di 3 nodi nel cluster.
Questo protocollo, come altri, ha le sue regole per inviare richieste ad altri nodi, dove possiamo vedere tre passaggi per esso, e ogni nodo ripete sempre questi passaggi:
1- Mormora a un nodo attivo casuale.
2- Avvia un mormorio verso un nodo discendente casuale.
3- Questo passaggio è facoltativo e definisce che se il nodo selezionato nel passaggio uno non è un nodo seme, mormora a un altro nodo seme casuale.
Ma per spostare le informazioni ed eseguire la comunicazione tra i nodi Cassandra utilizzare un componente chiamato SpiaVediamo cosa intendi.
Fondamentalmente questo componente è responsabile della gestione del movimento delle informazioni tra i nodi prendendo altri nodi per le query e la replica in base a varie metriche. Questa configurazione è la stessa per tutti i nodi all'interno del cluster, tuttavia può variare nella sua tipologia, vediamo quali abbiamo a disposizione:
SimpleSnitchUtilizzato in semplici implementazioni di data center e a spia configurato in questo modo non utilizza alcuna informazione dal data center. Il suo comportamento è semplice, e consiste nel trovare il nodo successivo.
Spia dinamicaQuesta configurazione monitora le prestazioni delle repliche e seleziona la migliore in base a una semplice metrica che penalizza i lunghi tempi di risposta ed evita i nodi che stanno comprimendo le tue informazioni.
RackInferringSnitchCiò che fa questa configurazione è utilizzare l'indirizzo IP per determinare la posizione dei nodi, dove l'ultima parte dell'IP identifica il nodo, la seconda i rack e la terza i data center.
PropertyFileSnitchCiò consente la definizione della topologia del cluster in un file delle proprietà, generalmente questa configurazione viene utilizzata se RackInferringSnitch non applicabile.
SpettegolareProprietàFileSnitchUtilizza un file delle proprietà per la configurazione iniziale e continua con il mormorio per inviare informazioni ad altri nodi.
L'installazione di Cassandra Lo faremo in squadra con Windows 8, in cui dobbiamo prima soddisfare determinati requisiti, vediamo di cosa abbiamo bisogno:
1- Dobbiamo avere almeno Java 7 installato nel nostro sistema, se non lo abbiamo, possiamo scaricare la versione più recente nel seguente link.
2- Abbiamo inoltre bisogno Pacchetto ridistribuibile Microsoft Visual C++ 2008 (x86).
3- Infine connessione Internet per scaricare il pacchetto DataStax.
Dopo aver esaminato i nostri requisiti, andremo alla pagina del progetto e cercheremo la versione a 32 o 64 bit adatta al nostro sistema:
INGRANDIRE
Se vogliamo dare un'occhiata alla documentazione sulla connettività per Cassandra Con i diversi linguaggi di programmazione possiamo scendere nella pagina e vedere di cosa abbiamo bisogno per lo stesso. Dopo il download, installiamo come qualsiasi applicazione Windows. Dove è importante ricordare che dopo questa installazione, Cassandra creerà un cluster di test per impostazione predefinita.Con l'installazione, vengono installati diversi strumenti nel nostro sistema, uno di questi è l'interfaccia web di Cassandra chiamata Centro operativo, a cui possiamo accedere se inseriamo nel nostro browser il seguente indirizzo:
http: // host locale: 8888 / opscenter / index.htmlQuesta interfaccia ci permette di fare diverse cose interessanti, tuttavia non è il massimo con cui lavorare Cassandra, ma ai fini di questo tutorial è importante conoscerlo, vedere cosa ci offre e quindi avere un punto di partenza per iniziare a conoscere la struttura del Database.
La prima cosa che troviamo entrando in questa interfaccia è la sezione di Pannello di controllo, dove possiamo visualizzare varie metriche delle prestazioni come la salute del nodo, la capacità di archiviazione o le richieste di scrittura:
INGRANDIRE
In questa interfaccia possiamo creare un nuovo cluster, per questo andiamo nella parte in alto a destra e premiamo Nuovo cluster, che aprirà la seguente schermata:Inseriamo i dati richiesti e clicchiamo su costruire cluster, oltre a questo possiamo aggiungere ugualmente nodi nel menu a discesa di Azioni di gruppo, in alto a destra. Nella sezione Non dare, possiamo vedere i nodi e i data center disponibili, nonché alcuni parametri come lo stato di salute, la dimensione dei dati e persino gli avvisi generati:
INGRANDIRE
Nella sezione Attività Possiamo vedere un elenco delle attività svolte nel cluster, nonché un registro degli eventi, qualcosa di molto utile quando siamo gli amministratori del Banca dati:INGRANDIRE
Quindi abbiamo la sezione più importante all'interno della nostra interfaccia web, e questa è Dati, qui possiamo definire i nostri contenitori di informazioni meglio conosciuti come spazi delle chiavi e le "tavole" o famiglie di colonne.Per creare un spazio tasti, prima dobbiamo andare alla sezione Dati e lì seleziona l'opzione Aggiungere, inseriamo il nome, la strategia di replica, che spieghiamo che può essere semplice o topologia di rete, e il fattore di replica.
Abbiamo salvato e avremmo già creato il nostro spazio tasti, come ricordiamo questi contenitori hanno una funzione chiave in Cassandra y è definire il fattore di replica. Con il nostro contenitore definito, aggiungeremo a famiglia di colonne, per questo entriamo nel keyspace e selezioniamo l'opzione Aggiungere. Qui inseriamo il nome, il tipo di colonna e il tipo di comparatore.
Con questo abbiamo già creato il nostro famiglia di colonneCome possiamo vedere, è estremamente semplice, tuttavia questa interfaccia ci limita in molte cose ed è solo un buon punto di partenza per gli utenti alle prime armi che vogliono capire come la struttura di Cassandra e come gestisce il cluster, nodi, keyspace e famiglie di colonne.
Con questo abbiamo finito questo tutorial, dove abbiamo potuto vedere quale sia l'architettura di Cassandra, il suo protocollo, i componenti e la sua installazione. Abbiamo appreso della struttura tramite l'interfaccia web ma con questa abbiamo solo sfiorato la punta dell'iceberg, nei prossimi tutorial entreremo a pieno titolo con CQL e come lavorare professionalmente con Cassandra.