#navi_header|Java| - Apache Derby : JavaによるOSSのRDB製品, APL2 -- http://db.apache.org/derby/ -- 軽量を謳ったJavaによるOSSのRDB製品で、中核となるderby.jarは2MB程度(2015-02時点)。 -- 自分のアプリ内に組み込んで利用できる。一般的にはファイルシステム上にデータを配置するが(JDBCの接続文字列でルートディレクトリを指定)、インメモリでも操作できる。 - Java DB -- http://www.oracle.com/technetwork/java/javadb/overview/index.html -- http://docs.oracle.com/javadb/ -- SunがJDK6からApache Derbyを同梱し、"Java DB"というブランド名にした(らしい)。単純に、JDKをJava DB付きでインストールするとJDKインストール先に"db"というディレクトリが追加され、その中にApache Derbyをサーバとして起動するためのひと通りのjarファイルと起動スクリプトが入ってる。 -- JDK8の時点では、Oracleがサポートして配布してるApache Derbyということになってる。 -- 誤解しそうだけど、JDKをインストールすると、セットでApache Derbyのサーバ実行用のファイルセットがくっついてくる、程度に考えれば問題無さそう。 -- クライアントを開発する場合は、普通にMavenから groupId=org.apache.derby のjarを引っ張ってくることになるので、特にJREがどうとか、クライアントアプリを書くときにどうとか、という話ではない。 参考: - JavaDBメモ(Hishidama's JavaDB Memo) -- http://www.ne.jp/asahi/hishidama/home/tech/java/javadb.html - JDK7u51以降で、JDK付属のJavaDBを起動したらTCPポートのlistenに失敗したという報告あり、回避策もあり。 -- http://tsuyosixx.hatenablog.com/entry/2014/03/03/004919 -- http://d.hatena.ne.jp/seraphy/20140214 練習: - https://github.com/msakamoto-sf/javasnack/blob/master/src/test/java/javasnack/derby/DerbyUsageDemo1Test.java -- 面白かったのが、h2の練習時はclobでinsertした0x00 - 0xFFが元通りに取り出せなかったが、Derbyでは問題なくできた。 --- h2の練習:https://github.com/msakamoto-sf/javasnack/blob/master/src/test/java/javasnack/h2/H2UsageDemo1Test.java -- また、h2ではよく分からず調子にのってResultSet.first()使ったが、Derbyではエラーになり・・・いや、Derbyだからというのも分からないが・・・とりあえずおとなしくrs.next()に直してる。 #navi_footer|Java|