1read 100read
2011年10月1期データベース【Pure】HSQL database engine【Java】
TOP カテ一覧 スレ一覧 削除依頼 ▼
・ 次のスレ
【必】未だにPostgresを馬鹿にするOracle厨【死】 ADO DAO など接続方法について 彼女にINSERT権限がありません Oracleがベンチマーク結果を隠したがる理由
【Pure】HSQL database engine【Java】
1 :03/08/16 〜 最終レス :11/05/08 100% pure Java なデータベース HSQL について語ってくれたまえ。 Javaアプリケーションのデータ格納用に、PostgreSQL や MSDE をインストールするのはちょっと面倒くさい、 Jet(mdb)みたいにセットアップできるデータベースが欲しい、 そんなあなたに HSQL。 http://hsqldb.sourceforge.net/
2 : 少々大きなテーブルを作ろうとすると、すぐOutOfMemoryで落ちちゃう。 TEXTかCACHEDを使えってことなんだろうけど、この2つをどの観点で切り分けて使えば いいのかイマイチ判断がつかない。「俺はこうしてる」ってのがあったらおながいします。
3 : >>1 嬉しいねー。漏れもこのDB好きなんだ。地味に盛り上げたいね、このスレ。 >>2 そうなのか。いつもCACHEDなので気にしてなかったんだが。 10万件程度ならCACHEDだと全然問題ナッシングだったがなー。 JVMのメモリ割り当てを変えても駄目か?
4 : >>3 漏れもこのDB結構気に入ってる。 JVMのオプション指定すればOKなんだけど、起動中に数十万単位でレコード数を 変えようとしてて、その時にエラーがでちゃったわけで。 #そもそもMEMORYテーブルでそういう使い方をしちゃダメなんだろうけど テーブルの構造にもよるけど、オプション指定しなくても30万レコードくらいは MEMORYテーブルに載ってくれる。レコード数が変わらない(所謂マスタ)ところ にはMEMORYでそれ以外はCASHEDかTEXTとは思ってるんだけど、ドキュメントにも 「CASHEDはパフォーマンス落ちるからレコード数が多くなければMEMORYを使え」 とあったんで。 とりあえず、問題のテーブルはCASHEDにしてパフォーマンス見てみるよ。
5 : >>4 そもそもMEMORYテーブルってレコードを永続化できないから 普段は使ってないんだけど、それだけのデータを起動時に外部から 取り込んでいるってこと? あとshutdown時に外部に吐き出してるの? この辺の運用の仕方、すごく興味あるなー。 レコードの消失防止と起動時の復帰さえ手軽に出来れば、 かなり無敵感強いDBだと思ってるのだけど。
6 : >>5 shutdown時に吐き出すってより、起動時にトランザクションログ(*.script)から テーブルを作り直すという動作をしてるみたい。だからサイズがでかくなると、 起動も遅くなる。
7 : >>6 なるほどIn-Memoryだとそういう動きをするのか。 CACHEDのリカバリと同じなんだな。 でもちゃんとそうやって復帰してくれるなら安心ではあるな。
8 : HSQLって JDBC でしか接続できないのでしょうか。 ODBC ドライバとかあれば、試してみたいと思ったのですが。。
9 : >>8 ODBCは直接は無理。海外だと有償のODBC-JDBCブリッジがあるらしいけど。 JDBCのType-1(JDBC-ODBCブリッジ)のちょうど逆だね。 ODBCから使えると本当に最高だと思うけど、仕方ないねー。
10 : >>6 逆に.scriptから復帰しないって方法はあるんかいのー? 別のDBのフロントキャッシュとしてだけ使うみたいな ことが出来れば面白いと思うんだが。
11 : >>10 URLをjdbc:hsqldb:. で接続すれば、メモリ内だけですべてが完結する。 起動時にキャッシュするってのはありかもね。
12 : >>11 なるほど完全にin-memoryモードで使うわけだね。 そういえばalpha_Oがリリースされてるね。 久々に活発になってきたようで嬉しい。
13 : >>12 久々というほど活発だった時期があったとは思えんが(w 1すれ消費できるようになるなら、 それなりに認知されてきたってことなんだろうね。 2chが基準かよってきはするが。
14 : そりゃまそうだけどさ(w 1.7.1のあと割と早く1.7.2系に取り組んで ぽろぽろと出てたジャン。その頃は結構 ワクワクしてたんよ、漏れ(w よーし頑張ってスレ消費するぞ〜(違
15 : とか言ってたら、今alpha_Pが公開されたYO! OのバグFix版らしい。
16 : >>14 1.7.2の新機能を1つずつ紹介してよ。 スレ消費できるで。(w
17 : 大量データでテストしてたら、 index作っても件数増えると遅くなるのな。 意味ねー!
18 : >>16 んじゃ、数日で1つずつくらいのペースで(w CHECKPOINT DEFRAGの実装によって、シャットダウンしなくても .dataファイルをデフラグできるようになった。
19 : shutown compatとは、また値五蘊脱毛。 そーすをみなさいの決のに名rそうやけど名。
20 : >>19 それ読めないぞさすがに(w
21 : HSQL を Windows で使っている人いる?
22 : >>21 使ってるよ。 普通使うなら、Windowsやろ。 Linuxでつかうのは特別なケース。 Pure Javaだからプラットフォーム関係無いで。
23 : >>21 漏れは開発時はWindowsだな。 本番はLinuxのことが多い。
24 : >>23 本番って??? HSQL をユーザー納品してるの? いずれは PostgreSQL, MySQL と同じ土俵にあがるのかな。 いまはそこまでの評価・評判・ユーザー数に達してないよね。。残念だけど。
25 : >>24 HSQLを本番で使うのはさすがに無理だと思うが、 Accessを本番で使うやつもいるくらいだから、 ありなのかもしれん。
26 : >>24-25 納品してるよ。別に本番ったって全部が全部 そんな規模のでかい話ばかりじゃないよね。 HSQLDBで済む程度のシステムだってあるさ。 うちはシステムの内容に応じて、 Oracle,PostgreSQL,HSQLDBを使い分けてる。
27 : Alpha_Pリリースsage
28 : Alpha_Qだった。どうも最近活発というよりも新しい奴でバグが出まくってる感じだな。 1.7.2の新機能つづき。 参照整合性制約に ON {DELETE | UPDATE} {CASCADE | SET DEFAULT | SET NULL}] が使えるようになった。
29 : 詳しい方教えてくだされ。 α-QでCHECKPOINTを実行すると、 .backupファイルの生成に時間がかかって えらくパフォーマンスが低下してしまうぞよ。 何とかなりませんかね。
30 : alpha_Sが出てるね
31 : よーしパパ、HSQLをネイティブコンパイルしちゃうぞ〜。
32 : >>30 Zこえるとどうなるの。 Betaになるのか(w
33 : >>32 どうなるんだろうねー。alpha_AAとかなのかな(w いい加減Betaになってくれと思う今日この頃だなー。 最近妙に不安定だし。Mくらいのときのほうが安心できたよ。 >>31 よーしパパ期待しちゃうぞ−(w
34 : データベースを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を使っているけど、 関係あるかな?
35 : × *.propertiesをtrueに変えて ○ *.propertiesのreadonlyをtrueに変えて
36 : hsqldb_1_7_2_ALPHA_T.zip を使っていたのが原因でした。 安定版(1.7.1)では発生しません。CVS版でも修正済みたいです。 昨日時点でSourceForgeに報告されてました。 [ 831711 ] .lck file created for read-only database
37 :
38 : このサイトのtestdb.java(サンプルプログラム)のコンパイル方法教えてください。 以下のエラーが出てしまいます。 Exception in thread "main" java.lang.NoClassDefFoundError: testdb (wrong name: t estdb/testdb) [サイト] http://hsqldb.sourceforge.net/web/hsqlDocsFrame.html
39 : >>38 おそらくパッケージの問題。 "package"について正しく理解してる? ソースの在処とコンパイルのコマンドラインと 実行時のコマンドラインを晒してミソ。
40 : >>39 サンプルとはいえ、クラス名を小文字で始めるとは、 なっとらん。 サンプルではない、JDBC関連もそうなんだけどね。
41 : [サンプル] http://hsqldb.sourceforge.net/web/hsqlDocsFrame.html Simple Code Example ← このサンプルですが、コンパイル方法教えて下さい。 classpathに、hsqldb.jar してもだめでした。
42 : java -classpath hsqldb.jar testdb.java
43 : 接続先は、localhostです。 サンプルソースの変更が必要なら修正箇所も指摘して下さい。 その他、いいサンプルがあれば記述してもらえますか? お願いします
44 : 接続先は、localhostです。 サンプルソースの変更が必要なら修正箇所も指摘して下さい。 その他、いいサンプルがあれば記述してもらえますか? お願いします
45 : >>42 コンパイルは javac でそ! カレントディレクトリに testdbディレクトリを つくってなー、その中にtestdb.javaを置いてな─、 javac -classpath hsqldb.jar testdb\testdb.java 実行は javac -classpath hsqldb.jar;. testdb.testdb だべ。(Windows用) hsqldb.jarはカレントディレクトリにないとだめよ。 つーか、hsqldbの話題じゃないじゃん。 まずはJDKの使い方を勉強しる!
46 : ありがとうございました。(神様)
47 : hsqlで、コマンドベースでsql文流せますか?(スプリプト/シェル) 例) SQL Server (osqlと同じような機能)
48 : ●●●2004年も被害者がでるのだろうか?●●● http://sports2.2ch.net/test/read.cgi/kouhaku/1057943092/-100 行政機関、日本の全マスコミ、教育機関などによる、 個人に対する住居不法侵入からの盗聴、、24時間監視、 ストーカーで収集した個人情報を、 テレビ、新聞、出版物などで嫌がらせをしながら悪用している事実について、 >>1 >>394 までにまとめました。 2chのマスコミ板 http://society.2ch.net/mass/ ●●●マスコミの盗聴、は許されるのか?●●● で被害者の訴え、マスコミの隠蔽が、30スレまで続いています。 より多くの人に事実を知って貰うことが、 組織的、計画的な犯罪の刑事責任、民事責任を追及することにつながると考えています。
49 : >>47 DatabaseManagerのメニューから File|OpenScript では嫌か?
50 : このサイトのScriptToolは使えるのでしょうか? http://hsqldb.sourceforge.net/web/hsqlDocsFrame.html コマンド java -classpath .;hsqldb.jar;%CLASSPATH% org.hsqldb.util.ScriptTool デフォルトで、st.sqlを読み込むようですが・・・
51 : これって、なんか軽くてサイコーっすね。 ところで、ユーザはDBごとに作るしかないんでしょうか? すいません。英語苦手なもので(^^; いや、実際試せって話もあるんですが、どーも良く分からなくって。
52 : ユーザ作れるよ。以下ドキュメントより 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
53 : >>50 使えるのでしょうか?ってどゆこと?動かなかったの? -script でスクリプトファイルの指定ができるね。
54 : >52 なるほど、ありがとう。 実は、その雑誌に載ってるのを見て試してます。雑誌でもここで実運用で使われたという話が有るのを見て 心強いです。とりあえず、社内ツールの一つに使ってみようかと思ってます。
55 : alter tableでPRIMARY KEYは追加できないんだな。 作り直しかよ。 とりあえず、*.scriptを直接いじったがな。
56 : げげーそーだったんか。>55 使えるSQL確認しないといかんな。むーん。 しかし、これ扱いが楽でいいよね。 JDBC学習用の教材で使おうかとおもっとる。
57 : このHSQLってJ2EEサーバJBossにも含まれているんだね
58 : 色んな奴に含まれているねHSQLって 手軽だからいいね
59 : 1.7.2RC1きた!
60 : キタ
61 : 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回。
62 : test
63 : 保守age
64 : hsqldb Beginners Guideによると、Server Engineで起動した場合、 >Shut down with Interrupt signal, or "shutdown" command with either tool. とのことですが、INTシグナルを送っても無反応です。 TERMシグナルやHUPシグナルを送ると停止するのですが、 このときはログに何も吐かれてないため、強制終了されてるような気がします。 どなたかシグナルを送って安全に停止させる方法をご存知ないですか?
65 : rc2
66 : 調べてみたら、どこにもaddShutdownHook()が無かった。 INTシグナルで止まるってのは、Beginners Guideの記述ミスか内容が古かったからかな。 ラッパーを作ってshutdownを発行するようにしますた。
67 : FYI: http://www-6.ibm.com/jp/developerworks/opensource/040220/j_os-echsql.html
68 : 1.7.2rc3が出たage
69 : ほしゅ
70 : RC5でてるね
71 : IBMのeclipseプラグインって自分でコンパイルせなあかんの? バイナリどっかにないすか?
72 : さっき寝ぼけながら初インストールしてみたんですけど・・・・ まさか数十分でテーブル作ってJDBC繋げる所までできるとは(かなり適当臭いが)。 こんな簡単だったんですね。mysqlいらんわ。 つうかJ2SDKに標準添付して欲しいくらいだ。 で、使用上のコツやら役立ちサイトやらを皆さんが↓に書いてくれるのを期待して _∧∧__ / ̄ ̄ ̄ ̄ |( ゚д゚)| < 寝る! |\⌒~\ \____ \ |⌒⌒|
73 : ここのグループウェア製品は、HSQLを使っていまつ。 http://school.jgroove.net 評価版がダウンロードできまつ。 こういうふうに、組み込んで配布するには、いいかも。
74 : >>72 > つうかJ2SDKに標準添付して欲しいくらいだ。 同感だなー ODBCが使えたら文句なしなんだけどな
75 : 1.7.2 RC5 で、Server -? が動かないのは私だけ? 1.7.1 ではヘルプメッセージが出たのに、RC5 ではそのまま起動してしまう。
76 : JAVA
77 : ジャバ ショックウェブはどこでダウンロードするの?
78 : Final Release Candidate: 1.7.2 Release Candidate 6 (RC6a) (17MAY2004) age.
79 : rc6bが出たわけだが
80 : SELECT FOR UPDATE はありませんかそうですか ま、そういうところを削って高速化してるんだろうからしょうがないか。
81 : 別に高速化のために削ってるわけではなくて 実装が追いついてないだけだがな。 あのインデックスの実装はどうにかならんかしかし。
82 : そんなに変な実装かい?
83 : Vectorで実装されててだからB-treeみたいになってないんだよ。 だから後ろのほうのレコードを引いてくるのに時間がかかる。 100万件くらい放り込んでやると目立ってくる。DESCは互換性だけで 何の効果も出さないって書いてるしな。高速化のためにインデックスを使おうと するとイライラしてくるよ。気に入らないのはそれだけだなHSQLDBは。
84 : rc6cが出たわけだが
85 : すみませんおききしたいことがあります QueryToolクラスを使ってブラウザからHSQLを操作してるんですけど 起動時にどうしてもplaceテーブルだのCustomerテーブルだの 意図しないテーブルが作成されてご丁寧にデータまで挿入されます。 これを回避する設定方法があるのでしょうか。
86 : 85です。 すいません解決しました テストモードで起動してたのがいけなかったみたいですね・・
87 : rc6dが出たわけだが
88 : 藻前様方、1.7.2がでましたよ。 DL数が0なんてはじめて見ますた。 ……みんな、ここ、見てるよな?
89 : >>88 1get!!したの? プロジェクトのホームページはなぜかRC6dまでしか 書いてないね。 http://hsqldb.sourceforge.net/
90 : バッチ処理でカウンタ処理されるらしいのでしばらく0だったりする hsqlの場合は特に目立つけどな
91 : お、でたか。 どれどれー、落として評価すべかぁ。
92 : 米IBM、JavaデータベースのCloudscapeをオープンソースに ttp://www.itmedia.co.jp/enterprise/articles/0408/02/news030.html
93 : >>92 Derbyは2MBほどあるってことなので HSQLDBとは棲み分けられるんじゃないかな と思ってたりする
94 : 保守
95 : 1.7.2以降、どうもメモリを馬鹿食いするようになった気がする。
96 : >>95 そうなの? ソースコードを負ってみないといかんかな。
97 : >>96 サーバモードで立ち上げて、プロセスの太り方を眺めてるだけでも、違う気がする。
98 : 一度参照したデータをメモリに持ちっぱなしにするみたいなんだけど、どうすれば消えるか知りませんか?
99 : >>98 CREATE CACHED TABLE
100read 1read
1read 100read
TOP カテ一覧 スレ一覧 削除依頼 ▲
・ 次のスレ
【必】未だにPostgresを馬鹿にするOracle厨【死】 ADO DAO など接続方法について 彼女にINSERT権限がありません Oracleがベンチマーク結果を隠したがる理由