lunedì 10 marzo 2014

PostgreSQL 9.4: decodifica dei WAL e replication slot

Ricordo che al PGDay.IT del 2012 il keynote (Simon Riggs) parlava di una feature che sarebbe stata introdotta in PostgreSQL riguardo la decodifica dei WAL in formato logico, ossia umanamente leggibile (istruzioni SQL o qualcosa di simile). Era stato detto che ci sarebbe voluto diverso tempo per implementare tutti i pezzi di questa conversione da binario a testuale, ma che era un passo fondamentale per la crescita di PostgreSQL.
Ebbene nella nuova versione, la 9.4, alla quale gli sviluppatori stanno lavorando, e' stata introdotta una patch che permette di convertire i WAL in formato testuale.
Qui si trova un primo esempio, piuttosto impressionante , della funzionalita' di decodifica dei WAL.
Da notare che l'esempio sopra riportato cita anche i "replication slots", un'altra feature aggiunta per l'imminente 9.4. L'idea e' semplice ed elegante: mentre prima il master non aveva alcuna conoscenza dello stato di replica degli slave, che quindi potevano andare off-line per molto tempo e rimanere "troppo indietro" rispetto al master, dalla 9.4 il master terra' lo stato di replicazione di ogni slave agganciato (uno slot appunto). Questo permettera' al master di conservare tutti e soli i WAL richiesti dagli slave, anche se non disponibili per molto tempo, senza costringere il DBA a indovinare quanti WAL mantenere (keep segmentes) o l'implementazione di un continuos archiving.

La 9.4 promette molte altre feature, ma quelle di cui sopra in fatto di replica sono sicuramente molto significative.

Nessun commento: