5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【PureJava】 Derby 1 【OpenSource】

1 :NAME IS NULL:2005/10/09(日) 04:22:21 ID:FOVesS3t
このスレはApacheSoftwareFoundation(以下ASFと略す)傘下で開発が進められているPureJavaRDBのDerbyについて語るスレです。

Derbyって何?
Javaで書かれたRDBMSです。

Derbyで何ができるの?
Javaの実行環境があれば、開発したアプリケーションにRDBを組み込むことができます。
「アプリケーションの出力結果をテキストに吐き出して、必要があればそこから検索して...」
などの作業を、開発を簡単に、実行時に素早く行うことができます。

でも、DBって設定とかいろいろ難しいんでしょ?
Derbyは簡単です。「簡単に使える(Easy to Use)」がDerby開発目的の一つです。

Derbyは誰が開発しているの?
現在はASF傘下でOpenSourceプロジェクトとして開発が進められていますが、
それ以前はIBMがCloudScapeという名称で開発を進めていました。
詳細は2以降のリンク先を参照してください。

2 :NAME IS NULL:2005/10/09(日) 04:23:03 ID:FOVesS3t
関連リンク

The Apache Derby Project
ttp://db.apache.org/derby/

IBM Cloudscape インフォメーション・センター
ttp://publib.boulder.ibm.com/infocenter/cldscp10/index.jsp
Publications home (CloudscapeマニュアルPDF版30冊)
(マニュアル検索をクリック、キーワードCloudscape、表示結果数100で検索)
ttp://www.elink.ibmlink.ibm.com/puc/jsp/index.jsp?country=J1&language=JPN
Cloudscapeと3つの「C」
ttp://www-6.ibm.com/jp/developerworks/ysl/j_ysl-cloud.html
IBM Cloudscape、Apache Derbyについて
ttp://timescape.jugem.jp/
Unofficial DB2 BLOG
ttp://db2.jugem.cc/

IBM DB2 スレ (関連スレ)
http://pc8.2ch.net/test/read.cgi/db/1057170768/

3 :NAME IS NULL:2005/10/09(日) 04:24:04 ID:FOVesS3t
Derbyの最新バージョンは10.1.1.0、対応するCloudscapeのバージョンは10.1です。

Derby 10.1.1.0公開 - Apache Incubatorから卒業
http://pcweb.mycom.co.jp/news/2005/08/05/011.html
Cloudscape 10.1
http://db2.jugem.cc/?eid=526

マニュアル30冊と書きましたが、最新版用マニュアルは7冊です。

Publications home (CloudscapeマニュアルPDF版)
(マニュアル検索をクリック、キーワードCloudscape V10.1で検索)
http://www.elink.ibmlink.ibm.com/puc/jsp/index.jsp?country=J1&language=JPN

IBM Cloudscape 概説およびインストール V10.1
http://publibfp.boulder.ibm.com/epubs/pdf/d8863601.pdf
IBM Cloudscape 開発者ガイド V10.1
http://publibfp.boulder.ibm.com/epubs/pdf/d8863611.pdf
IBM Cloudscape リファレンス・マニュアル V10.1
http://publibfp.boulder.ibm.com/epubs/pdf/d8863621.pdf
IBM Cloudscape チューニング・ガイド V10.1
http://publibfp.boulder.ibm.com/epubs/pdf/d8863631.pdf
IBM Cloudscape ツールおよびユーティリティー・ガイド V10.1
http://publibfp.boulder.ibm.com/epubs/pdf/d8863641.pdf
IBM Cloudscape サーバーおよび管理ガイド V10.1
http://publibfp.boulder.ibm.com/epubs/pdf/d8863651.pdf
IBM Cloudscape V10.1 リリース・ノート
http://publibfp.boulder.ibm.com/epubs/pdf/d8863661.pdf

4 :NAME IS NULL:2005/10/09(日) 04:24:49 ID:FOVesS3t
Derbyに含まれているdemoの実行方法
(Windowsを対象とします。UNIXの場合は適宜読みかえてください。db-derby-10.x.x-bin\demo\readme.html より抜粋)
1.コマンドラインを起動します。
2.ダウンロードしたdb-derby-10.x.x-bin.zipを解凍してできたディレクトリをDERBY_INSTALLとして環境変数に設定します。
 例:解凍してできたフォルダが「C\:db-derby-10.x.x-bin」の場合、コマンドラインに
   「set DERBY_INSTALL=C\:db-derby-10.x.x-bin」として実行します。
