X



【Pure】HSQL database engine【Java】
0001名無しさん@お腹いっぱい。
垢版 |
03/08/16 02:57ID:enpQ5UvU
100% pure Java なデータベース HSQL について語ってくれたまえ。

Javaアプリケーションのデータ格納用に、PostgreSQL や
MSDE をインストールするのはちょっと面倒くさい、
Jet(mdb)みたいにセットアップできるデータベースが欲しい、
そんなあなたに HSQL。

http://hsqldb.sourceforge.net/
0002名無しさん@お腹いっぱい。
垢版 |
03/08/16 15:24ID:???
少々大きなテーブルを作ろうとすると、すぐOutOfMemoryで落ちちゃう。
TEXTかCACHEDを使えってことなんだろうけど、この2つをどの観点で切り分けて使えば
いいのかイマイチ判断がつかない。「俺はこうしてる」ってのがあったらおながいします。
0003名無しさん@お腹いっぱい。
垢版 |
03/08/16 18:26ID:???
>>1嬉しいねー。漏れもこのDB好きなんだ。地味に盛り上げたいね、このスレ。

>>2そうなのか。いつもCACHEDなので気にしてなかったんだが。
10万件程度ならCACHEDだと全然問題ナッシングだったがなー。
JVMのメモリ割り当てを変えても駄目か?
0004名無しさん@お腹いっぱい。
垢版 |
03/08/17 01:59ID:???
>>3
漏れもこのDB結構気に入ってる。
JVMのオプション指定すればOKなんだけど、起動中に数十万単位でレコード数を
変えようとしてて、その時にエラーがでちゃったわけで。
#そもそもMEMORYテーブルでそういう使い方をしちゃダメなんだろうけど
テーブルの構造にもよるけど、オプション指定しなくても30万レコードくらいは
MEMORYテーブルに載ってくれる。レコード数が変わらない(所謂マスタ)ところ
にはMEMORYでそれ以外はCASHEDかTEXTとは思ってるんだけど、ドキュメントにも
「CASHEDはパフォーマンス落ちるからレコード数が多くなければMEMORYを使え」
とあったんで。
とりあえず、問題のテーブルはCASHEDにしてパフォーマンス見てみるよ。
00053
垢版 |
03/08/18 00:19ID:???
>>4
そもそもMEMORYテーブルってレコードを永続化できないから
普段は使ってないんだけど、それだけのデータを起動時に外部から
取り込んでいるってこと? あとshutdown時に外部に吐き出してるの?
この辺の運用の仕方、すごく興味あるなー。

レコードの消失防止と起動時の復帰さえ手軽に出来れば、
かなり無敵感強いDBだと思ってるのだけど。
00064
垢版 |
03/08/19 23:12ID:???
>>5
shutdown時に吐き出すってより、起動時にトランザクションログ(*.script)から
テーブルを作り直すという動作をしてるみたい。だからサイズがでかくなると、
起動も遅くなる。
0007名無しさん@お腹いっぱい。
垢版 |
03/08/20 09:05ID:???
>>6
なるほどIn-Memoryだとそういう動きをするのか。
CACHEDのリカバリと同じなんだな。
でもちゃんとそうやって復帰してくれるなら安心ではあるな。
0008名無しさん@お腹いっぱい。
垢版 |
03/08/21 23:35ID:???
HSQLって JDBC でしか接続できないのでしょうか。
ODBC ドライバとかあれば、試してみたいと思ったのですが。。
0009名無しさん@お腹いっぱい。
垢版 |
03/08/22 08:16ID:???
>>8
ODBCは直接は無理。海外だと有償のODBC-JDBCブリッジがあるらしいけど。
JDBCのType-1(JDBC-ODBCブリッジ)のちょうど逆だね。
ODBCから使えると本当に最高だと思うけど、仕方ないねー。
0010名無しさん@お腹いっぱい。
垢版 |
03/08/24 12:19ID:A8PFVsM7
>>6
逆に.scriptから復帰しないって方法はあるんかいのー?
別のDBのフロントキャッシュとしてだけ使うみたいな
ことが出来れば面白いと思うんだが。
0012名無しさん@お腹いっぱい。
垢版 |
03/09/17 22:21ID:???
>>11
なるほど完全にin-memoryモードで使うわけだね。

