ksqlDBを現在使ってない理由
ksqlDBはkafka-streamsのカロリーが高めなdslの記述をsqlで行なえるようにするプロジェクトと理解しているが、現在利用していない。理由として現在下記のハードルと食わず嫌いを認識している
serializerが限られている
多分使い始めるのを妨げる一番大きい理由
全てfressian
サポートされているフォーマットに変換したい度にkafka-connect的な奴をやる。。。?
そこまでして使うメリットはあるかも知れないが。。。
純粋なデータ変換に限られる
ステートフルなkafka-streamsアプリケーションを扱うことが多い
ksqlに外部APIの呼び出しとか別のdbへの書き込みとかはサポートされなさそう
されたら流石にカオス
user defined functionsで特定のアノーテーションをしたJavaは実行できるらしい
リアルタイムな分析とかであればsnowflakeでも結構戦えるのでは?
カジュアル過ぎ
実態はkafka-streams appなのに、深く考えずにアプリケーションをぽんぽこ走らせることができてしまう
こちらのガイドにもあるようにワークロード毎にksqlDBのサーバーを立てることを推奨される程度にはヘビー
https://docs.ksqldb.io/en/0.21.0-ksqldb/operate-and-deploy/capacity-planning/
素のkafka-streamsであればワークロードと同時にデプロイを考える方の力学が働くと思われる
現時点では使えそうなユースケースが無いという話といえばそれまでではあるが、とりあえず理由を述べてみた。