sqlite開発物語というのが知見が多い記事だった
https://enterprisezine.jp/dbonline/detail/9928?p=1
非常に僕にとって知見の多い記事だったのでメモ程度にまとめてみる。
lsmという形式をしった
まずLSM形式ってramで変更ツリーをmergeするんだねぇ。ただこれだと、実際のIOが発生する前にsqliteがクラッシュしたらどうなるんだろう。そこまでシビアに考えなくていいのかな。
制約=select
次に言われればその通りなのだけど、制約ってselectなんだなぁ。ただこれは使わないとDB処理は早くなるけれど、結局ビジネスロジックで制約を表現しないといけないのだから、結局あまり変わらないのだろうとおもう。でも、個人的にはビジネスロジックで書くのがいいなと思う。
- 好みの問題だけど、制約の処理はモデルのコードとかに書きたい。1か所で目に見えたい。
- もしDBが分散化したときに、制約だと自インスタンスしか見れないんじゃないかな。あ、これは分からない。
osリード < sqlite
そして、sqliteでのファイルのリードがOSより早いwwww。ramだし、ブロック単位じゃないしって事みたい。
サーバサイドは分からないけど、クライアント内包のDBとしては本当に素敵だなって改めて思いました。