bknrのodb
prevalenceモデルらしい。なんだ。
RAMに全てを持つって、大丈夫なのかな。
Linuxのpagingだより?
いまいちな気がしてきた。用途にもよるんだろうが。
トランザクションをサポートしている。odbとは違うと言っているのか?
slotにインデックスを張る。クラスを文字どおり集合として扱う感じ。
(defclass gorilla () *1 (:metaclass indexed-class)) We have to recreate the gorillas though, as the old instances don’t get up- dated for now. (make-instance ’gorilla :name "Lucy" :description :aggressive) (make-instance ’gorilla :name "Robert" :description :playful) (make-instance ’gorilla :name "John" :description :aggressive))) (all-gorillas) ; => (## # ) (gorilla-with-name "Lucy") ; => # ;T (gorillas-with-description :aggressive) ; => (# # ) ;T
デストラクタもある。
prevalence model
- 動作時はデータは全てRAMにある
- スナップショットをとることが出来る。
- 起動時スナップショットを読み込む。
- 変更操作はログに記録する。もちろんスナップショット以降のね。
- オブジェクト指向DBとは違う←理由が読み取れない。
*1:name :initarg :name :reader gorilla-name :index-type slot-index :index-initargs (:test #’equal) :index-reader gorilla-with-name :index-values all-gorillas) (description :initarg :description :reader gorilla-description :index-type keyword-index :index-reader gorillas-with-description