X



UNIX DBMはこちら(GNU gdbm, Berkeley DB etc...)
0002名無しさん@お腹いっぱい。垢版03/07/01 11:45ID:U3ZaBIM2
2getすらされていませんよ?
0008名無しさん@お腹いっぱい。垢版03/07/03 01:53ID:???
/etc/pwd.dbとかちっちゃいやつではお馴染みだけど、
subversion http://subversion.tigris.org
とかかなりDBサイズが巨大なもんでもBerkeley DB使われてるね。

Berkeley DB XMLとか面白そうだけどまだ使ったこと無いや。
http://www.sleepycat.com/products/xml.shtml
GettingStart斜め読みした限りでは問い合わせ言語に
XPath(name space support)が使えるからかなり良さげ。

そういや誰かXPathの擦れも建てて欲しいと思ったり、スレ建てインポなんで。
0010名無しさん@お腹いっぱい。垢版03/07/04 17:45ID:???
>>9
Berkeley DBは問い合わせ(クエリ)のインタフェースに
SQLインタプリタみたいな複雑なものは使わないので、
C書ければすぐ使えまつよ。

*BSDなんかのlibc組込のBerkeley DBだと
openしてput/get/delしてcloseくらいのホント質素なもん、
Javaご存知ならimplements java.util.Map, java.io.Serializableって
いえばピンと来ると思いまつ

ドキュメントもよく整備されてるので是非一読を
http://www.sleepycat.com/docs/index.html
0011名無しさん@お腹いっぱい。垢版03/07/06 06:09ID:+9jOpiMC
質問なんですが、
perlでGDBMに受け渡したデータをJavaから呼び出すことは可能ですか?
初歩的な質問ですみません。
001311垢版03/07/06 12:06ID:+9jOpiMC

perlで野菜の値段データベースを以下のように作りました。

tie %yasai, 'GDBM_File', "yasaiDB", &GDBM_WRCREAT, 0640;
$yasai{tomato}=100;
$yasai{renkon}=50;
untie;


これで、ファイル名が"yasaiDB"と書かれたデータベースができました。
私が疑問に思ったのは作成されたこのデータベースはJavaのなかでも
呼び出せるのかというところです。
文字コードの問題などがありそうですが、不明なため質問いたしました。
よろしくお願いします。
0016名無しさん@お腹いっぱい。垢版03/07/06 23:26ID:???
漏れは馬DB使ってるのでGDBMはよく知らないんだけど、
言語バインディングごとにDBファイルの互換性が無いなんてこたーないでつ。
#エンディアンは問題になるかも、i368しか持ってないので試せない。

文字コードについては、
http://aurora.rg.iupui.edu/~schadow/dbm-java/pip/gdbm/ 使ってまつか?
Perl側の文字コードがEUC-JPだったりする場合は、RawPacking使って読み書きして
InputStreamReader/OutputStreamWriterで変換すればいいみたいでつ。
0017名無しさん@お腹いっぱい。垢版03/07/07 00:05ID:???
>>16
俺も同じく馬DB。

>>13
馬DBだとデータもキーもバイト列として保存するだけなんでエンディアンの影響はあります。
ntohl()とか使って変換しとけばOK。GDBMも同じじゃないかな。
0018名無しさん@お腹いっぱい。垢版03/07/07 03:26ID:0iBa7jUE
db3っておれだけか?いや誰か居るはずだ。
0020名無しさん@お腹いっぱい。垢版03/07/07 04:08ID:???
>>19
それ。でも何故かbdbと言えば皆bdb2なんだよ。
WebSphereでも*BSDでもbdbと言えばbdb2なんだよ。
3使ってる奴いないんだよ。
何故だ?
002119垢版03/07/07 04:18ID:???
>>20
既に4系があるからでは。ウチでは4.1.25使ってる。
どちらかと言うと1.85の方が使われてない?
0029名無しさん@お腹いっぱい。垢版03/07/07 13:05ID:???
確かに早いな、>qdbm
ただ、トランザクションとRECNOインタフェースが無いね。
あんま必要性を感じたこたないが。

あんど馬DBも同様なんだが、java バインディングは
implements java.util.Mapしてホスイと思うのは漏れだけ?
003019垢版03/07/07 13:06ID:???
>>27
だね。1.86(出てるの知らなかった)まではBSDライセンス。
2.x以降はQtに似たデュアルライセンスでした。
0032名無しさん@お腹いっぱい。垢版03/07/08 00:16ID:???
Berkeley DB 4.2.XX Change Log
ttp://www.sleepycat.com/update/4.2.XX/if.4.2.XX.html