3.コマンドラインに「cd %DERBY_INSTALL%\demo\simple」と入力し、demo用アプリケーションの存在するフォルダへ移動します。
4.コマンドラインに「set CLASSPATH=.;%DERBY_INSTALL%\lib\derby.jar」と入力し、クラスパスを設定します。
5.コマンドラインに「java org.apache.derby.tools.sysinfo -cp embedded SimpleApp.class」と入力し実行します。
 上記2〜4の設定が正しく行われていれば
  FOUND IN classpath:
  Derby embedded engine library (derby.jar)
  user-specified class (SimpleApp)
  SUCCESS: All Derby-Related classes for embedded environment found in classpath.
 と出力されます。
6.5で正しく環境設定が行われていることを確認したら、コマンドラインに「java SimpleApp」と入力し実行します。
 プログラムが稼働していることを確認してください。

5 :関連リンクを書いた人:2005/10/09(日) 04:39:49 ID:???
>1
激しく乙!

ところでリリースノートのURLを間違えていましたorz
リリースノートはPDFではなく、HTMLです。

IBM Cloudscape V10.1 リリース・ノート
http://publibfp.boulder.ibm.com/epubs/html/d8864661.html

6 :NAME IS NULL:2005/10/09(日) 19:50:57 ID:???
>>1 おつかれ
derby(とcloudscape)って使っている人まだ少ないのかねー。
日本語の情報が全然ないもんね。

こんな良いDBがタダで使えるなんで、他に無いと思うんだけどね。
PostgreSQLとかもいいんだけど、derbyの設定いらず、管理いらずの
よさって他になかなか無いと思う。

なにげにMacでも使えるし。

7 :NAME IS NULL:2005/10/16(日) 07:07:19 ID:???
今月と来月のJavaWorld(2005/11,12)でDelbyの解説をやってるね。
11月号はインストールと簡単な使い方のみでつまんなかったけど。

8 :NAME IS NULL:2005/10/19(水) 18:52:20 ID:1jaemagd
HSQLDBとどっちが速い?特に起動。

9 :NAME IS NULL:2005/10/22(土) 13:50:05 ID:???
起動やちょっと使う程度だと、HSQLDBの方が速いかな。
HSQLDBはデータ量が増えると遅くなるから、derbyにはそのあたりの耐久性を期待。

10 :NAME IS NULL:2005/10/22(土) 19:13:20 ID:GCiqLehV
そうそう。HSQLDBは、更新を行うテーブルの場合、データのコンパクションを行わないと
とてもとても重くなる。 derbyに期待。


11 :NAME IS NULL:2005/10/23(日) 00:40:25 ID:???
HSQLDBって何件くらいで重くなるの?
Derbyで1万件位あるデータの検索は結構速かったよ

12 :NAME IS NULL:2005/11/29(火) 02:23:07 ID:???
なんかこっそり10.1.2.1が出てますね。
ttp://db.apache.org/derby/releases/release-10.1.2.1.cgi

13 :NAME IS NULL:2005/11/30(水) 20:27:40 ID:???
これ使い始めたんだけど、良いね。なんかお手軽な割にしっかり動いてるし。

14 :NAME IS NULL:2005/11/30(水) 22:11:26 ID:???
HSQLと比べてどうかということだね。
Apacheライセンスってことでライセンスを統一しやすいこっちのが好きだけど

15 :NAME IS NULL:2005/12/01(木) 02:30:26 ID:???
たぶんHSQLDBのほうが速いだろうと予測するけども、Derbyは
ちゃんと排他処理とかやってそうな感じだな。

16 :NAME IS NULL:2005/12/01(木) 21:41:24 ID:???
ストアドプロシージャやPreparedStatementが使えるなら
一般用途では性能なんてほとんど「気のせい」の世界じゃない?


17 :NAME IS NULL:2005/12/10(土) 23:37:20 ID:???
HSQLとの対比がわかる表があったら嬉しい。
HSQLはファイルモードで複数ファイル作るから、こっちが1ファイルならちょっと考えちゃう。

18 :NAME IS NULL:2005/12/11(日) 04:39:36 ID:???
>>17
使えばすぐわかるが、複数ファイルだよ

19 :NAME IS NULL:2005/12/11(日) 20:28:58 ID:???
・・・やばい、Derby遅い。

スキーマ
create table test(id integer not null, name varchar(20))

forName
HSQL org.hsqldb.jdbcDriver
DERBY org.apache.derby.jdbc.EmbeddedDriver

connectionString
HSQL jdbc:hsqldb:file:db/hsql/hsqldata
DERBY jdbc:derby:db/derby/derbydata;create=true

1000件(左transaction, 右autoCommit)
insert into test values(" + i + ",'string" + i + "')
HSQL 0.172秒, 0.172秒
DERBY 6.203秒, 7.172秒

prepareStatement and transaction(左1,000件, 右100,000件)
insert into test values(?,?)
HSQL 0.094秒, 1.235秒
DERBY 0.906秒, 14.547秒

マシンスペック
Pentium4 1GHz, メインメモリ768MB