そういえばalpha_Oがリリースされてるね。
久々に活発になってきたようで嬉しい。
0013名無しさん@お腹いっぱい。
垢版 |
03/09/18 08:17ID:???
>>12
久々というほど活発だった時期があったとは思えんが(w
1すれ消費できるようになるなら、
それなりに認知されてきたってことなんだろうね。
2chが基準かよってきはするが。
0014名無しさん@お腹いっぱい。
垢版 |
03/09/18 13:21ID:T3nvntjU
そりゃまそうだけどさ(w
1.7.1のあと割と早く1.7.2系に取り組んで
ぽろぽろと出てたジャン。その頃は結構
ワクワクしてたんよ、漏れ(w

よーし頑張ってスレ消費するぞ〜(違
0018名無しさん@お腹いっぱい。
垢版 |
03/09/22 18:26ID:???
>>16

んじゃ、数日で1つずつくらいのペースで(w
CHECKPOINT DEFRAGの実装によって、シャットダウンしなくても
.dataファイルをデフラグできるようになった。
0022名無しさん@お腹いっぱい。
垢版 |
03/09/24 00:38ID:???
>>21
使ってるよ。
普通使うなら、Windowsやろ。
Linuxでつかうのは特別なケース。
Pure Javaだからプラットフォーム関係無いで。
0024名無しさん@お腹いっぱい。
垢版 |
03/09/26 00:08ID:???
>>23 本番って??? HSQL をユーザー納品してるの?
いずれは PostgreSQL, MySQL と同じ土俵にあがるのかな。
いまはそこまでの評価・評判・ユーザー数に達してないよね。。残念だけど。
002623
垢版 |
03/09/26 11:13ID:???
>>24-25
納品してるよ。別に本番ったって全部が全部
そんな規模のでかい話ばかりじゃないよね。
HSQLDBで済む程度のシステムだってあるさ。
うちはシステムの内容に応じて、
Oracle,PostgreSQL,HSQLDBを使い分けてる。
0028名無しさん@お腹いっぱい。
垢版 |
03/09/27 20:00ID:???
Alpha_Qだった。どうも最近活発というよりも新しい奴でバグが出まくってる感じだな。

1.7.2の新機能つづき。
参照整合性制約に
ON {DELETE | UPDATE} {CASCADE | SET DEFAULT | SET NULL}]
が使えるようになった。
0029名無しさん@お腹いっぱい。
垢版 |
03/09/30 12:50ID:???
詳しい方教えてくだされ。
α-QでCHECKPOINTを実行すると、
.backupファイルの生成に時間がかかって
えらくパフォーマンスが低下してしまうぞよ。
何とかなりませんかね。
0031NAME IS NULL
垢版 |
03/10/26 18:40ID:???
よーしパパ、HSQLをネイティブコンパイルしちゃうぞ〜。
0032NAME IS NULL
垢版 |
03/10/27 08:19ID:???
>>30
Zこえるとどうなるの。
Betaになるのか(w
0033NAME IS NULL
垢版 |
03/10/27 11:17ID:???
>>32どうなるんだろうねー。alpha_AAとかなのかな(w
いい加減Betaになってくれと思う今日この頃だなー。
最近妙に不安定だし。Mくらいのときのほうが安心できたよ。
>>31よーしパパ期待しちゃうぞ−(w
0034NAME IS NULL
垢版 |
03/10/29 19:36ID:S75h6IRs
データベースをCD-ROMに収めて使うことはできないのかなぁ・・・

ドキュメソトのAdvanced Topics辺りを見て、
Shutdown Compactして、*.propertiesをtrueに変えて
データベースをCD-Rに焼いたんだけど、アクセスすると、

java.sql.SQLException: The database is already in use by another process: org.hsqldb.NIOLockFile@d9aa8fd3[file =h:\test.lck, exists=false, locked=false, valid=false, fl =null]: java.io.FileNotFoundException: h:\test.lck
(このメディアは書き込み禁止になっています。)

ってな例外がでまつ。なんでだろー?
レコードが40万件位あるのでCACHED TABLEを使っているけど、
関係あるかな?

003534
垢版 |
03/10/29 19:40ID:S75h6IRs
× *.propertiesをtrueに変えて
○ *.propertiesのreadonlyをtrueに変えて
003634
垢版 |
03/10/29 22:49ID:S75h6IRs
hsqldb_1_7_2_ALPHA_T.zip を使っていたのが原因でした。
安定版(1.7.1)では発生しません。CVS版でも修正済みたいです。

昨日時点でSourceForgeに報告されてました。
[ 831711 ] .lck file created for read-only database
0038hsql
垢版 |
03/11/01 18:19ID:RCfKS0Jk
このサイトのtestdb.java(サンプルプログラム)のコンパイル方法教えてください。
以下のエラーが出てしまいます。

Exception in thread "main" java.lang.NoClassDefFoundError: testdb (wrong name: t
estdb/testdb)

[サイト]
http://hsqldb.sourceforge.net/web/hsqlDocsFrame.html
0039NAME IS NULL
垢版 |
03/11/01 22:40ID:s0QICZbG
>>38
おそらくパッケージの問題。
"package"について正しく理解してる?

ソースの在処とコンパイルのコマンドラインと
実行時のコマンドラインを晒してミソ。
0040NAME IS NULL
垢版 |
03/11/02 08:32ID:???
>>39
サンプルとはいえ、クラス名を小文字で始めるとは、
なっとらん。
サンプルではない、JDBC関連もそうなんだけどね。
0042NAME IS NULL
垢版 |
03/11/02 21:58ID:L48Xzafc

java -classpath hsqldb.jar testdb.java
0043NAME IS NULL
垢版 |
03/11/02 22:00ID:L48Xzafc
接続先は、localhostです。
サンプルソースの変更が必要なら修正箇所も指摘して下さい。
その他、いいサンプルがあれば記述してもらえますか?
お願いします
0044hsql
垢版 |
03/11/02 22:02ID:L48Xzafc
接続先は、localhostです。
サンプルソースの変更が必要なら修正箇所も指摘して下さい。
その他、いいサンプルがあれば記述してもらえますか?
お願いします
0045NAME IS NULL
垢版 |
03/11/02 22:47ID:+w7YG6vg
>>42
コンパイルは javac でそ!

カレントディレクトリに testdbディレクトリを
つくってなー、その中にtestdb.javaを置いてな─、
javac -classpath hsqldb.jar testdb\testdb.java

実行は
javac -classpath hsqldb.jar;. testdb.testdb
だべ。(Windows用)

hsqldb.jarはカレントディレクトリにないとだめよ。

つーか、hsqldbの話題じゃないじゃん。
まずはJDKの使い方を勉強しる!
0046hsql
垢版 |
03/11/03 09:02ID:kWafL7rS

ありがとうございました。(神様)

0047NAME IS NULL
垢版 |
03/11/03 16:11ID:pc2PxWMG

hsqlで、コマンドベースでsql文流せますか?(スプリプト/シェル)

例)
 SQL Server (osqlと同じような機能)

0048NAME IS NULL
垢版 |
03/11/03 16:23ID:T4ks4co3
●●●2004年も被害者がでるのだろうか?●●●
http://sports2.2ch.net/test/read.cgi/kouhaku/1057943092/-100
行政機関、日本の全マスコミ、教育機関などによる、
個人に対する住居不法侵入からの盗聴、盗撮、24時間監視、
ストーカーで収集した個人情報を、
テレビ、新聞、出版物などで嫌がらせをしながら悪用している事実について、
>>1>>394までにまとめました。

2chのマスコミ板 http://society.2ch.net/mass/
●●●マスコミの盗聴、盗撮は許されるのか?●●●
で被害者の訴え、マスコミの隠蔽が、30スレまで続いています。
より多くの人に事実を知って貰うことが、
組織的、計画的な犯罪の刑事責任、民事責任を追及することにつながると考えています。
0049NAME IS NULL
垢版 |
03/11/03 22:27ID:???
>>47
DatabaseManagerのメニューから
File|OpenScript
では嫌か?
0050NAME IS NULL
垢版 |
03/11/04 22:38ID:vVoew7Yh
このサイトのScriptToolは使えるのでしょうか?
http://hsqldb.sourceforge.net/web/hsqlDocsFrame.html

コマンド
java -classpath .;hsqldb.jar;%CLASSPATH% org.hsqldb.util.ScriptTool

デフォルトで、st.sqlを読み込むようですが・・・
0051NAME IS NULL
垢版 |
03/11/09 09:45ID:+oHXMfSp
これって、なんか軽くてサイコーっすね。
ところで、ユーザはDBごとに作るしかないんでしょうか?
すいません。英語苦手なもので(^^;
いや、実際試せって話もあるんですが、どーも良く分からなくって。
0052NAME IS NULL
垢版 |
03/11/09 10:45ID:???
ユーザ作れるよ。以下ドキュメントより

CREATE USER username PASSWORD password [ADMIN] ;

Creates a new user or new administrator in this database. Empty password can be made using "".
Only an administrator do this.

See also: CONNECT, GRANT, REVOKE

そういえばWEB+DB PRESSのVol.17にHSQLDBの記事が出てたYO
0053NAME IS NULL
垢版 |
03/11/09 11:26ID:???
>>50
使えるのでしょうか?ってどゆこと?動かなかったの?
-script でスクリプトファイルの指定ができるね。
0054NAME IS NULL
垢版 |
03/11/09 15:06ID:+oHXMfSp
>52
なるほど、ありがとう。

実は、その雑誌に載ってるのを見て試してます。雑誌でもここで実運用で使われたという話が有るのを見て
心強いです。とりあえず、社内ツールの一つに使ってみようかと思ってます。
0055NAME IS NULL
垢版 |
03/11/26 07:59ID:???
alter tableでPRIMARY KEYは追加できないんだな。
作り直しかよ。
とりあえず、*.scriptを直接いじったがな。
0056NAME IS NULL
垢版 |
03/11/27 07:49ID:osNDTSLq
げげーそーだったんか。>55
使えるSQL確認しないといかんな。むーん。

しかし、これ扱いが楽でいいよね。
JDBC学習用の教材で使おうかとおもっとる。
0057NAME IS NULL
垢版 |
03/12/17 15:17ID:09dW1E6o
このHSQLってJ2EEサーバJBossにも含まれているんだね
0058NAME IS NULL
垢版 |
03/12/23 23:19ID:AY0jSFYa
色んな奴に含まれているねHSQLって
手軽だからいいね
0059NAME IS NULL
垢版 |
04/01/03 02:01ID:hMo7LGmt
1.7.2RC1きた!
0060NAME IS NULL
垢版 |
04/01/03 04:18ID:v2ltVVTF
キタ
0061 
垢版 |
04/01/04 20:21ID:XHsDwE5w
Kさん 好循環  Aさん 悪循環  
 (健康体)  (喘息)

1.(天国・霊界が喘息であるかないかを決める)
2.K 喘息でない人 A 喘息の人は
は体力がある    体力がなくなる

3.K        A 行動力、五感(嗅覚)が鈍り感性が変化する。
4.K&A 天国・霊界は異常な感性の人間は本来人に迷惑をかけ
るから外に出てはいけないと思っている。

5.K 変化なし   A アトピーになる
6.K 正常な感性  A 外に出なくなりさらに異常な感性になる。
7.K 正常な人間   A 異常な人間(レッテル)
8.K&A 死  9.K&A      来世
10.K&A 天国・霊界は異常な人間は人に迷惑をかけるので行動
を抑制する必要があると思っている。

11.K&A 天国・霊界が喘息であるかないかを決める 12.K 喘息でない  A 喘息である
13.K&A    1.に戻る

これは事実。広めようぜ
解決法:寝て起きて、やな気分でも、続けるけること。
体力をつけると感覚が正常に戻り、
アトピーも快癒に向かう。 目安としてグランドを10週くらい。
あとはウォーキング 2.3時間を目安にウインドーショッピングや本屋めぐり
鼻に変な違和感があったり、気分の悪い時は、
お腹の中の空気を出さなくてはならない。
口をしっかり閉じたまま、口の中に空間を作り、
口の中にできた空気を吐き出す。
これを100回から200回。
0063NAME IS NULL
垢版 |
04/01/30 14:05ID:we9a2zhw
保守age
0064NAME IS NULL
垢版 |
04/02/20 13:18ID:pJNNKEPm
hsqldb Beginners Guideによると、Server Engineで起動した場合、

>Shut down with Interrupt signal, or "shutdown" command with either tool.

とのことですが、INTシグナルを送っても無反応です。
TERMシグナルやHUPシグナルを送ると停止するのですが、
このときはログに何も吐かれてないため、強制終了されてるような気がします。

どなたかシグナルを送って安全に停止させる方法をご存知ないですか?
0065NAME IS NULL
垢版 |
04/02/25 22:56ID:creIg8CF
rc2
006664
垢版 |
04/03/06 22:54ID:???
調べてみたら、どこにもaddShutdownHook()が無かった。
INTシグナルで止まるってのは、Beginners Guideの記述ミスか内容が古かったからかな。
ラッパーを作ってshutdownを発行するようにしますた。
0068NAME IS NULL
垢版 |
04/03/14 17:42ID:mn/LcM3T
1.7.2rc3が出たage
0069NAME IS NULL
垢版 |
04/04/06 21:46ID:GXxkLk8T
ほしゅ
0071NAME IS NULL
垢版 |
04/04/26 23:38ID:VQfXvfRm
IBMのeclipseプラグインって自分でコンパイルせなあかんの?
バイナリどっかにないすか?
0072NAME IS NULL
垢版 |
04/04/27 02:36ID:???
さっき寝ぼけながら初インストールしてみたんですけど・・・・

まさか数十分でテーブル作ってJDBC繋げる所までできるとは(かなり適当臭いが)。
こんな簡単だったんですね。mysqlいらんわ。
つうかJ2SDKに標準添付して欲しいくらいだ。

で、使用上のコツやら役立ちサイトやらを皆さんが↓に書いてくれるのを期待して
 _∧∧__   / ̄ ̄ ̄ ̄
 |( ゚д゚)| < 寝る!
 |\⌒~\  \____
 \ |⌒⌒|
0073HSQL
垢版 |
04/04/27 20:25ID:fES63bVJ
ここのグループウェア製品は、HSQLを使っていまつ。
http://school.jgroove.net
評価版がダウンロードできまつ。

こういうふうに、組み込んで配布するには、いいかも。
0074NAME IS NULL
垢版 |
04/04/30 22:03ID:???
>>72
> つうかJ2SDKに標準添付して欲しいくらいだ。
同感だなー
ODBCが使えたら文句なしなんだけどな
0075NAME IS NULL
垢版 |
04/05/14 23:36ID:/nzbV1K7
1.7.2 RC5 で、Server -? が動かないのは私だけ?
1.7.1 ではヘルプメッセージが出たのに、RC5 ではそのまま起動してしまう。
0076NAME IS NULL
垢版 |
04/05/20 17:19ID:fuRs8H4J
JAVA
0077NAME IS NULL
垢版 |
04/05/20 17:20ID:fuRs8H4J
ジャバ ショックウェブはどこでダウンロードするの?
0078NAME IS NULL
垢版 |
04/05/31 14:45ID:ImmYcUYC
Final Release Candidate: 1.7.2 Release Candidate 6 (RC6a) (17MAY2004)
age.
0080NAME IS NULL
垢版 |
04/06/02 12:45ID:???
SELECT FOR UPDATE はありませんかそうですか

ま、そういうところを削って高速化してるんだろうからしょうがないか。
0081NAME IS NULL
垢版 |
04/06/06 15:02ID:Er4Up2UC
別に高速化のために削ってるわけではなくて
実装が追いついてないだけだがな。
あのインデックスの実装はどうにかならんかしかし。
0083NAME IS NULL
垢版 |
04/06/10 18:22ID:???
Vectorで実装されててだからB-treeみたいになってないんだよ。
だから後ろのほうのレコードを引いてくるのに時間がかかる。
100万件くらい放り込んでやると目立ってくる。DESCは互換性だけで
何の効果も出さないって書いてるしな。高速化のためにインデックスを使おうと
するとイライラしてくるよ。気に入らないのはそれだけだなHSQLDBは。
0085NAME IS NULL
垢版 |
04/06/20 23:14ID:VdeUrfdH
すみませんおききしたいことがあります
QueryToolクラスを使ってブラウザからHSQLを操作してるんですけど
起動時にどうしてもplaceテーブルだのCustomerテーブルだの
意図しないテーブルが作成されてご丁寧にデータまで挿入されます。

これを回避する設定方法があるのでしょうか。
0086NAME IS NULL
垢版 |
04/06/21 00:02ID:gHOZk9SV
85です。
すいません解決しました
テストモードで起動してたのがいけなかったみたいですね・・
0088NAME IS NULL
垢版 |
04/07/20 19:05ID:???
藻前様方、1.7.2がでましたよ。
DL数が0なんてはじめて見ますた。

……みんな、ここ、見てるよな?
0090NAME IS NULL
垢版 |
04/07/21 08:35ID:???
バッチ処理でカウンタ処理されるらしいのでしばらく0だったりする
hsqlの場合は特に目立つけどな
0091NAME IS NULL
垢版 |
04/08/03 07:47ID:X/RIdBny
お、でたか。
どれどれー、落として評価すべかぁ。
0092NAME IS NULL
垢版 |
04/08/03 10:02ID:???
米IBM、JavaデータベースのCloudscapeをオープンソースに
ttp://www.itmedia.co.jp/enterprise/articles/0408/02/news030.html
0093NAME IS NULL
垢版 |
04/08/07 00:09ID:???
>>92
Derbyは2MBほどあるってことなので
HSQLDBとは棲み分けられるんじゃないかな
と思ってたりする
0095NAME IS NULL
垢版 |
04/09/02 00:26ID:E31ifSsd
1.7.2以降、どうもメモリを馬鹿食いするようになった気がする。
0096NAME IS NULL
垢版 |
04/09/06 03:55ID:???
>>95
そうなの? ソースコードを負ってみないといかんかな。
0097NAME IS NULL
垢版 |
04/09/06 22:11ID:???
>>96
サーバモードで立ち上げて、プロセスの太り方を眺めてるだけでも、違う気がする。
0098NAME IS NULL
垢版 |
04/09/08 00:51ID:???
一度参照したデータをメモリに持ちっぱなしにするみたいなんだけど、どうすれば消えるか知りませんか?
0100NAME IS NULL
垢版 |
04/09/09 23:02ID:???
>>99
いや、それじゃなくて
CACHEDテーブルから一度SELECTしたデータを、
シャットダウンするまでキャッシュとしてVMのメモリに持ってるみたいなんだよ。
コミットとかチェックポイントしても解放しないし・・・

ひょっとすると>>95に関係あるかもしれない
レスを投稿する


ニューススポーツなんでも実況