Como acelerar a migração do Zabbix para o TimescaleDB

imagem







Depois de migrar com sucesso o Zabbix do MySQL para o PostgreSQL no artigo anterior Como migrar o Zabbix do MySQL para o PostgreSQL com tempo de inatividade mínimo , tornou-se necessário dar o próximo passo - migrar o banco de dados para o TimescaleDB, uma vez que para o bem dela, tudo foi iniciado.







O leitor pode se perguntar: por que este artigo é necessário se existe um manual simples e compreensível ?

Mas o problema, como no artigo anterior, está escondido no tempo de inatividade. O manual afirma claramente:







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