📚
TiDBのローカル環境構築について考えた件
結論tiup-playgroundが良いのでは?
重いかもしれないが、お手軽そうではある。
Docker環境もあるが。。。
一応、docker環境もあるが数年前から更新が無いので微妙かも(一応動いたが。。。)
MySQL互換だしLocal環境はMySQL使えば良いのでは?
一理あるしお手軽だとも思うが、個人的には本番とLocalを出来るだけ合わせるスタイルを取った方がいいと思う。
TiDBは、「HTAP」(Hybrid Transaction Analytical Processing) を実現している。
HTAPは、行指向と列指向の両方のノードを使って達成しているが、その振り分けがうまくいくのか?とかはMySQLでは確認できない。
(TiDBのその他の機能も確認できない。)
(そもそも、複数Node使っている時点でMySQLではなく、MySQL Cluster使うほうが良い気もする)
あと、MongoDBをやっていた時もそうだったが、複数Node使うデータベースの場合、データベースをシングルで使っている時と、結構勝手が違う。
例えば、各NodeにアクセスするとそのNodeのデータが見えるだけで、DB全体のデータが見れるわけではないので、全データみたい場合はNode全体にアクセスできるポイントからアクセスする必要があるとか。
(当たり前と思われるかもしれないが、意外と分かっていないメンバーが居たりする。)
まとめ
本番とLocalで、クラウド使ってたりとか、Node数が全然違うとかあるけど、可能な限り本番と同じものが使えるなら、それに越したことはないと思う。
本番だけ再現するバグとかで追い詰められたことがある人なら、Localで再現できることのありがたみがわかってもらえると思う。
また、色々と設定いじってみたりとか、機能を試す場合もLocalでやれると何かと便利かと。
Discussion