The new Java DBX API for Berkeley DB allows Java programmers to use a familiar
Java Collections style API, including Map, while interacting with the transactional
Berkeley DB core engine. [#6260]
0035名無しさん@お腹いっぱい。垢版03/07/09 19:42ID:9zWC4YIG
あなたたちが求めるDBMの機能ってなんなの?
・処理が速い
・データベースファイルのサイズが小さい
ってのはもちろんだよね。他に、アクセスメソッドの豊富で(ハッシュ、B木、キューなど)、
トランザクションとかあると嬉しい人もいるのかな。他にもREDOログによる復旧もできると
嬉しいかもね。
一方で、高度な機能は求めてなくて、シンプルで移植性(代替)があって高速なのがDBMの
よいところでもあるよね。
0036名無しさん@お腹いっぱい。垢版03/07/09 21:28ID:???
初心者質問で悪いんだけど
馬DBって何ですか? Berkeley DBのこと?
horse DB とかでググッたけど、何か競走馬のデータベースとか
引っ掛かって??です。
003717垢版03/07/10 01:42ID:???
>>36
馬DBはBerkeley DBです。たぶん。
このスレ>>16辺りが初出と思われ。

わかりにくくてスマソ
0038名無しさん@お腹いっぱい。垢版03/07/10 08:36ID:???
Linux = リヌクス...いぬくそ...犬糞
BSD = バークレーソフトウェアディストリビューション...ばくそ...馬糞

同じBerkeley繋がりってことで馬DB
004136垢版03/07/10 21:05ID:OZ1qJzcP
馬DB = Berkeley DB ってことね。了解。

それでは、馬DBユーザに質問

今、私は 馬DB4.0.14 を Java から使ってます。
(Solaris2.6, JDKはJ2SDK1.4.1)

馬DBのRPCの機能を使って、C/S環境でプログラム作っている。

com.sleepycat.db.DbException: DB_NOSERVER_ID: Identifier unrecognized at server:
DB_NOSERVER_ID: Identifier unrecognized at server

というエラーが出てしまいます。このエラーはクライアントのJava VM でスレッ
ドを3つ作って,3つのスレッドでそれぞれ new DbEnv() してると
多発するみたい。しかしエラーが出ないときもあるのがまた困りもの.

もしかして,DbEnvオブジェクトってマルチスレッドで使えない?

このへんの所,詳しいやつ,おれに教えれ!
いや,教えてください.おながいします m(..)m ペコペコ
0042名無しさん@お腹いっぱい。垢版03/07/11 03:36ID:???
>>41
お、RPC使ってるのか。人柱よろ。とりあえず、
・馬DB 4.1.25にアップグレード
・ビルド時のconfigure引数晒す
とか。

ところで、DbEnvって1プロセスに複数作れたっけ?
004336垢版03/07/11 20:45ID:u2EvQPDC
先に謝る.長文メンゴ.長文過ぎて怒られたので2つに分けてる

|| ・馬DB 4.1.25にアップグレード

最初は,4.1.25 + patch.4.1.25.1 ってのを使っていたんだけど,4.1.25だと
Java + RPC の環境で使えないようなので 4.0.14 に戻したんだ.

そう思った理由は以下を見てチョ.

* DbEnv.open()の flag 引数の説明ところから抜粋
Db.DB_THREAD
Threading is always assumed in the Java API, so no special flags are
required and Berkeley DB functions will always behave as if the
Db.DB_THREAD flag was specified.
つまり,Java API から使うと Db.DB_THREAD フラグが必ずセットされる.
(http://www.sleepycat.com/docs/api_java/env_open.html#Db.DB_THREAD)

* RPCプログラミングのイントロから抜粋
The DB_THREAD flag to the DB_ENV->open and DB->open methods may not be
specified, that is, DB_ENV and DB handles used in RPC clients are not
free-threaded.
(http://www.sleepycat.com/docs/api_c/env_open.html#DB_THREAD)
つまり,RPC環境でDB_THREADがセットされるとダメ(英文解釈間違ってるかも)

もしかして,4.1.25 でわざわざ使えなくなってるってーことは,4.0.14で
Java+RPCの組合せには,バグありってことなのかな.
004436垢版03/07/11 20:46ID:u2EvQPDC
その2

|| ・ビルド時のconfigure引数晒す

config.log によれば,

$ ../dist/configure --prefix=/usr/local/db4 --enable-java --enable-rpc

です.ちなみに馬DBのコンパイルに使ったCコンパイラは

% cc -V
cc: Sun WorkShop 6 update 2 C 5.3 2001/05/15

だった.

|| ところで、DbEnvって1プロセスに複数作れたっけ?
そう,ここが臭ーいのだ.4.0.14のソース(DbEnv.java)の中にこんなのがある
んだけど...

public class DbEnv
{
....
public static class RepProcessMessage {
public int envid;
}
....
}

これって, 1プロセスで複数のDbEnvオブジェクトを作ったら envid は共有さ
れているの? static class つーのが解りません.
#ただの Java の質問になってまった
0045名無しさん@お腹いっぱい。垢版03/07/12 03:27ID:???
>>44を読んだだけでソース読まずにカキコ。
envidはRepProcessMessageのインスタンス毎に値を持っている。
DbEnvは無関係。

public class A {
 public static class B {
   private int value;
 }
}



public class A {
}
public class B {
 private int value;
}
はほとんど同義だよ。
違いは
1.インスタンスの生成は A.B b = new A.B(); と書く
2. 前者はclass AはB.valueにアクセス可能、後者は当然無理
ってとこかな。
0046名無しさん@お腹いっぱい。垢版03/07/12 20:15ID:dnxUtIhJ
CygwinでBerkeleyDB使える?
0052名無しさん@お腹いっぱい。垢版03/07/13 14:04ID:zd7coiS0
GDBMについて詳しく説明してくれ。
RDBなの?
特徴は?
どんな時に使ったりしてる?
0053名無しさん@お腹いっぱい。垢版03/07/14 02:49ID:JS73bRQi
キーと値のペアからなるレコードをファイルに保存したり、そうやって作った
ファイルからレコードを取り出すことができるようになります。機能はそれだけ。
RDBとはあんまし関係ないです。しいていえば、RDBのインデックスに使うハッシュ
とおんなじようなことをしているツールです。
利用法はいろいろありますが、わざわざRDBを使うまでもないようなことに使います。
例えばWebの掲示板とか、アクセスログの記録とか、ユーザアカウントの管理なんかですね。
0054名無しさん@お腹いっぱい。垢版03/07/14 03:23ID:???
バカが「低水準関数でのファイル操作が一番速い」とロクな知識もなく
無茶苦茶なファイル操作して大幅な速度低下を起こすのを防ぐのに使います。
いや、使わせます。
0055名無しさん@お腹いっぱい。垢版03/07/22 21:17ID:82vtyiOg
BerkeleyDBの、set_pagesize、set_cachesize、set_h_ffactor、set_h_nelem、set_cachesize
とかのチューニングのツボがイマイチよくわからん。強者の解説求ム。
0056名無しさん@お腹いっぱい。垢版03/07/23 01:57ID:???
 ̄ ̄ ̄\:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\       /
       l:::::::::::::::::::::::::;;:::ヘ::rv'レ'、::::::::::::::::::ゝ    /
       |::::::;::vrヘl/''"`"_,, ノ 、;;、 ''ヽ;:::::::::::!    |
  頼   \'' "   _,,..-=、''_  >',=-、 ' i:::::::;!    ヽ  も し. は ア
       |   / ,rニ・L  | { ':ニ・i,.  |:::::l    /     て    ゲ
       /    'i ,''≡'   | i`== i i;/l    >   も く  勘 る
  む  /,i     | !   r┤ i、  J ,:、!,!    |.    う れ 弁 の
     ヽ,! ‐=、;、 | l  , , ,`',,`''´,',  〃 |i    ヽ      ・
     r‐-`;-  'ヾ;;''、 ,' , ',,;===; ' ,i/ l  ‐=、--'      ・
     |ヽ__,i  ,   i! , /r──-l! i! /;、_   ``i       ・
___/'´ i ', ' , ' ,  | ''" ̄ ̄ ̄  !./ i;;;;;``''-、 ``i
;;;;;;;;;;;;;;/  i  `''-、, ', , ; , ' , ', ', ' ,', ' ,/'  |;;;;;;;;;;;;;;;;;;`''-i
;;;;;;;;;;;;/   i  ,' , .`''ー- '    ,. ‐'"/  |;;;;;;;;;;;;;;;;;;;;;;;;;゙ー、
0058名無しさん@お腹いっぱい。垢版03/07/26 05:28ID:E/jU4S1T
QDBMのGDBM互換APIがいいぞ。完全なソースコード互換で、速度は5倍以上出るんじゃないかな。
0059名無しさん@お腹いっぱい。垢版03/07/26 05:46ID:5DqcDSlZ
祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り

ニーノさんのホームページ作り2
http://ex.2ch.net/test/read.cgi/entrance/1059029010/
ニーノ ◆p9GipySMGk によってラウンジにたてられたこのスレで、

http://page.freett.com/ninogumi/
【ニーノさんのホームページ】
というサイトが作られた。(現在もコンテンツは爆発的に増えてるよ。)

さぁ、君もアイディアを出して、2CHネラーだけの最強サイトをつくろう!

祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り祭り
0060ぼるじょあ ◆ySd1dMH5Gk 垢版03/08/02 04:58ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
0061山崎 渉垢版03/08/15 23:04ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0063名無しさん@お腹いっぱい。垢版03/08/24 16:41ID:6jUjlvB1
>>62
単純な掲示版ならそれでいいと思う。
で、"max"みたいな特別なキーに記事番号の最大値をいれておけば、新着順に表示できるはず。
2chのようにフローティング機能を持たせたいのなら、各記事を双方向リンクリストでつないでおいて、
記事を上げる場合はそのつなぎかえをしなきゃならんが。
0065名無しさん@お腹いっぱい。垢版03/09/22 01:58ID:wHXY83fg
>>64
CDBって何が優れてるの?
単なるハッシュDBだったらSambaのTDBが最速だと思うんだけど、djb氏はなぜ今さら
yet anotherなものを作る必要があったのだろう。
0066名無しさん@お腹いっぱい。垢版03/09/23 08:26ID:???
>DBMファイル直接ダウンロードできてしまうサーバも多いのは、気にしないの?
>ついでに、DBMファイルとの接続は、普通のテキストファイルに比べて、3倍〜10倍の時間がかかるのも気にしないの?
>おまけに、1件(テキストファイルなら行)あたりの読込み速度が数倍かかるのも気にしないの?
ってみたんだけど、テキストやRDBMSほうがいいの?
0067名無しさん@お腹いっぱい。垢版03/09/23 21:58ID:???
>DBMファイル直接ダウンロードできてしまうサーバも多いのは、気にしないの?

鯖の設定を知らんアフォですな、テキストならダウンロードできないとでも思ってるのか?

>ついでに、DBMファイルとの接続は、普通のテキストファイルに比べて、3倍〜10倍の時間がかかるのも気にしないの?
>おまけに、1件(テキストファイルなら行)あたりの読込み速度が数倍かかるのも気にしないの?

>>54に尿意
RECNOみたいに行番号だけで済む探索ならプレーンテキストと優位な差は出んが
ランダムアクセスならハッシュのDBMの方が明らかに速いのが判らん痛い人なのだろう。


0068>>66垢版03/09/23 22:08ID:???
数万個のレコードがある場合、ファイルを開く時間に較べれば検索にかかる時間がとても大きくなります。
単なるテキストファイルだと数万回の読みだしとデータ比較を行うことになりますが、DBMを使えばそれが
たった数回で済むのです。というわけで、検索キーのあるレコードを保存するにはテキストよりDBMが有利です。
DBMとRDBMSの使い分けに関してですが、検索キーやレコードの構造が複雑な場合はRDBMS、キーとそれに対応
する値がひとつづつといった単純な構造の場合はDBMを使うとよいでしょう。ただし多くのDBMはキーの完全一致
検索しかサポートしていないので注意しましょう。
0069名無しさん@お腹いっぱい。垢版03/09/23 22:20ID:???
>>65
> yet anotherなものを作る必要があったのだろう。
元々はqmailとかdjb toolの設定ファイルキャッシュ用に作ったのだとオモタ。
動機はセキュア(=俺が書いたコードでないと安心できない)ってところか?
0072名無しさん@お腹いっぱい。垢版03/09/26 19:00ID:???
>>71
他にcdb使っているアプリってvpopmailだとかqmail臭いものばっかりだからなぁ。
djb信者じゃなければ、ふつ〜にBerkleyDBやgdbm使ったほうがいいよ。特にBerkleyDB
は3以降で機能の大拡張がなされて、トランザクションまで使えるし。
0073名無しさん@お腹いっぱい。垢版03/09/29 00:12ID:???
2つ質問があります。
dbmは連想配列をファイルに保存とイメージしているのだけれども、
検索キーが複数あるような場合はやっぱし使えないですか。キーを適当なセパレータでつないだり
するのは別として。

掲示板のデータをdbmに収めたとして、たとえば"dbm"で全文検索して一致した書き込みを表示とかってできますか?
0074名無しさん@お腹いっぱい。垢版03/09/30 00:48ID:???
>>73
質問1の回答:キーが複数ある場合は、複数のDBMを使うしかない。
DBM-1は、列1をキー、オブジェクトのIDを値にする。
DBM-2は、列2をキー、オブジェクトのIDを値にする。
...
DBM-nは、列nをキー、オブジェクトのIDを値にする。
で、
DBM-Vは、オブジェクトIDをキーにし、オブジェクトの中身を値にする。
そして、キーに応じて適切なDBM[1..n]を引いてオブジェクトIDを取得してから、DBM-Vを引いて
オブジェクトを取り出せばよい。つまり、リレーショナルDBが暗黙的にやっているようなことを自分
で実装しなければならない。面倒だけど性能は期待できる。

質問2の回答:DBMで全文検索をするのは、そのままでは難しい。
全文検索ってのは、内容にあるパターンを含むレコードの一覧を得る処理なわけだが、DBMはキー
の完全一致しかサポートしていない(Btreeは前方一致が可能だが)。
DBMで無理矢理全文検索を実現するなら、テキストに含まれる語句を切り出して、切り出したパタ
ーンをキーとし、それを含むオブジェクトのIDの配列を値にすることになるだろうな。
"dbm" : [1,3,9,54,98]
"ndbm" : [1,8,53]
"sdbm" : [2,3,9,23]
みたいな構造にするのかな。パターンをどうやって切り出すかを考えるには、自然言語処理
についてちょっと勉強しないといけないだろう。
0076NAME IS NULL垢版03/10/30 20:44ID:HIhyk/qY
ちょっと使ってみたら、速度は
CDB >>>>> QDBM > TDB >> GDBM
だね。
CDBが圧倒的に速いし、ファイルも小さい。
でも更新と検索が同時にできないのはちょっと使いづらいかな。
0078NAME IS NULL垢版03/12/03 15:34ID:/crs/ZXG
BerkleyDBでは、レコードを削除しても、ファイルサイズが減らない(領域は再利用される)のですが、
元のファイルから古いデータを消して、新しいファイルにダンプするしかダイエットの方法はないですよね?
そのデータ移行中に更新がかかると取りこぼすような気がするので、何か良い回避方法はないですかね?
0079NAME IS NULL垢版03/12/05 12:46ID:???
データ移行中には更新をブロックするしかないんじゃないかな。
0080NAME IS NULL垢版03/12/31 21:15ID:???
ちとすれ違いだが。
apache_2.0.48のapr-utilのbuildが馬DB4.2.xだとコケるんだけど
↓のマクロをみて禿しく萎えた。
ttp://cvs.apache.org/viewcvs.cgi/apr-util/build/dbm.m4
ttp://cvs.apache.org/viewcvs.cgi/apr-util/build/dbm.m4?r1=1.5&r2=1.6
GNU autotoolってほんとにバッドノウハウの塊だね。
0081NAME IS NULL垢版04/01/20 17:50ID:UcaoSa+e
Berkeley DBなんですが、解凍したファイルを作成しておいた /db
ディレクトリへFTPして、それからTelnetでbuild_unixまで行って、
そこから../dist/configure と打ったら、こういうエラーが出ました。

bash: ../dist/configure: Permission denied

/db/ の属性は777と変更してから行ないました。

なにが問題なのでしょうか・・可能性を教えてください。
0082NAME IS NULL垢版04/01/20 23:30ID:???
それって、bashが「configureが許可がなくて実行できない」って言ってるんじゃない?dist/configureのファイル属性調べてみて。

0083NAME IS NULL垢版04/01/21 00:24ID:vfEXJDFI
てか、cd ../dist してから ./configureしなきゃ
0084NAME IS NULL垢版04/01/23 01:33ID:OV9Mrwi6

レ、レベルひくぅー
0085NAME IS NULL垢版04/01/26 23:04ID:???
人のこと馬鹿にする奴は地獄に落ちるぞ。
0086NAME IS NULL垢版04/01/28 15:40ID:???
>>84は昨日鳥インフルエンザでお亡くなりになりますた。
0087NAME IS NULL垢版04/01/30 11:06ID:???
web上の辞書引きページを作ろうと思ってるんですが、
単語数は、1000から2000で、各単語は発音、品詞、訳語、
例文など6〜7フィールドです。
頻繁にアクセスがあるとすると、どのDBMに格納するのが
吉でしょうか。ポスグレとかの方がいいのでしょうか。
0088NAME IS NULL垢版04/01/30 11:16ID:NJwR2Fzf
>>87続きです
それともこのくらいならテキストファイルの方が早いですか。
0089NAME IS NULL垢版04/02/01 00:36ID:???
その程度のサイズならば、ファイル全体がOSのI/Oキャッシュに乗るだろうから、
テキストファイルで問題ないと思います。
速度を追求するならBerkeley DB使った方がいいかな。QDBMもいいかも。
0090NAME IS NULL垢版04/02/01 08:24ID:???
>>89
ありがとうございます。
QDBMって速いっていうレスあったので、テキストと
両方試してみます。

0092NAME IS NULL垢版04/02/07 23:03ID:???
QDBM:パフォーマンスはオリジナルのNDBMの数倍は出ます。
ttp://qdbm.sourceforge.net/tutorial-ja.html
0093NAME IS NULL垢版04/02/28 08:20ID:???
Berkeley DBにあるRECNOってドンなの?
HASHとかBTREEならちょっとはわかるんだが。
実際どういう風に使うもんなんだろ...
0094NAME IS NULL垢版04/03/04 01:36ID:???
俺も使ったことないけど、ぱっと見で、プライオリティキューの永続化に役立つんじゃないかな。
0095NAME IS NULL垢版04/03/20 23:47ID:5TfEphvL
Berkeley DB って商用で使うとソース公開しないと有料なの?
0096NAME IS NULL垢版04/03/21 20:47ID:???
SDBMよりGDBMのが速いとか風の噂で聞いたので試してみたら
体感で明らかに遅くなってしまって頭かかえてたんだけど
ttp://qdbm.sourceforge.net/benchmark.pdf
ここの見るとGDBMって書き込みが激しく遅いのね
しかしこのベンチのSDBMのReadが0って・・・
0097NAME IS NULL垢版04/03/21 20:49ID:???
あ、qdbmってVCじゃビルド出来ないのね・・・
0098NAME IS NULL垢版04/03/22 09:39ID:???
PERLの掲示板スクリプトとかに使ってもOKですかね?
MovableTypeでBerkeley DB使えるのを見て思ったのですが。
スレッドとか検索とか付いてくると、色々ごちゃごちゃ
してくるし。
0099NAME IS NULL垢版04/03/23 20:09ID:???
>>97
VCでビルドできたよ。
ところで、ベンチマークに「SDBMは100万レコードで壊れた」ってあるけどマジかなぁ。
0100NAME IS NULL垢版04/03/24 12:19ID:???
cdb の場合

* データベースの作成はとても速い!
* データベースのサイズも小さい!
* データベースの参照もとても速い!
* データベースの更新は、全データが必要(実質、再作成と同じなので、速度も再作成と同じ)

cdb 以外のgdbm,qdbmなどの場合

* データベースの作成の速度は普通(ものによるが、cdbほど速くはない)
* データベースのサイズもものによる(cdbよりは大きい)
* データベースの参照もものによる(cdbほど速くはない)
* データベースの更新は、他のデータは不要で、cdbより速い!

で、理解あってる?
0101NAME IS NULL垢版04/04/03 21:23ID:???
ttp://aveiro.hp.infoseek.co.jp/skk/servers.html
ここの下のほうに cdb の 0.55 と 0.75 の違いが書いてあるけど、
これがもし本当なら大きなデータで殆どのレコードにアクセスするような例では
現行の 0.75 は結構辛い?
あと TinyCDB とやらでもこれは同じなのかな。
0102NAME IS NULL垢版04/04/06 21:46ID:GXxkLk8T
いいスレ
0105NAME IS NULL垢版04/05/16 07:33ID:wKgBT2Er
SQLiteに較べてBerkeleyDBやQDBMの方がやっぱ速いんですよね?
試しに置き換えたとしたら、どのくらい速くなるでしょうか。

副問い合わせをDBMのAPIで置き換えるのはちと大変だと思いますが、、、
0106NAME IS NULL垢版04/05/16 14:34ID:0id9T6PE
DBMって正直分かりづらいですね
0108NAME IS NULL垢版04/06/29 17:11ID:ZCOlO+nL
マルチスレッドなプログラムでndbmを使用しようとしたんですが、
やはっりというかMT-unsafeなんですよね。
バークレーDBや、qdbm,cdbmはMT-safeなのか、ご存知の方教えて
頂けませんでしょうか
因みにOSはsolaris8で、プログラムの中では検索しかしません。
(検索だけなのでndbmでもいけそうな気もするのですが、、、)
0111NAME IS NULL垢版04/07/28 09:17ID:WggAfKYD
dbm_fetchを呼ぶと、以前呼んだ時の戻り値のdatum.dptrが指す先が書き換えられるんだね。
これのせいで昨日からずっと悩む羽目にあった。
0112NAME IS NULL垢版04/07/28 11:14ID:zDkc3K16
>>111
それってえろう怖いんじゃねえか
0114NAME IS NULL垢版04/08/08 20:40ID:g7uZ+RUn
berkeley db java editionってどう?
0115NAME IS NULL垢版04/08/10 00:29ID:???
すいません、純粋にjavaだけで動かすことができるDBMっていうのは
あるのでしょうか?
0117115垢版04/08/10 17:01ID:???
Berkeley DB はJava editonがあるのがわかりました。
ちなみに、話題のqdbmっていうのは、java向けのAPIがあるだけで、
javaだけでは動かないのでしょうか?
0118NAME IS NULL垢版04/08/10 17:11ID:???
最近話題になったとこだと
ttp://slashdot.jp/article.pl?sid=04/08/04/0843246
あたりか?
0119NAME IS NULL垢版04/08/11 22:28ID:???
Berkeley DB のライセンスって、なんかBSDライセンスとかじゃ
無いみたいんだけど、日本語でライセンスの書いてある説明
とかってないでしょうか?
0120NAME IS NULL垢版04/08/12 22:21ID:???
口調を統一しない人には教えません。
0121NAME IS NULL垢版04/08/13 16:43ID:K37O/N7H
Berkeley DBの使い方が分かるWeb上のドキュメントがあればURLを教えてください。
db_loadというユーティリティでデータベースファイルを作成することはできたのですが、
いらなくなったkey=dataペア(レコード)を削除する方法が分かりません。
そのつど.dbファイルを作り直さなければいけないのでしょうか。
0122NAME IS NULL垢版04/08/15 21:45ID:???
高林さんの馬DBネタとか。
ttp://namazu.org/~satoru/diary/200406.html
ttp://namazu.org/~satoru/diary/200407.html

>>123はNent Yaku
0123NAME IS NULL垢版04/08/15 22:13ID:5WUYRlds
>>121
C言語なら
int DB->remove(DB *db, const char *file, const char *database, u_int32_t flags);
という関数がある。C++でもJavaでも同様のメソッドがある。
0125NAME IS NULL垢版04/08/16 14:47ID:???
>>122-123
レスありがとうございます。121です。
付属のユーティリティをつかって簡単に削除できるのだろうとおもっていたのですが
そういう使い方をするモノではないんですね。ちょっと勘違いしておりました。
0126NAME IS NULL垢版04/08/30 16:09ID:???
qdbmっていいの?そんなにいいの?
使うよ?いいの?
0128NAME IS NULL垢版04/09/27 17:52:34ID:SSEQCMVj
勃起age
0129NAME IS NULL垢版04/09/27 23:42:50ID:???
cygwin + ruby1.8 + BerkeleyDBでうまくいってる人いる?
0130129垢版04/09/28 00:09:24ID:???
おいおい、会社でだめぽだったのに家では余裕でできた。
会社のはbdbがdevel版がインストールされてなかったのかな。
0131NAME IS NULL垢版04/10/20 21:58:02ID:???
perlでNDBMを使ってたんですけど1日で10倍以上にサイズが肥大化したので
Berkeley DBに変更しました。すると肥大化はしなくなったものの負荷が数倍かかるようになりました。
GDBMなんかは肥大化するわ壊れるわで最悪でした。
perlのバージョンを変えてもapacheのバージョンを変えても解決せず。
アクセスが多すぎると駄目なのでしょうか。
0133NAME IS NULL垢版04/10/21 12:37:01ID:???
>>131
ちゃんとファイルロックしてないだろ。壊れるのあたりまえ。
NDBMにしろGDBMにしろ最初はファイルサイズ大きくなる。
が、後からはデータを追加してもその分しか大きくならない。
0134131垢版04/10/21 18:43:26ID:???
flockでファイルロックは行っています。
壊れるというのは、ファイルが飛んでサイズが減るわけではなく
サイズはそのままで全てのデータが読み込み出来なくなります。
ぷららのサーバで同じように試してみるとどんどんファイルサイズに差が出てきます。
直ぐに200KBと5MBくらいに差がでました。
1度テキストに変換して全て書き直すとサイズは200KBまで落ちたので異常に肥大化されているような気がします。

QDBMはインストールはしましたが書き込めても読み込めなく、原因が分からなかったので諦めました。
0135NAME IS NULL垢版04/10/23 15:42:49ID:???
許容できないなら仕方ないが、サイズの肥大化は
索引や効率を考えて前もって領域を確保してる分だから、
動作としてはおかしくない。

あと実装によってはdbm側でロックの機構があるから、
それを使う方が望ましいかもしれない。
0136NAME IS NULL垢版04/10/27 04:38:31ID:Yk8mNdzM
>>131
GDBMが壊れるあたり、DBとの接続をちゃんと切ってないことない?
CGIとかでも、プロセスが死ぬ前に確実に接続を切る(ハンドルを閉じる)
ようにしないとファイルがおかしくなるよ。
0138NAME IS NULL垢版05/01/15 00:58:37ID:vXqd6/Xv
SymbianOSに入るようなメモリ空間100KB以下の
DBご存知ないですか?C言語でお願いしまっする。
0139NAME IS NULL垢版05/01/15 03:52:49ID:???
>138

そんなん(メモリ空間100KB以下)だったらDBいらねーんでは?
0141NAME IS NULL垢版05/01/17 23:44:17ID:FLVEOjow
solidはどう?商用だけど。
ノキアやOpenViewで使ってるって。
0142NAME IS NULL垢版05/01/20 15:57:28ID:???
超遅レス
>>134
bdb使っているのにflockでロックってなんの冗談なんだろう?
ttp://pybsddb.sourceforge.net/ref/lock/stdmode.html
0143NAME IS NULL垢版05/01/25 04:15:25ID:fFuVLIUL
糞なOSでも使えるDBじゃねえの。組み込みとか。
0144NAME IS NULL垢版05/01/25 20:33:08ID:???
ヲイヲイ。おめーは携帯電話をつかってねーのか。
0145NAME IS NULL垢版05/02/18 03:15:52ID:9UHJegbs
BerkeleyDBよく見たらすごいな。
トランザクション使えるし、レプリケーションできるし、
オンラインバックアップできるし、2phase commitできるし。
ただ、ライセンスがきつくて使いづらい。
0146NAME IS NULL垢版2005/03/26(土) 15:09:38ID:???
この前tie初めて使った。感動した。
0147NAME IS NULL垢版2005/04/04(月) 15:27:05ID:IVXkguN3
BerkeleyDBの料金体系ってどんな感じなんでしょう。
どなたか具体的なお話を聞かせて頂けないでしょうか?
0148NAME IS NULL垢版2005/04/05(火) 00:22:16ID:???
Sleepycatにサポートしてほしいってこと?
直接聞けばいいのに。
0149147垢版2005/04/05(火) 15:07:31ID:???
>>148
公表されても構わないことと思われるのに、
ネットで全然その話題に行き着かなかったのです。

BerkeleyDBの利用しづらさって、その辺が全然分からんのもあると思うので、
どなたか情報を放流してもらえないかと期待しての書き込みです。
0151NAME IS NULL垢版2005/04/05(火) 20:31:04ID:???
>>150
いや、そこに載ってるのはサポートの価格で
知りたいのはコマーシャルライセンス自体の価格だと思われ。
Sleepycatのオープンソースライセンスは実質GPL(否LGPL)と同等だから、
製品に組み込もうと思ったら、その製品のソースも何らかの形でオープンにしないと駄目。
http://www.opensource.jp/licenses/sleepycat.html

多分InnoDBと同程度の価格だと思うんだけど、InnoDBはOEMオンリーで
結局MySQLでの価格差でしか見れないし、本当の供給してる値段は判らんね。
0153NAME IS NULL垢版2005/06/10(金) 12:33:06ID:b9rlejc6
QDBMのVillaで、重複レコードは同じキーのレコードの末尾に格納されるとあるけど
これはキーが重複したレコードの中では登録日時順に並ぶという事だよね。
しかし分からないのはその後の「DBのアップデートの為にそのカーソルは使えなくなる」という記述。
どういう事?
マニュアルのサンプルコードで重複キーのレコードに対してカーソルを使っているが。
0154NAME IS NULL垢版2005/06/10(金) 15:37:19ID:???
QDBMのVillaの比較関数ってどこに書いてどう使えば良いの?
とりあえずVLCFUNC型の変数に自作関数のポインタを入れてみたけど
それで自動的に使われるというわけではないみたいだし。
0155154垢版2005/06/10(金) 19:05:58ID:???
おー、分かった。
すっげ嬉しい。
openするメソッドの引数で指定するんじゃん。
灯台下暗しだな。
俺は下以外も暗いけどな。
0156153垢版2005/06/10(金) 19:27:24ID:???
自己解決しました。
0157NAME IS NULL垢版2005/06/22(水) 18:26:07ID:+bv5CzNl
qdbmのodeumはWEB上の文書しか扱えないの?
アプリケーション内で作った文字列を格納する方法が見当たらないんだが。
0158NAME IS NULL垢版2005/06/22(水) 20:13:41ID:???
個々の文書はwebとは限らないけれど、もとの文書を格納しておくわけじゃな
くて、転置インデックスしか管理しない。
estraierの用途を考えればわかるように、元の文書はどっか他の場所にファイ
ルとしてあるっていう前提があって、 odeum 側で、いちいちそのファイルの
内容をコピーせずに、そこへの参照(パスとか)だけ持てばいいって発想なんだ
ろう。
0159NAME IS NULL垢版2005/06/22(水) 21:56:09ID:???
APIなんだから、対象の文書がどこに保存してあるとか関係ないでしょ。
ODDOCオブジェクトを作ってoddocaddwordで語を入れさえすればいい。
0161NAME IS NULL垢版2005/06/22(水) 22:04:27ID:Dl2KSbG/
>>161
BSD License だったから あげさせてもらうよ
0162157垢版2005/06/23(木) 02:59:16ID:TtVhFLaI
oddocopen("URI")は、実際にそのURIにアクセスしてデータを取得したりしないの?
0163NAME IS NULL垢版2005/06/24(金) 09:05:52ID:???
>>157
しないよ。文書にIDをつけてるだけみたい。実際にはユニークであれば
どんあ文字列をしていしてもいいみたい。
0164157垢版2005/06/24(金) 11:35:39ID:???
レスありがとう!
0165NAME IS NULL垢版2005/06/25(土) 04:57:25ID:IcUs4KvU
QDBMのC用APIにはvistaがあるけどC++用APIには無いのは何故?
0166NAME IS NULL垢版2005/06/26(日) 03:08:08ID:nz35kzcL
QDBMのODDOC型にunsigned intのポインタを加えようとして、
ODDOC構造体にunsigned int *num;を書き加えて、
アプリケーション側でODDOC->num = unsigned intのポインタ;
と書いたのだけど、
odput内でODDOC->numを書くとセグメンテーション違反になってしまう。

oddocopen();を、unsigned int *numを引数として受け取る様にして、この関数内でODDOC->num = num;
とする方法も試してみたけど、そうするとポインタの代入が上手く行かない。
oddoc *doc;
unsigned int num[10];
cout << num << endl;
doc = oddocopen(URI,num);
cout << doc->num << endl;
で、numとdoc->numの値が異なってしまう。

原因分かる方居たら教えてくれませんか?
0167NAME IS NULL垢版2005/06/27(月) 15:46:55ID:???
古いライブラリとリンクしてるからじゃないの?
0168166垢版2005/06/29(水) 10:45:23ID:cQGEb3Tt
>>167
reboot後にコンパイルしても変わらないし、make uninstall して make installしても変わらないし、
変更が一部反映されてるからそれは大丈夫だと思うんだけど。

話は変わるけど、
c++でvistaを使いたくて、
アプリケーションのソースコードに#include<vista.h>を書いてみたり、
xvilla.hやxvilla.ccのvilla.hの部分をvista.hに変えて見たりしたけど
そのアプリケーションを実行してもディレクトリじゃなくvilla用のファイルが生成されてしまう。
qdbmのメーリングリストに参加しようとしても何故かメールが送信出来ないし。
qdbmのマニュアルのサンプルコードをvilla.hからvista.hに変えて使ってみると
ちゃんとディレクトリ生成してvistaとして動くんだけど。
xvista.hというファイルは無いし。
C++ではvistaは使えない仕様なのかな?
0169166垢版2005/06/30(木) 13:10:03ID:???
インストール時に発生していた問題に応急処置をしていた事が原因でした_no
0170NAME IS NULL垢版2005/07/21(木) 05:47:53ID:???
バークレーDBをperlで使っていますがファイルロックがよくわかりません。
>>142氏のリンク先を何度読んでも理解できず…
どなたか簡単に解説をお願いできないでしょうか。
0171NAME IS NULL垢版2005/07/21(木) 06:00:25ID:???
すんまそん…、普通にperldocに日本語で書いてありました。
お時間の許す方は煽ってやってください orz
0172NAME IS NULL垢版2005/08/06(土) 10:21:45ID:???
>これを性能指標とするならば、例えば100万個のレコードを格納するためには50万要素のバケット配列が求められる。
>バケット配列の各要素は4バイトである。
>すなわち、2MバイトのRAMが利用できれば100万レコードのデータベースが構築できる。
QDBMのマニュアルから引用。
これって、バケット配列は2Mしか使わなくてもハッシュが重複してるレコードが50万あるからその為にメモリ使って
2Mバイトじゃ済まないよね?
重複レコードをどう扱ってるのか知らないけど、ポインタとprimary keyが要るから
バケット配列と合わせて合計6Mは使いそうな気がするんですが。
0173NAME IS NULL垢版2005/08/06(土) 20:28:04ID:???
> ハッシュ値の衝突はセパレートチェーン法で管理する。チェーンのデータ構造は二分探索木である。

という記述と、

> レコード部はバケット部の直後からファイルの末尾までを占め、各レコードの以下の情報を持つ要素が記録される。
> 1. フラグ : `int' 型の整数である。
> 2. キーの第二ハッシュ値 : `int' 型の整数である。
> 3. キーのサイズ : `int' 型の整数である。
> 4. 値のサイズ : `int' 型の整数である。
> 5. パディングのサイズ : `int' 型の整数である。
> 6. 左の子の位置 : `int' 型の整数である。
> 7. 右の子の位置 : `int' 型の整数である。
> 8. キーの実データ : キーのサイズで定義される長さを持つ一連のバイトである。
> 9. 値の実データ : 値のサイズで定義される長さを持つ一連のバイトである。
> 10. パディング : 値のサイズとアラインメントにより算出される長さを持つ一連のバイトである。

という記述から判断するに、重複レコードのポインタはファイル内に記録してあるっぽい

0174NAME IS NULL垢版2005/09/29(木) 22:43:37ID:???
QDBM以外には、面白データベースは無いのかね?
0175NAME IS NULL垢版2005/12/03(土) 11:51:57ID:???
データベースそんなに更新しないならcdb最強でFA?
0176NAME IS NULL垢版2005/12/17(土) 22:53:22ID:???
sleepcatライセンス面倒だな。orz
0177test垢版2005/12/20(火) 13:38:10ID:???
test
0178test垢版2005/12/20(火) 13:39:12ID:BChHfMfC
test
0180NAME IS NULL垢版2005/12/22(木) 00:58:46ID:???
そろそろdbopenします。
やっぱりver1が落ち着く。
0183NAME IS NULL垢版2006/02/17(金) 22:02:46ID:???
ついにBSDにオラクル標準装備か。
0184NAME IS NULL垢版2006/02/18(土) 19:11:15ID:???
Berkeley DBとBSDは全く関係ねーだろ。
0185NAME IS NULL垢版2006/03/10(金) 02:11:43ID:vhSvdEFS
Berkeley DB メールで値段聞いても無視だったよ なんなんだろうwww
0186NAME IS NULL垢版2006/03/10(金) 17:37:12ID:???
ボラクルに買収されたので人居ません。
0187NAME IS NULL垢版2006/03/21(火) 11:52:13ID:fF1wwRiT
ボラクルに買収されたから使うのやめよ。。
ボラクル調子こきすぎてなんかむかついてきたぞ。。

BDBオープンソースじゃなくなる日も近いのかな。。
0188NAME IS NULL垢版2006/03/21(火) 12:25:31ID:???
その時はGPL化されてFedora DBになりますからご心配無く。
0189NAME IS NULL垢版2006/03/21(火) 14:17:27ID:???
FSFが買い取って、GNU/DBじゃないの?
0190NAME IS NULL垢版2006/03/21(火) 14:23:08ID:???
FSFにはgdbmがあるからBDBを買い取る理由がない。
Red Hatは自社のLinuxのパッケージデータベースにBDBを使ってる。
おそらくBDBユーザ数としては最大。
0191NAME IS NULL垢版2006/03/25(土) 02:49:25ID:???
QDBMがACIDサポートすればBDB要らなくなるかも
0192NAME IS NULL垢版2006/04/02(日) 13:28:55ID:???
オラクルは InnoDB も買収したが、MySQL の買収には失敗したようだな。
0193NAME IS NULL垢版2006/05/18(木) 23:40:55ID:237FeIJl
Berkeley DBでデジカメの画像をデータとして入れる時はどうしたらいいの?
教えて下さい。
0194NAME IS NULL垢版2006/05/19(金) 09:43:32ID:???
いや、普通に入れれば入ると思うんだけど。
もうちょっと具体的にどんな言語を使うとかどういう使い方をするとか詳しく。
0195193垢版2006/05/19(金) 21:35:29ID:???
>>194
有り難うございます。

いくつか見たサンプルが、いずれもテキスト形式のデータだったので、
バイナリデータは何等かのかたちでエンコードする必要が有るのかなと
思い、確認をしないまま質問してしまいました。

FreeBSD 6.1Rでgccを使っています。
今は郵政公社の郵便番号データをサンプルデータとして、Cで簡単な
プログラムを書きながら使い方を覚えようとしている途中なので、
具体的にこういう使い方をしたいと言えるレベルに達していません。
一応、画像データ、撮影時の情報、データ加工の内容等を
リンクさせて見たいなと思っています。

画像データは結構サイズが大きいのですが(RAWデータだと数十M位)
データの取り扱いで何か注意しなければいけない事など有りますか?

もしよろしければ注意点などお願いします。
0196NAME IS NULL垢版2006/05/21(日) 17:06:32ID:???
画像ファイルはどこかのディレクトリに置いといて、
パスだけDBに入れるってのもアリかもよ。
取り回しが面倒になる欠点はあるが、万一DBが壊れた場合の
復旧とか考えるとそっちの方が安心。
0197193垢版2006/05/21(日) 22:50:10ID:???
>>196

先ずはパスを管理するデータベースを作ってみようと思います。
色々質問をしてすみませんでした。


画像データのサイズは数メガの間違いです。
0198NAME IS NULL垢版2006/06/16(金) 05:29:45ID:???
3年掛かりでやっと200レスか。まったりしててよきかな。
0200NAME IS NULL垢版2006/06/16(金) 11:01:21ID:RZPI+bcx
200get!
0202NAME IS NULL垢版2006/06/17(土) 02:20:46ID:???
とっつきにくいからねえ。使ってる香具師も皆無だし、マヌアル本も皆無。
0203NAME IS NULL垢版2006/06/17(土) 15:22:11ID:UKEJjsFA
>>202
漏れのことを忘れないでくり。
職場のweb上の会議室予約のデータベースに使ってる。
速い、手軽、イイー。
0204NAME IS NULL垢版2006/06/18(日) 15:19:22ID:???
そーすをup汁。
php当たりから呼んでるとか?
0205NAME IS NULL垢版2006/06/19(月) 07:38:05ID:???
>>204
相談に乗りますよ。検索→読みモジュールと書き込みモジュールとあるが
それぞれ20万でどうよ。
0207NAME IS NULL垢版2006/06/19(月) 19:16:56ID:???
perl cgiで二十万はボッタクリだな。
ハロワに月収18万で募集掛けたほうが安く上がる。
0208205垢版2006/06/20(火) 02:39:48ID:tLdLBl3Q
>>206
その通り。モジュール類だけ挙げるとこんなんだす。
#!/usr/bin/perl
use Fcntl;
use SDBM_File;
use Time::Local;
require "cgi-lib.pl";
require "jcode.pl";
&ReadParse;

>>207
吹っかけただけだす。そらあんた、5〜6マソで十分よ。
0209NAME IS NULL垢版2006/06/25(日) 15:14:50ID:1pslgYqg

499 :心得をよく読みましょう :2006/04/11(火) 20:08:43 ID:YyJFkPDl
この文章を見た人には3日後に身の回りで何かとても悪い事が起きます
悪いことを起きなくさせるためにはコレと同じ文を
2日以内に違う所へ5回書き込んでください5書き込まなかった
女子中学生が書き込み見た後
3日後に死にました

0210NAME IS NULL垢版2006/06/27(火) 21:19:12ID:Q9ml7vJg
やっぱフリーのデータベースなんか流行るとデータベースソフト屋さんは
困っちゃうから、>>209みたいな嵐が入るんだろうな。
0211NAME IS NULL垢版2006/06/28(水) 01:16:59ID:???
無料なのにお金が取られることを理解しないクライアントは多いからね。
無料ソフトだと、開発費やサポートも無料か激安になりやすい。
0212NAME IS NULL垢版2006/06/28(水) 08:40:11ID:???
クライアントが有料DBのライセンス料を知っていて、かつ技術畑出身だったりする
とまだいいんだけど、オ−プン系技術者募集と称して
「タダソフトみつくろって組み合わせるだけだろ?もったいつけんじゃねえよ」
みたいなとこも(ry
0213NAME IS NULL垢版2006/07/02(日) 08:02:33ID:???
本当にダウンロードしただけのやつにぼったくりの請求する香具師も居るから、客には見分けつかないし。
でも無料ソフトに人件費やサポート料払ってたら、サポート付きの有料ソフトのほうがコストが安かったのは良くある話。

逆にオプソビジネスって、セールソフトを超える利益は見込めない罠。
0214NAME IS NULL垢版2006/08/02(水) 17:37:26ID:qDpQ3Gjv
>file hoge.db すると、
Berkeley DB (Btree, version 6, native byte-order)
と返ってくるファイルがあるのですが、どのようなkeyがあるのか
わかりません。

このhoge.dbから、全てのkeyと値のペアを取り出したいのですが、
どのようにすればいいのでしょうか?
Cかperlでお願いします。
0215214垢版2006/08/02(水) 18:15:40ID:???
use Fcntl;
use DB_File;

tie my %db, 'DB_File' , "hoge.db", O_RDONLY, 0644, $DB_BTREE or die "$!\n";

foreach (keys %db) {
  print $_, "\n";
}

↑だと

Inappropriate file type or format

こんなエラーが出ます。

0216214垢版2006/08/03(木) 10:45:05ID:???
あ、ゴメンできたからいいや
0217NAME IS NULL垢版2006/08/06(日) 05:27:05ID:???
どう出来たかぐらい示せばいいのに。
自分だけ良ければいいという自己中ですか?
0219NAME IS NULL垢版2006/08/31(木) 12:12:41ID:???
db_statとかdb_dumpとか使えばよろしい
0220NAME IS NULL垢版2006/11/29(水) 21:23:38ID:rpmcvwmj
update!
0221NAME IS NULL垢版2006/12/14(木) 10:20:25ID:0UD4Qre0
臣堕駄だ陀雫
臣 心 仲間 ありがとう
心 臣 神 仲間

0225NAME IS NULL垢版2007/02/16(金) 17:03:13ID:KreXA7+o
BerkeleyDB.pm からトランザクションサブシステムを有効にしたDBを扱ってるのだけど、
どれだけ使っていてもログファイルが log.0000000001 から進まない。
これってどういう状況なのでしょう。

DB_ENVなどに何か良からぬフラッグが渡っているのではないかと BerkeleyDB.pm の
関連ソースを眺めてもそれらしいことをしている部分はないし、或いは berkeley db 本体の
コンパイル時に何か問題があったのでしょうか。。。

どなたか詳しいかたご助言を。
0226NAME IS NULL垢版2007/02/17(土) 10:06:33ID:???
ログ管理は別ソフトなんじゃないの?
syslogdみたいなのとかさ。
0227NAME IS NULL垢版2007/02/18(日) 11:40:30ID:???
自前でログ管理の仕組みは無い。
ただテキストファイルにログを吐く単純な機能しかない。
0228225垢版2007/02/19(月) 14:34:34ID:???
どうも mod_perl 環境で動かしているのが色々と意図しない動きの原因のような気が…
引き続きさっぱり分からないです…
0229NAME IS NULL垢版2007/02/19(月) 15:35:38ID:???
mod_perlからだと多重で呼ばれると思うが、DB壊れないの?
0230NAME IS NULL垢版2007/02/19(月) 16:03:40ID:???
>>226 >>227
ログ違いじゃね?
>>225 の言ってるのは障害復旧時とかに使うトランザクションログのことだべさ?
0231225垢版2007/02/22(木) 13:32:05ID:???
>>229
普通に書くとトランザクションがオープンできないですね。
普通に書いて動くようにするために mod_db4 なるものがあるのだけど、
いきなりコンフィグが通らなくて、その先あらゆる苦労をしそうだったので却下しました。
0232225垢版2007/02/22(木) 13:35:20ID:???
それで、今は
  $db=BerkeleyDB::Hash->new(-Filename =>$f, -Flags=>DB_JOINENV);
  $db->get_env()->txn_begin();
が通るように BerkeleyDB.xs を改造中なのだけど、これが……
0233NAME IS NULL垢版2007/02/22(木) 15:52:55ID:???
コードを示さずに独り言をつぶやかれてもなあ。

と、コードを示されてもわからなそうな俺が独り言をつぶやいてみました。
0234NAME IS NULL垢版2007/02/23(金) 11:35:12ID:???
まあ普通はMySQL経由でbdb4使ったりするね。
0235NAME IS NULL垢版2007/04/12(木) 14:48:44ID:???
dirファイル見て吹いたw
---
[depot]^@^K

∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´∀`)< NDBM Compatibility
( ) \_________
| | |
(___)_)

0236NAME IS NULL垢版2007/06/03(日) 17:09:56ID:???
Berkeley DB の source みてるんだけどさ、off-page / on-page とか duplicates とかってなに?? 意味和姦ね。おしえて。
0237NAME IS NULL垢版2007/07/24(火) 14:38:01ID:???
OpenLDAP2.3stableに合うBDBがわからねぇYO(´・ω・`)
0239NAME IS NULL垢版2008/04/01(火) 00:55:14ID:???
何ヶ月レスがつかないか見守ってたのにさ!
プンプン
0241NAME IS NULL垢版2008/07/10(木) 14:58:29ID:???
最近はBerkeley DBやgdbmではなく、sqlite使う例も増えているのかな?
0242NAME IS NULL垢版2008/07/18(金) 13:04:32ID:+Axli2lw
>>93
シーケンシャルデータ。
大部分のデータは末尾に追加するだけだから
シーケンシャルデータベースの方がスペース効率がいい。
0243NAME IS NULL垢版2008/07/23(水) 18:08:38ID:???
BerkeleyDBであそんでみたく
cpanモジュールを
install BerkeleyDB
してみたところ
BerkeleyDB.xs:74:2: #error db.h is from Berkeley DB 1.x - need at least Berkeley DB 2.6.4
なるエラーが出てとまってしまいました。
Berkeley DBのバージョンが低いようなのですがどうやってバージョンアップすればよいでしょうか。

環境は
さくらのスタンダードプランでやっています
FreeBSD 6.1
perl 5.8.8
BerkeleyDB バージョン不明(※バージョン調べ方わかるかたいましたら教えて頂けると幸いです)
0244NAME IS NULL垢版2008/10/29(水) 22:37:05ID:qdal0jl9
dbm_fetch で取得されるデータはfreeしてあげる必要があるんでしょうか??

qdbmでは、「`dptr' の指す領域はハンドルに関連づけられて確保され、
同じハンドルに対して次にこの関数を呼び出すか、ハンドルを閉じるまで、
有効なデータを保持する。」

となっていますが、gdbmではプログラマの責任でfreeしろと書いてあります。

移植性のあるコードを書くためには、どのライブラリを使ってるのかで
処理をわけるべきなんでしょうか?
0245NAME IS NULL垢版2009/01/19(月) 23:14:06ID:aLajSnjE
RDBMSのようにkeyに複数のvalueを当てるのはどうすればよいのでしょうか。
0247NAME IS NULL垢版2009/04/07(火) 21:42:34ID:???
データ突っ込む時のキーってどうやって決めてる?
R_LASTでseqして得られたキーにインクリメントしてputって感じ?
それともデータのハッシュ値とかunix時間でも突っ込むべき?
0248本田垢版2009/04/14(火) 23:52:37ID:2S7IsnOh
Oracle Berkeley DB Product Family
http://www.oracle.com/technology/products/berkeley-db/index.html
The Oracle Berkeley DB family of open source, embeddable databases provides developers with fast, reliable, local persistence with zero administration.
Often deployed as "edge" databases, the Oracle Berkeley DB family provides very high performance, reliability, scalability, and availability for application use cases that do not require SQL.
0249ブラックマジシャン垢版2009/05/11(月) 19:55:02ID:Po/EPjmw
岐阜県中津川市立福岡中学校同窓会SNS
0250NAME IS NULL垢版2010/02/27(土) 08:08:24ID:aPiEjk1k
カキコミテスト
0251NAME IS NULL垢版2010/03/03(水) 10:33:04ID:???
RPM5のDBにsqliteを使うかBerkeleyを使うか悩んでるんだけど、どっちがお薦めですか?
0252NAME IS NULL垢版2011/04/23(土) 21:46:11.58ID:0ohSTg5e
これ使ってる有名なソフトウェア、ミドルウェアはあるのか?
0253NAME IS NULL垢版2011/04/23(土) 22:40:13.71ID:???
有名なMTAはどれも使えるだろ
0254NAME IS NULL垢版2011/04/26(火) 09:48:41.97ID:???
mta程度じゃ実感する事も無いね。テキストファイルでも別に動いてしまいそう。
メール来る度に.forward読んで処理してるくらいだしね。
0257NAME IS NULL垢版2013/01/26(土) 19:36:56.11ID:Hdv5kXG5
亀レス乙
0258NAME IS NULL垢版2013/03/20(水) 07:41:36.82ID:vIKc7Kkm
※本投稿の拡散歓迎です。
違法派遣(偽装請負・多重派遣・偽装出向・事前面接等)についての刑事罰
【告訴権者=業務委託、準委任、共同受注、業務請負契約および特定派遣(契約・正規)、一般派遣、正規社員】

@職業安定法第44条の労働者供給事業の禁止規定に違反(1年以下の懲役または20万円以下の罰金)
 ■偽装請負・多重派遣・偽装出向・多重出向
 ■事前面接(顔合わせ・面談・職場見学等)と履歴書・職務経歴書・スキルシート等提出による労働者の特定(※)
(音声録音で立証可能)
A労働基準法第6条(中間搾取の禁止) (1年以下の懲役又は50万円以下の罰金)
 ■多重派遣・多重出向

※違法派遣(派遣労働者の特定)→派遣法で認められた派遣労働者ではない→労働者供給事業→職業安定法44条違反というの
が前提となる法解釈となります。派遣法における罰則が軽微なのは法律の不備や労働者軽視などが原因ではありません。
違法派遣は全て職業安定法44条で裁くことが可能なため、刑罰の重複を避けるために派遣法には軽微な罰則(主に裁量行政による)しかないのです。

使用者に有利な民事訴訟や労働関係諸局への通報等の対極にあるのが書面(告訴状)による刑事告訴(※告訴先は検察の直告班)です。
労働関係諸局への通報・斡旋による軽微な「適正化」や監督・指導に対して、法律に定められた刑事罰を問うことになり、
違法派遣業者にとって有罪は考えられる限り最大の処罰となります。同時に刑事罰を受けた
担当者が取引先に与える悪印象を考慮すれば、通常会社側は告訴が受理された時点で告訴取り下げに
動くのが妥当でしょう。懲役、前科がつく刑罰が下される可能性から、告訴取り下げの和解金は高額となることが多いのです。

告訴の流れとしては、

刑事告訴⇒告訴受理⇒告訴取下げ要請⇒取下げ和解金入金⇒告訴取下げ

となります。告訴の懲役刑適応は犯罪者個人に対してのみですので、告訴する対象は

派遣先・派遣元 社長
派遣先・派遣元 担当者・責任者・管理役員・取締役
派遣先・派遣元 人事管理担当者・人事管理役員・取締役

が妥当です。刑事告訴取り下げの和解金額は犯罪者個人と交渉するとよいでしょう。(告訴状は人数分提出する必要あり)
0259NAME IS NULL垢版2017/12/29(金) 11:31:22.34ID:dtNZwIie
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

1XER7HWSJ9
レスを投稿する


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