Beberapa hari yang lalu adalah rilis versi baru ClusterControl, 1.7.2, di mana kita dapat melihat beberapa fitur baru, salah satu yang utama adalah dukungan untuk TimescaleDB.
TimescaleDB adalah database deret waktu sumber terbuka yang dioptimalkan untuk penyerapan cepat dan kueri kompleks yang mendukung SQL penuh. Ini didasarkan pada PostgreSQL dan menawarkan yang terbaik dari dunia NoSQL dan Relasional untuk data deret waktu. TimescaleDB mendukung replikasi streaming sebagai metode utama replikasi, yang dapat digunakan dalam pengaturan ketersediaan tinggi. Namun, PostgreSQL tidak datang dengan failover otomatis dan ini merupakan masalah di lingkungan produksi ketersediaan tinggi. Failover manual biasanya menyiratkan bahwa manusia membuka halaman dan harus menemukan komputer, masuk ke sistem, memahami apa yang terjadi, sebelum memulai prosedur failover. Ini berarti periode waktu henti yang lama. Untungnya, ada cara untuk mengotomatiskan failover dengan ClusterControl, yang sekarang mendukung TimescaleDB.
Di blog ini, kita akan melihat cara menerapkan pengaturan TimescaleDB yang direplikasi dengan failover otomatis hanya dalam beberapa klik dengan menggunakan ClusterControl. Kami juga akan melihat cara menambahkan titik akhir basis data tunggal untuk aplikasi melalui HAProxy. Sebagai prasyarat, Anda harus menginstal ClusterControl versi 1.7.2 pada host atau VM khusus.
Menerapkan TimescaleDB
Untuk melakukan instalasi baru TimescaleDB dari ClusterControl, cukup pilih opsi "Deploy" dan ikuti instruksi yang muncul. Perhatikan bahwa jika Anda sudah menjalankan instans TimescaleDB, Anda harus memilih 'Impor Server/Database yang Ada' sebagai gantinya.
Saat memilih TimescaleDB, kita harus menentukan User, Key atau Password dan port untuk terhubung dengan SSH ke host TimescaleDB kita. Kami juga memerlukan nama untuk cluster baru kami dan jika kami ingin ClusterControl menginstal perangkat lunak dan konfigurasi yang sesuai untuk kami.
Silakan periksa persyaratan pengguna ClusterControl untuk tugas ini di sini.
Setelah mengatur informasi akses SSH, kita harus menentukan pengguna database, versi dan datadir (opsional). Kami juga dapat menentukan repositori mana yang akan digunakan.
Pada langkah selanjutnya, kita perlu menambahkan server kita ke cluster yang akan kita buat.
Saat menambahkan server kami, kami dapat memasukkan IP atau nama host.
Pada langkah terakhir, kita dapat memilih apakah replikasi kita akan menjadi Sinkron atau Asinkron.
Kami dapat memantau status pembuatan cluster baru kami dari monitor aktivitas ClusterControl.
Setelah tugas selesai, kita dapat melihat klaster TimescaleDB baru kita di layar ClusterControl utama.
Setelah cluster kami dibuat, kami dapat melakukan beberapa tugas di dalamnya, seperti menambahkan penyeimbang beban (HAProxy) atau replika baru.
Menskalakan TimescaleDB
Jika kita masuk ke tindakan cluster dan memilih “Add Replication Slave”, kita dapat membuat replika baru dari awal atau menambahkan database TimescaleDB yang ada sebagai replika.
Mari kita lihat bagaimana menambahkan budak replikasi baru bisa menjadi tugas yang sangat mudah.
Seperti yang Anda lihat pada gambar, kita hanya perlu memilih server Master kami, masukkan alamat IP untuk server budak baru kami dan port database. Kemudian, kita dapat memilih apakah kita ingin ClusterControl menginstal perangkat lunak untuk kita dan jika slave replikasi harus Synchronous atau Asynchronous.
Dengan cara ini, kita dapat menambahkan replika sebanyak yang kita inginkan dan menyebarkan lalu lintas baca di antara mereka menggunakan penyeimbang beban, yang juga dapat kita terapkan dengan ClusterControl.
Dari ClusterControl, Anda juga dapat melakukan berbagai tugas manajemen seperti Reboot Host, Rebuild Replication Slave, atau Promote Slave, dengan satu klik.
Kesimpulan
Seperti yang telah kita lihat di atas, Anda sekarang dapat menggunakan TimescaleDB dengan menggunakan ClusterControl. Setelah digunakan, ClusterControl menyediakan berbagai macam fitur, mulai dari pemantauan, peringatan, failover otomatis, pencadangan, pemulihan tepat waktu, verifikasi pencadangan, hingga penskalaan replika baca. Ini dapat membantu Anda mengelola TimescaleDB dengan cara yang ramah dan intuitif.