Zabbixのデータベースのパーティショニングについて検索してみた

はじめに

Zabbixのデータベースのパーティショニングについて検索してみたメモです。

Zabbixの長期サポート版

Zabbix Life Cycle & Release Policyの表でバージョンの後にLTS (Long Term Support)とついているのが長期サポート版です。

今回は6.0のドキュメントを確認しました。

Zabbixのデータベースのパーティショニング

2 RequirementsのThird-party external surrounding softwareの表を見ると、PostgreSQLの場合はTimescaleDBが使えます。

ちなみにMySQLとMariaDBはInnoDBが必須とのこと。Zabbix公式ブログのPartitioning a Zabbix MySQL(8) database with Perl or Stored Procedures – Zabbix BlogにMySQLでパーティショニングする説明がありました。

以下は関連して調べたメモ

TimescaleDB

PostgreSQL 15は未対応

TimescaleDBは2022-12-18時点ではPostgreSQL15未サポート。2 RequirementsのThird-party external surrounding softwareの表にも書いてありました。[Enhancement]: Support PostgreSQL 15 · Issue #3985 · timescale/timescaledbのコメントを見ると対応中でexpect some news soonとのことでした。

Timescale Documentation | Upgrade PostgreSQLにTimescaleDBがサポートしているPostgreSQLのバージョンの表がありました。

Timescale License

レポジトリのtslフォルダ配下はTimescale Licenseという独自ライセンスというのをREADME.mdtsl/README.mdで知りました。

MySQLとMariaDBのストレージエンジン

上に書いたようにZabbixではInnoDB必須なので今回の話では関係ないのですが、気付く前に調べたのでメモ。

MyRocks - MariaDB Knowledge BaseストレージエンジンはMySQLにはなくMariaDBだけなんですね。About MyRocks for MariaDB - MariaDB Knowledge BaseのBenefitsのGreater Writing Efficiencyの項に以下のように書かれていました。

2x lower write rates to storage

MyRocks has a 10x less write amplification compared to InnoDB, giving you better endurance of flash storage and improving overall throughput.