Database
 sql >> Database >  >> RDS >> Database

Come distribuire facilmente TimescaleDB

Pochi giorni fa è stata rilasciata una nuova versione di ClusterControl, la 1.7.2, dove possiamo vedere diverse novità, una delle principali è il supporto per TimescaleDB.

TimescaleDB è un database di serie temporali open source ottimizzato per l'acquisizione rapida e query complesse che supporta SQL completo. È basato su PostgreSQL e offre il meglio dei mondi NoSQL e relazionali per i dati delle serie temporali. TimescaleDB supporta la replica in streaming come metodo principale di replica, che può essere utilizzato in una configurazione a disponibilità elevata. Tuttavia, PostgreSQL non viene fornito con il failover automatico e questo è un problema in un ambiente di produzione ad alta disponibilità. Il failover manuale di solito implica che un essere umano viene chiamato e deve trovare un computer, accedere ai sistemi, capire cosa sta succedendo, prima di avviare le procedure di failover. Questo si traduce in un lungo periodo di inattività. Fortunatamente, esiste un modo per automatizzare i failover con ClusterControl, che ora supporta TimescaleDB.

In questo blog, vedremo come distribuire una configurazione TimescaleDB replicata con failover automatico in pochi clic utilizzando ClusterControl. Vedremo anche come aggiungere un singolo endpoint di database per le applicazioni tramite HAProxy. Come prerequisito, dovresti installare la versione 1.7.2 di ClusterControl su un host dedicato o VM.

Distribuisci TimescaleDB

Per eseguire una nuova installazione di TimescaleDB da ClusterControl è sufficiente selezionare l'opzione “Deploy” e seguire le istruzioni che compaiono. Tieni presente che se hai già un'istanza TimescaleDB in esecuzione, devi invece selezionare "Importa server/database esistente".

Quando selezioniamo TimescaleDB, dobbiamo specificare Utente, Chiave o Password e la porta per la connessione tramite SSH ai nostri host TimescaleDB. Abbiamo anche bisogno di un nome per il nostro nuovo cluster e se vogliamo che ClusterControl installi per noi il software e le configurazioni corrispondenti.

Verificare qui i requisiti utente ClusterControl per questa attività.

Dopo aver impostato le informazioni di accesso SSH, è necessario definire l'utente, la versione e la datadir del database (opzionale). Possiamo anche specificare quale repository utilizzare.

Nel passaggio successivo, dobbiamo aggiungere i nostri server al cluster che creeremo.

Quando aggiungiamo i nostri server, possiamo inserire IP o nome host.

Nell'ultimo passaggio, possiamo scegliere se la nostra replica sarà Sincrona o Asincrona.

Possiamo monitorare lo stato della creazione del nostro nuovo cluster dal monitor attività ClusterControl.

Al termine dell'attività, possiamo vedere il nostro nuovo cluster TimescaleDB nella schermata principale di ClusterControl.

Una volta creato il nostro cluster, possiamo eseguire diverse attività su di esso, come l'aggiunta di un sistema di bilanciamento del carico (HAProxy) o una nuova replica.

Ridimensionamento TimescaleDB

Se andiamo alle azioni del cluster e selezioniamo "Aggiungi slave di replica", possiamo creare una nuova replica da zero o aggiungere un database TimescaleDB esistente come replica.

Vediamo come aggiungere un nuovo slave di replica può essere un compito davvero facile.

Come puoi vedere nell'immagine, dobbiamo solo scegliere il nostro server Master, inserire l'indirizzo IP per il nostro nuovo server slave e la porta del database. Quindi, possiamo scegliere se vogliamo che ClusterControl installi il software per noi e se lo slave di replica deve essere sincrono o asincrono.

In questo modo, possiamo aggiungere tutte le repliche che vogliamo e distribuire il traffico di lettura tra di loro utilizzando un bilanciatore di carico, che possiamo implementare anche con ClusterControl.

Da ClusterControl puoi anche eseguire diverse attività di gestione come Reboot Host, Rebuild Replication Slave o Promuovi Slave, con un clic.

Conclusione

Come abbiamo visto sopra, ora puoi distribuire TimescaleDB usando ClusterControl. Una volta implementato, ClusterControl offre un'intera gamma di funzionalità, dal monitoraggio, allarmi, failover automatico, backup, ripristino point-in-time, verifica del backup e ridimensionamento delle repliche di lettura. Questo può aiutarti a gestire TimescaleDB in modo amichevole e intuitivo.