質問: MariaDBの機能でダイナミックカラムとスレッドプールが気になっているのですが、テーブルのレコードごとに複数のカラムを各々持てるというのは考えただけで混乱するのですが、そんなことをする必要がある場合があるのでしょうか? またスレッドプールがないmysqlの無償版では、sqlが発行されるたびに新しくスレッドを立ち上げて、メモリを食いつぶすという仕組みになっているのでしょうか。
回答: 個人の見解(思い込み)での回答です。具体的な数値や根拠は提示できません。 > > ダイナミックカラム > > > 利点としてはDDLせず(=オンラインサービスを停止せず)に格納できる属性を増減できることでしょうか。 昔からアプリでtext型にJSONを入れ、アプリでパースして読んだり更新したりすることがありましたが、アプリケーション側でしか値を取り出せない、JSONの正しさの検証ができないなど複数の課題がありました。 最近ではJSON型にDBMSが対応し、DBMSで個別の値を取り出せるようになっており(MySQL5.7で本格対応)、こちらの方が利用しやすそうに思います。 ただし、「リレーショナルデータベース」の第一正規形に違反しており、リレーショナルモデルの原理主義的視点からは批判されるところです。 > > スレッドプール > > > メモリを食いつぶすという表現が適当かどうかはわかりませんが、スレッドプールがあった方がいいのは事実です。 ただ、これが大きく影響するのは同時接続数数千という単位からでしょうし、無償ならスケールのハードルも低く、スレッドプールがなくても工夫のしよう(チューニングのしよう)はいくらでもありそう。と思います。 (私自身はその規模のサービスに携わったことはありません。)