スキーマ変更が簡単で静的型付け言語向け小さな NoSQL DB
RDB のスキーマ変更って DB、プログラム双方にとってしんどい 動的型付け言語では ORM が吸収してくれるが、静的型付け言語ではその違いを吸収してくれるものがいまいちない また、RDB は複数のクライアントから使うことを想定しているが、小さいプロダクトではそこまでの機能いらないし、実際 sqlite で動いてるサービスもありそう マイクロサービス化を行えば RDB は不要になり、各サービスの永続化はファイルのみでよいのではという仮説(miminashi) sqlite もファイル一つであるが、なんでそれだけなのに SQL 発行せにゃならんのじゃいという気持ち
DB というよりは統一のデータとその操作仕様を定めたファイル規格を作ってそれぞれの言語のインターフェースを作る感じ
コネクションを貼る際型情報を送り、スキーマと相違があればマイグレーションを行う
この辺の設定はアプリケーションで選べる(例外出すとかバックアップは取るとか)
コードさえ書けば開発者モードでは常にマイグレーション、プロダクションモードではバックアップとってマイグレーションとかできる。このあたりは便利ライブラリとしてコアな部分から切り出したい
1 クライアントでしか使わない(もちろん並行性は考慮)のでトランザクションはガチガチでなくてよい