Cara mempercepat migrasi Zabbix ke TimescaleDB

gambar







Setelah saya berhasil memigrasi Zabbix dari MySQL ke PostgreSQL di artikel sebelumnya Cara memigrasi Zabbix dari MySQL ke PostgreSQL dengan waktu henti yang minimal , menjadi perlu untuk mengambil langkah berikutnya - untuk memigrasi database ke TimescaleDB, karena demi dia semuanya dimulai.







Pembaca mungkin bertanya-tanya: mengapa artikel ini diperlukan jika ada manual yang sederhana dan mudah dimengerti ?

Tapi masalahnya, seperti di artikel sebelumnya, tersembunyi di waktu henti. Manual tersebut dengan jelas menyatakan:







The migration of existing history and trend data may take a lot of time. Zabbix server and frontend must be down for the period of migration.



:









PostgreSQL, PostgreSQL. — 24 CPU, 64 GB RAM. , , . ~350 15 . .







TimescaleDB , "Faster Method":







  • , . , history
  • , ,



    CREATE TABLE history_new (LIKE history INCLUDING DEFAULTS INCLUDING CONSTRAINTS EXCLUDING INDEXES);
          
          







  • SELECT create_hypertable('history_new', 'clock', chunk_interval => 86400);
          
          



  • history history_new



    INSERT INTO history_new SELECT * FROM history;
          
          



  • history



    DROP TABLE IF EXISTS history;
          
          



  • history_new history



    ALTER TABLE IF EXISTS history_new RENAME TO history;
          
          



  • ( — schema.sql)



    CREATE INDEX history_1 in history (itemid,clock);
          
          





:







  • history
  • history_log
  • history_str
  • history_text
  • history_uint
  • trends
  • trends_uint


, .







github .







finish.sql .







TimescaleDB 5 , 15.







PROFIT.








All Articles