javaに標準添付されるのがderbyだった理由は何?
2010/09/18
標準添付されるということは、他のデータベースと比べて利点があるはず。まず、速度では、sqlite3に完敗してるのはわかったんだけど、それを犠牲にしてもderbyが採用された理由は?
java好きな友人に聞いてみたところ、derbyはj2ee的な2フェーズコミットに対応してるらしい。j2ee関連のサンプルで利用されることがあったらしい。確かに、サンプルに使用できるpure javaデータベースというのは、重要な需要かもしれない。ふむ。それならjavaに標準添付された理由としては納得できる。でも、そうだとすると、derbyってサンプル以外の実際の運用に利用されてるのかな?
利点かどうかは分かりませんが、
・組み込みでも使えるけど単独でサーバとしても使える
・pure java
・J2EEとの連携がしやすい
あたりはどうでしょう。
また、glassfish3に標準搭載されているので、
glassfishなシステムがあれば使っているかもしれませんが、
身近で運用されているのを見たことはないですね。
argiusさん、コメントありがとうございます。
pure javaという観点だと、sqlite3のjdbcドライバもpure javaなんですよね。sqlite3と比べたときderbyの利点ではなくなってしまいます。
「J2EEとの連携がしやすい」という利点が大きいのかもしれませんね。
私もSQLiteJDBCを使っていますが、
pure javaのSQLiteJDBC出たのが遅かったからかと思ったら
出たのって結構前だったんですね。(2007年9月には出ていた?)
これが出る前に既にDerbyに内定してた…とか。
DerbyがJavaコミュニティ的にpureなプロダクトだからとか。
技術的な理由以外だったのかも知れません。