20 :NAME IS NULL:2005/12/11(日) 20:32:01 ID:???
キャッシュなしで36倍、キャッシュありで10倍遅い。
何か起動も2秒くらいかかってるし、チューンできる場所があるのかな?

21 :NAME IS NULL:2005/12/12(月) 18:39:53 ID:???
追加や更新をたくさん実行した直後のconnectが特に遅いんだよね。
その後のconnectは速いのに…なんなんだろ?

22 :NAME IS NULL:2005/12/13(火) 12:42:05 ID:???
>>21
エンジンですから暖気が必要なのです。


23 :NAME IS NULL:2005/12/13(火) 23:37:33 ID:???
ゲームに組み込むのにDerbyはどうなんだろ・・・
HSQLなら速度もネイティブと戦える速度みたいだけど
Derbyの遅さはちょっと気になるところ。

BLOGの速さを調査してみるか。

24 :NAME IS NULL:2005/12/13(火) 23:37:57 ID:???
BLOGじゃねーBLOBだったw

25 :NAME IS NULL:2005/12/14(水) 00:36:32 ID:???
なんかログのクリアとかしてる気がするんだよなぁ<再接続時

サーバモードで動かしたときのパフォーマンスも調べてみないとダメかなぁ

26 :NAME IS NULL:2005/12/14(水) 01:57:04 ID:???
ログは正直イラネです。接続文字列のときに欲しけりゃ指定みたいにして、デフォはなくして欲しい。

27 :25:2005/12/14(水) 12:06:41 ID:???
気になって調べてみたんだが、ちゃんとシャットダウンしないと
次回起動時にリカバリー処理が走るらしい。
  DriverManager.getConnection("jdbc:derby:DBNAME;shutdown=true");
で、このgetConnectionは必ずSQLExceptionを吐く。

ijとかのツールは自動的にshutdownしてくれるから気が付かなかったっぽいけど、
まぁちゃんとマニュアルくらい嫁という話だったよ orzスマン

28 :NAME IS NULL:2005/12/19(月) 23:14:16 ID:???
Sunが次期Sun Studioにバンドルするとかなんとか。

29 :NAME IS NULL:2005/12/23(金) 03:19:13 ID:???
SunのJ2EE SDKにはPointBaseの前Cloudscapeがついてたしな

30 :NAME IS NULL:2006/02/03(金) 13:58:02 ID:DqM+Y4IV
>>16
PreparedStatementよりもストアドプロシージャのほうが
速いと思ってたけど、さほぼ変わりない?

というか最近じゃHibernateのようなO-Rマッピングツールばかりに頼って
ストアドプロシージャのこと考えないケースが多いのかな?

というか、このDerbyがHibernateなどのO-Rマッピングツールに
対応しているのか気になる。もし対応していたら使ってみようかなという気分になる。
Apache系だから
Jakarta Torqueにしか対応していないだったりして。

それより、PostgreSQL並みの機能を搭載しているのかも気になる。
性能は、やっぱりPureJavaでないDBよりも遅くなるのかな。



31 :NAME IS NULL:2006/02/03(金) 14:00:28 ID:DqM+Y4IV
>>27
DataSourceは使ってないんですか?

32 :NAME IS NULL:2006/02/03(金) 14:05:25 ID:DqM+Y4IV
>>27
コネクションを切るときに

Conneciton con = null;
try{
con = DriverManager.getConnection("〜〜〜〜〜");
//(ry
} catch ( /* (ry */ ) {
 //(ry
} finally {
 try{
  if(con != null || con.isClosed()){
   con.close();
  }
 } catch( /* (ry*/ ){
  //(ry
 }
}

でclose()しておかないとエラーになるという話とは違う?
このcatchが多いclose()コードを見ていると、いい加減に、APache Jakarta Commons DBUtils使うべきかな・・・
それともHibernate使うべきかな・・・・



33 :NAME IS NULL:2006/02/04(土) 00:06:36 ID:???
O/Rマッピングのツール類って、JDBCドライバさえあればどんなDBでも
マッピングできるでしょ。ApacheだからTorqueにしか対応してないなんて
ことはないでそ。

34 :27:2006/02/04(土) 04:23:49 ID:???
>>32
> でclose()しておかないとエラーになるという話とは違う?

まったく別。shutdownしないっていうことは、
サーバ型DBのプロセスをいきなり殺すくらいに相当するみたいよ。

35 :NAME IS NULL:2006/02/04(土) 11:05:56 ID:???
O/Rマッピングは標準SQLが基本で、方言はそれようのクラスを指定するんじゃねーの?

36 :NAME IS NULL:2006/02/11(土) 16:49:25 ID:???
次スレが早くもたちました。

Apache Derby
http://pc8.2ch.net/test/read.cgi/db/1139638967/


21 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)