まめージェント

Android, GAE, AngularJSの技術ネタ中心。Twitter: @mame01112

RDSとKVS

belboさんにDatastore Opsを減らすには、
QueryではなくKeyを使ってget()した方がいいよ、
というご指摘を受け

よくよく考えると自分、

  • Keyって何なんだか、よくワカッテネ・・・。
  • そして、そもそもKVSとRDSの違い、よくワカッテネ・・・。



ということに気づきましたので、改めて勉強しました。
かなり今更感。


//---


これまでDatabase (Datastore)まわりはJDO (Java Data Object)を使って書いていたんですが、
これ、どちらかというとRDSのように、しっかりとカラム(プロパティの項目)が
決まっているDB向けなんですね。


これまでJDOでデータクラスを作って、そこに当てはめる形で作っていたので、
KVSとRDS、違いがイマイチよくワカンネ・・・。
となっていたのですが、Low Level APIで書くとその違いを実感。
今まで、KVSではプロパティの項目は必要なだけ追加できることに全然気づかなかった・・・。


導入としては、Low Level APIでKVSがどんなものか実感してから、
JDOに移行する、の方がいいですね。


JDOはパフォーマンスが残念、という記事もよく見るので、
Low Level APIベースで書き換えようかと思案中。
※ただ、それはそれで書く量が多そうなので、これまた・・・。


自分でLow Level API用の薄いラッパーを作るのがいいのかも、しれません。


そして未だ、
・「キーとは?」
・「インデックスとは?」
がわかっておらず・・・。


勉強は続きます・・・。