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.mdとtsl/README.mdで知りました。
MySQLとMariaDBのストレージエンジン
上に書いたようにZabbixではInnoDB必須なので今回の話では関係ないのですが、気付く前に調べたのでメモ。
- MySQL :: MySQL 8.0 Reference Manual :: 16 Alternative Storage Engines
- Storage Engines - MariaDB Knowledge Base
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.