UNIX DBMはこちら(GNU gdbm, Berkeley DB etc...)
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
03/07/01 10:36ID:???C/C++, perl, python, tcl/tk, java etc言語バインディングも
豊富だしお前ら、もっと活用してみませんか?
Berkeley DB
http://www.sleepycat.com/
GNU dbm
http://www.gnu.org/software/gdbm/gdbm.html
0002名無しさん@お腹いっぱい。
03/07/01 11:45ID:U3ZaBIM20003停止しました。。。:停止
03/07/01 11:59ID:???0004名無しさん@お腹いっぱい。
03/07/01 12:35ID:???0005名無しさん@お腹いっぱい。
03/07/02 00:12ID:???QDBM
http://qdbm.sourceforge.net/
0006名無しさん@お腹いっぱい。
03/07/02 00:26ID:???”最強のDB”Perl xDBMについて語れ!
http://pc2.2ch.net/test/read.cgi/db/1056996886/
0007名無しさん@お腹いっぱい。
03/07/02 00:28ID:???OS によってファイル構成が異なるのが嫌かな。
0008名無しさん@お腹いっぱい。
03/07/03 01:53ID:???subversion http://subversion.tigris.org
とかかなりDBサイズが巨大なもんでもBerkeley DB使われてるね。
Berkeley DB XMLとか面白そうだけどまだ使ったこと無いや。
http://www.sleepycat.com/products/xml.shtml
GettingStart斜め読みした限りでは問い合わせ言語に
XPath(name space support)が使えるからかなり良さげ。
そういや誰かXPathの擦れも建てて欲しいと思ったり、スレ建てインポなんで。
0009名無しさん@お腹いっぱい。
03/07/04 14:22ID:???このスレで勉強したいsage
0010名無しさん@お腹いっぱい。
03/07/04 17:45ID:???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:+9jOpiMCperlでGDBMに受け渡したデータをJavaから呼び出すことは可能ですか?
初歩的な質問ですみません。
0012名無しさん@お腹いっぱい。
03/07/06 06:50ID:???何言ってる不明
もっと具体的に書かないと答えられるものも答えられん。
001311
03/07/06 12:06ID:+9jOpiMCperlで野菜の値段データベースを以下のように作りました。
tie %yasai, 'GDBM_File', "yasaiDB", &GDBM_WRCREAT, 0640;
$yasai{tomato}=100;
$yasai{renkon}=50;
untie;
これで、ファイル名が"yasaiDB"と書かれたデータベースができました。
私が疑問に思ったのは作成されたこのデータベースはJavaのなかでも
呼び出せるのかというところです。
文字コードの問題などがありそうですが、不明なため質問いたしました。
よろしくお願いします。
0014あぼーん
NGNG0015あぼーん
NGNG0016名無しさん@お腹いっぱい。
03/07/06 23:26ID:???言語バインディングごとにDBファイルの互換性が無いなんてこたーないでつ。
#エンディアンは問題になるかも、i368しか持ってないので試せない。
文字コードについては、
http://aurora.rg.iupui.edu/~schadow/dbm-java/pip/gdbm/ 使ってまつか?
Perl側の文字コードがEUC-JPだったりする場合は、RawPacking使って読み書きして
InputStreamReader/OutputStreamWriterで変換すればいいみたいでつ。
0017名無しさん@お腹いっぱい。
03/07/07 00:05ID:???俺も同じく馬DB。
>>13
馬DBだとデータもキーもバイト列として保存するだけなんでエンディアンの影響はあります。
ntohl()とか使って変換しとけばOK。GDBMも同じじゃないかな。
0018名無しさん@お腹いっぱい。
03/07/07 03:26ID:0iBa7jUE0019名無しさん@お腹いっぱい。
03/07/07 04:00ID:???db3って何?
ググってみたけどBerkeley DB version 3 (= db3)が大量に引っかかって探せない。
0020名無しさん@お腹いっぱい。
03/07/07 04:08ID:???それ。でも何故かbdbと言えば皆bdb2なんだよ。
WebSphereでも*BSDでもbdbと言えばbdb2なんだよ。
3使ってる奴いないんだよ。
何故だ?
0022名無しさん@お腹いっぱい。
03/07/07 04:29ID:???0023名無しさん@お腹いっぱい。
03/07/07 04:45ID:???0024not 大岡山
03/07/07 05:58ID:???cdn (qmail MTAの作者djbによるdbm replacement)
http://cr.yp.to/cdb.html
訳はhttp://tools.qmail.jp/あたりにたぶん転がってる
0025not 大岡山
03/07/07 05:59ID:???0027名無しさん@お腹いっぱい。
03/07/07 06:56ID:???ライセンスの問題じゃない?
0028名無しさん@お腹いっぱい。
03/07/07 08:45ID:???これとか。http://qdbm.sourceforge.net/benchmark.pdf
0029名無しさん@お腹いっぱい。
03/07/07 13:05ID:???ただ、トランザクションとRECNOインタフェースが無いね。
あんま必要性を感じたこたないが。
あんど馬DBも同様なんだが、java バインディングは
implements java.util.Mapしてホスイと思うのは漏れだけ?
0031名無しさん@お腹いっぱい。
03/07/07 13:08ID:???馬は4.2系でJavaのcollection APIをサポートとか書いてあったよ。
Java詳しくないから違うものかもしれんけど。
0032名無しさん@お腹いっぱい。
03/07/08 00:16ID:???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]
0033名無しさん@お腹いっぱい。
03/07/08 08:55ID:???0034名無しさん@お腹いっぱい。
03/07/08 12:31ID:???どれの?
0035名無しさん@お腹いっぱい。
03/07/09 19:42ID:9zWC4YIG・処理が速い
・データベースファイルのサイズが小さい
ってのはもちろんだよね。他に、アクセスメソッドの豊富で(ハッシュ、B木、キューなど)、
トランザクションとかあると嬉しい人もいるのかな。他にもREDOログによる復旧もできると
嬉しいかもね。
一方で、高度な機能は求めてなくて、シンプルで移植性(代替)があって高速なのがDBMの
よいところでもあるよね。
0036名無しさん@お腹いっぱい。
03/07/09 21:28ID:???馬DBって何ですか? Berkeley DBのこと?
horse DB とかでググッたけど、何か競走馬のデータベースとか
引っ掛かって??です。
0038名無しさん@お腹いっぱい。
03/07/10 08:36ID:???BSD = バークレーソフトウェアディストリビューション...ばくそ...馬糞
同じBerkeley繋がりってことで馬DB
0039名無しさん@お腹いっぱい。
03/07/10 08:45ID:???今日はためになった。
0040名無しさん@お腹いっぱい。
03/07/10 11:52ID:???004136
03/07/10 21:05ID:OZ1qJzcPそれでは、馬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:???お、RPC使ってるのか。人柱よろ。とりあえず、
・馬DB 4.1.25にアップグレード
・ビルド時のconfigure引数晒す
とか。
ところで、DbEnvって1プロセスに複数作れたっけ?
004336
03/07/11 20:45ID:u2EvQPDC|| ・馬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|| ・ビルド時の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:???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:dnxUtIhJ0047名無しさん@お腹いっぱい。
03/07/12 20:27ID:???0048あぼーん
NGNG0049名無しさん@お腹いっぱい。
03/07/12 21:52ID:???使える
0050あぼーん
NGNG0051あぼーん
NGNG0052名無しさん@お腹いっぱい。
03/07/13 14:04ID:zd7coiS0RDBなの?
特徴は?
どんな時に使ったりしてる?
0053名無しさん@お腹いっぱい。
03/07/14 02:49ID:JS73bRQiファイルからレコードを取り出すことができるようになります。機能はそれだけ。
RDBとはあんまし関係ないです。しいていえば、RDBのインデックスに使うハッシュ
とおんなじようなことをしているツールです。
利用法はいろいろありますが、わざわざRDBを使うまでもないようなことに使います。
例えばWebの掲示板とか、アクセスログの記録とか、ユーザアカウントの管理なんかですね。
0054名無しさん@お腹いっぱい。
03/07/14 03:23ID:???無茶苦茶なファイル操作して大幅な速度低下を起こすのを防ぐのに使います。
いや、使わせます。
0055名無しさん@お腹いっぱい。
03/07/22 21:17ID:82vtyiOgとかのチューニングのツボがイマイチよくわからん。強者の解説求ム。
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 ,' , .`''ー- ' ,. ‐'"/ |;;;;;;;;;;;;;;;;;;;;;;;;;゙ー、
0057あぼーん
NGNG0058名無しさん@お腹いっぱい。
03/07/26 05:28ID:E/jU4S1T0059名無しさん@お腹いっぱい。
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:???│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0062名無しさん@お腹いっぱい。
03/08/23 12:32ID:???0063名無しさん@お腹いっぱい。
03/08/24 16:41ID:6jUjlvB1単純な掲示版ならそれでいいと思う。
で、"max"みたいな特別なキーに記事番号の最大値をいれておけば、新着順に表示できるはず。
2chのようにフローティング機能を持たせたいのなら、各記事を双方向リンクリストでつないでおいて、
記事を上げる場合はそのつなぎかえをしなきゃならんが。
0064名無しさん@お腹いっぱい。
03/09/12 05:48ID:???http://www.unixuser.org/~euske/doc/cdbinternals/index.html
0065名無しさん@お腹いっぱい。
03/09/22 01:58ID:wHXY83fgCDBって何が優れてるの?
単なるハッシュDBだったらSambaのTDBが最速だと思うんだけど、djb氏はなぜ今さら
yet anotherなものを作る必要があったのだろう。
0066名無しさん@お腹いっぱい。
03/09/23 08:26ID:???>ついでに、DBMファイルとの接続は、普通のテキストファイルに比べて、3倍〜10倍の時間がかかるのも気にしないの?
>おまけに、1件(テキストファイルなら行)あたりの読込み速度が数倍かかるのも気にしないの?
ってみたんだけど、テキストやRDBMSほうがいいの?
0067名無しさん@お腹いっぱい。
03/09/23 21:58ID:???鯖の設定を知らんアフォですな、テキストならダウンロードできないとでも思ってるのか?
>ついでに、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:???> yet anotherなものを作る必要があったのだろう。
元々はqmailとかdjb toolの設定ファイルキャッシュ用に作ったのだとオモタ。
動機はセキュア(=俺が書いたコードでないと安心できない)ってところか?
0070名無しさん@お腹いっぱい。
03/09/24 15:48ID:???>>68
勉強になりました。csvやMySQLは使ったことあるんだけど、dbmはなかったので
これから少し使ってみようと思います。
0071名無しさん@お腹いっぱい。
03/09/24 16:14ID:???0072名無しさん@お腹いっぱい。
03/09/26 19:00ID:???他にcdb使っているアプリってvpopmailだとかqmail臭いものばっかりだからなぁ。
djb信者じゃなければ、ふつ〜にBerkleyDBやgdbm使ったほうがいいよ。特にBerkleyDB
は3以降で機能の大拡張がなされて、トランザクションまで使えるし。
0073名無しさん@お腹いっぱい。
03/09/29 00:12ID:???dbmは連想配列をファイルに保存とイメージしているのだけれども、
検索キーが複数あるような場合はやっぱし使えないですか。キーを適当なセパレータでつないだり
するのは別として。
掲示板のデータをdbmに収めたとして、たとえば"dbm"で全文検索して一致した書き込みを表示とかってできますか?
0074名無しさん@お腹いっぱい。
03/09/30 00:48ID:???質問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]
みたいな構造にするのかな。パターンをどうやって切り出すかを考えるには、自然言語処理
についてちょっと勉強しないといけないだろう。
0075名無しさん@お腹いっぱい。
03/10/01 00:11ID:???ありがとうございます!!
大変参考になりました。
0076NAME IS NULL
03/10/30 20:44ID:HIhyk/qYCDB >>>>> QDBM > TDB >> GDBM
だね。
CDBが圧倒的に速いし、ファイルも小さい。
でも更新と検索が同時にできないのはちょっと使いづらいかな。
0077NAME IS NULL
03/10/31 12:53ID:???0078NAME IS NULL
03/12/03 15:34ID:/crs/ZXG元のファイルから古いデータを消して、新しいファイルにダンプするしかダイエットの方法はないですよね?
そのデータ移行中に更新がかかると取りこぼすような気がするので、何か良い回避方法はないですかね?
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ディレクトリへFTPして、それからTelnetでbuild_unixまで行って、
そこから../dist/configure と打ったら、こういうエラーが出ました。
bash: ../dist/configure: Permission denied
/db/ の属性は777と変更してから行ないました。
なにが問題なのでしょうか・・可能性を教えてください。
0082NAME IS NULL
04/01/20 23:30ID:???0083NAME IS NULL
04/01/21 00:24ID:vfEXJDFI0084NAME IS NULL
04/01/23 01:33ID:OV9Mrwi6レ、レベルひくぅー
0085NAME IS NULL
04/01/26 23:04ID:???0086NAME IS NULL
04/01/28 15:40ID:???0087NAME IS NULL
04/01/30 11:06ID:???単語数は、1000から2000で、各単語は発音、品詞、訳語、
例文など6〜7フィールドです。
頻繁にアクセスがあるとすると、どのDBMに格納するのが
吉でしょうか。ポスグレとかの方がいいのでしょうか。
0088NAME IS NULL
04/01/30 11:16ID:NJwR2Fzfそれともこのくらいならテキストファイルの方が早いですか。
0089NAME IS NULL
04/02/01 00:36ID:???テキストファイルで問題ないと思います。
速度を追求するならBerkeley DB使った方がいいかな。QDBMもいいかも。
0090NAME IS NULL
04/02/01 08:24ID:???ありがとうございます。
QDBMって速いっていうレスあったので、テキストと
両方試してみます。
0091NAME IS NULL
04/02/06 08:24ID:???0092NAME IS NULL
04/02/07 23:03ID:???ttp://qdbm.sourceforge.net/tutorial-ja.html
0093NAME IS NULL
04/02/28 08:20ID:???HASHとかBTREEならちょっとはわかるんだが。
実際どういう風に使うもんなんだろ...
0094NAME IS NULL
04/03/04 01:36ID:???0095NAME IS NULL
04/03/20 23:47ID:5TfEphvL0096NAME IS NULL
04/03/21 20:47ID:???体感で明らかに遅くなってしまって頭かかえてたんだけど
ttp://qdbm.sourceforge.net/benchmark.pdf
ここの見るとGDBMって書き込みが激しく遅いのね
しかしこのベンチのSDBMのReadが0って・・・
0097NAME IS NULL
04/03/21 20:49ID:???0098NAME IS NULL
04/03/22 09:39ID:???MovableTypeでBerkeley DB使えるのを見て思ったのですが。
スレッドとか検索とか付いてくると、色々ごちゃごちゃ
してくるし。
0099NAME IS NULL
04/03/23 20:09ID:???VCでビルドできたよ。
ところで、ベンチマークに「SDBMは100万レコードで壊れた」ってあるけどマジかなぁ。
0100NAME IS NULL
04/03/24 12:19ID:???* データベースの作成はとても速い!
* データベースのサイズも小さい!
* データベースの参照もとても速い!
* データベースの更新は、全データが必要(実質、再作成と同じなので、速度も再作成と同じ)
cdb 以外のgdbm,qdbmなどの場合
* データベースの作成の速度は普通(ものによるが、cdbほど速くはない)
* データベースのサイズもものによる(cdbよりは大きい)
* データベースの参照もものによる(cdbほど速くはない)
* データベースの更新は、他のデータは不要で、cdbより速い!
で、理解あってる?
0101NAME IS NULL
04/04/03 21:23ID:???ここの下のほうに cdb の 0.55 と 0.75 の違いが書いてあるけど、
これがもし本当なら大きなデータで殆どのレコードにアクセスするような例では
現行の 0.75 は結構辛い?
あと TinyCDB とやらでもこれは同じなのかな。
0102NAME IS NULL
04/04/06 21:46ID:GXxkLk8T0103NAME IS NULL
04/04/22 16:37ID:???0104NAME IS NULL
04/05/10 02:17ID:???0105NAME IS NULL
04/05/16 07:33ID:wKgBT2Er試しに置き換えたとしたら、どのくらい速くなるでしょうか。
副問い合わせをDBMのAPIで置き換えるのはちと大変だと思いますが、、、
0106NAME IS NULL
04/05/16 14:34ID:0id9T6PE0107NAME IS NULL
04/05/28 04:09ID:???0108NAME IS NULL
04/06/29 17:11ID:ZCOlO+nLやはっりというかMT-unsafeなんですよね。
バークレーDBや、qdbm,cdbmはMT-safeなのか、ご存知の方教えて
頂けませんでしょうか
因みにOSはsolaris8で、プログラムの中では検索しかしません。
(検索だけなのでndbmでもいけそうな気もするのですが、、、)
0109NAME IS NULL
04/06/29 17:12ID:???0110NAME IS NULL
04/06/29 17:25ID:???qdbmはスレッドOKでしたね。
0111NAME IS NULL
04/07/28 09:17ID:WggAfKYDこれのせいで昨日からずっと悩む羽目にあった。
0112NAME IS NULL
04/07/28 11:14ID:zDkc3K16それってえろう怖いんじゃねえか
0113NAME IS NULL
04/07/29 05:49ID:???0114NAME IS NULL
04/08/08 20:40ID:g7uZ+RUn0115NAME IS NULL
04/08/10 00:29ID:???あるのでしょうか?
0116NAME IS NULL
04/08/10 05:53ID:???0117115
04/08/10 17:01ID:???ちなみに、話題の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:???無いみたいんだけど、日本語でライセンスの書いてある説明
とかってないでしょうか?
0120NAME IS NULL
04/08/12 22:21ID:???0121NAME IS NULL
04/08/13 16:43ID:K37O/N7Hdb_loadというユーティリティでデータベースファイルを作成することはできたのですが、
いらなくなったkey=dataペア(レコード)を削除する方法が分かりません。
そのつど.dbファイルを作り直さなければいけないのでしょうか。
0122NAME IS NULL
04/08/15 21:45ID:???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:5WUYRldsC言語なら
int DB->remove(DB *db, const char *file, const char *database, u_int32_t flags);
という関数がある。C++でもJavaでも同様のメソッドがある。
0124NAME IS NULL
04/08/15 22:49ID:???http://namazu.org/~satoru/diary/200407.html
0125NAME IS NULL
04/08/16 14:47ID:???レスありがとうございます。121です。
付属のユーティリティをつかって簡単に削除できるのだろうとおもっていたのですが
そういう使い方をするモノではないんですね。ちょっと勘違いしておりました。
0126NAME IS NULL
04/08/30 16:09ID:???使うよ?いいの?
0127NAME IS NULL
04/08/31 13:45ID:???0128NAME IS NULL
04/09/27 17:52:34ID:SSEQCMVj0129NAME IS NULL
04/09/27 23:42:50ID:???0130129
04/09/28 00:09:24ID:???会社のはbdbがdevel版がインストールされてなかったのかな。
0131NAME IS NULL
04/10/20 21:58:02ID:???Berkeley DBに変更しました。すると肥大化はしなくなったものの負荷が数倍かかるようになりました。
GDBMなんかは肥大化するわ壊れるわで最悪でした。
perlのバージョンを変えてもapacheのバージョンを変えても解決せず。
アクセスが多すぎると駄目なのでしょうか。
0132NAME IS NULL
04/10/20 23:52:06ID:???0133NAME IS NULL
04/10/21 12:37:01ID:???ちゃんとファイルロックしてないだろ。壊れるのあたりまえ。
NDBMにしろGDBMにしろ最初はファイルサイズ大きくなる。
が、後からはデータを追加してもその分しか大きくならない。
0134131
04/10/21 18:43:26ID:???壊れるというのは、ファイルが飛んでサイズが減るわけではなく
サイズはそのままで全てのデータが読み込み出来なくなります。
ぷららのサーバで同じように試してみるとどんどんファイルサイズに差が出てきます。
直ぐに200KBと5MBくらいに差がでました。
1度テキストに変換して全て書き直すとサイズは200KBまで落ちたので異常に肥大化されているような気がします。
QDBMはインストールはしましたが書き込めても読み込めなく、原因が分からなかったので諦めました。
0135NAME IS NULL
04/10/23 15:42:49ID:???索引や効率を考えて前もって領域を確保してる分だから、
動作としてはおかしくない。
あと実装によってはdbm側でロックの機構があるから、
それを使う方が望ましいかもしれない。
0136NAME IS NULL
04/10/27 04:38:31ID:Yk8mNdzMGDBMが壊れるあたり、DBとの接続をちゃんと切ってないことない?
CGIとかでも、プロセスが死ぬ前に確実に接続を切る(ハンドルを閉じる)
ようにしないとファイルがおかしくなるよ。
0137NAME IS NULL
04/11/10 16:34:50ID:???0138NAME IS NULL
05/01/15 00:58:37ID:vXqd6/XvDBご存知ないですか?C言語でお願いしまっする。
0139NAME IS NULL
05/01/15 03:52:49ID:???そんなん(メモリ空間100KB以下)だったらDBいらねーんでは?
0140NAME IS NULL
05/01/15 19:23:40ID:???QDBMは? POSIX互換なら動きそうだけど。
0141NAME IS NULL
05/01/17 23:44:17ID:FLVEOjowノキアや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:fFuVLIUL0144NAME IS NULL
05/01/25 20:33:08ID:???0145NAME IS NULL
05/02/18 03:15:52ID:9UHJegbsトランザクション使えるし、レプリケーションできるし、
オンラインバックアップできるし、2phase commitできるし。
ただ、ライセンスがきつくて使いづらい。
0146NAME IS NULL
2005/03/26(土) 15:09:38ID:???0147NAME IS NULL
2005/04/04(月) 15:27:05ID:IVXkguN3どなたか具体的なお話を聞かせて頂けないでしょうか?
0148NAME IS NULL
2005/04/05(火) 00:22:16ID:???直接聞けばいいのに。
0149147
2005/04/05(火) 15:07:31ID:???公表されても構わないことと思われるのに、
ネットで全然その話題に行き着かなかったのです。
BerkeleyDBの利用しづらさって、その辺が全然分からんのもあると思うので、
どなたか情報を放流してもらえないかと期待しての書き込みです。
0150NAME IS NULL
2005/04/05(火) 18:05:52ID:???とか
http://www.sleepycat.com/supports/index.shtml
とかに普通に書いてない?
0151NAME IS NULL
2005/04/05(火) 20:31:04ID:???いや、そこに載ってるのはサポートの価格で
知りたいのはコマーシャルライセンス自体の価格だと思われ。
Sleepycatのオープンソースライセンスは実質GPL(否LGPL)と同等だから、
製品に組み込もうと思ったら、その製品のソースも何らかの形でオープンにしないと駄目。
http://www.opensource.jp/licenses/sleepycat.html
多分InnoDBと同程度の価格だと思うんだけど、InnoDBはOEMオンリーで
結局MySQLでの価格差でしか見れないし、本当の供給してる値段は判らんね。
0152NAME IS NULL
2005/05/30(月) 22:16:20ID:???0153NAME IS NULL
2005/06/10(金) 12:33:06ID:b9rlejc6これはキーが重複したレコードの中では登録日時順に並ぶという事だよね。
しかし分からないのはその後の「DBのアップデートの為にそのカーソルは使えなくなる」という記述。
どういう事?
マニュアルのサンプルコードで重複キーのレコードに対してカーソルを使っているが。
0154NAME IS NULL
2005/06/10(金) 15:37:19ID:???とりあえず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アプリケーション内で作った文字列を格納する方法が見当たらないんだが。
0158NAME IS NULL
2005/06/22(水) 20:13:41ID:???くて、転置インデックスしか管理しない。
estraierの用途を考えればわかるように、元の文書はどっか他の場所にファイ
ルとしてあるっていう前提があって、 odeum 側で、いちいちそのファイルの
内容をコピーせずに、そこへの参照(パスとか)だけ持てばいいって発想なんだ
ろう。
0159NAME IS NULL
2005/06/22(水) 21:56:09ID:???ODDOCオブジェクトを作ってoddocaddwordで語を入れさえすればいい。
0160NAME IS NULL
2005/06/22(水) 22:02:49ID:???http://jdbm.sourceforge.net/
0161NAME IS NULL
2005/06/22(水) 22:04:27ID:Dl2KSbG/BSD License だったから あげさせてもらうよ
0162157
2005/06/23(木) 02:59:16ID:TtVhFLaI0163NAME IS NULL
2005/06/24(金) 09:05:52ID:???しないよ。文書にIDをつけてるだけみたい。実際にはユニークであれば
どんあ文字列をしていしてもいいみたい。
0164157
2005/06/24(金) 11:35:39ID:???0165NAME IS NULL
2005/06/25(土) 04:57:25ID:IcUs4KvU0166NAME IS NULL
2005/06/26(日) 03:08:08ID:nz35kzcLODDOC構造体に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:cQGEb3Ttreboot後にコンパイルしても変わらないし、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:???0170NAME IS NULL
2005/07/21(木) 05:47:53ID:???>>142氏のリンク先を何度読んでも理解できず…
どなたか簡単に解説をお願いできないでしょうか。
0171NAME IS NULL
2005/07/21(木) 06:00:25ID:???お時間の許す方は煽ってやってください orz
0172NAME IS NULL
2005/08/06(土) 10:21:45ID:???>バケット配列の各要素は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:???0175NAME IS NULL
2005/12/03(土) 11:51:57ID:???0176NAME IS NULL
2005/12/17(土) 22:53:22ID:???0177test
2005/12/20(火) 13:38:10ID:???0178test
2005/12/20(火) 13:39:12ID:BChHfMfC0179NAME IS NULL
2005/12/21(水) 21:06:51ID:???0180NAME IS NULL
2005/12/22(木) 00:58:46ID:???やっぱりver1が落ち着く。
0181NAME IS NULL
2006/02/12(日) 16:27:05ID:???http://www.itmedia.co.jp/news/articles/0602/11/news007.html
0182NAME IS NULL
2006/02/15(水) 15:32:40ID:???http://www.itmedia.co.jp/news/articles/0602/15/news015.html
0183NAME IS NULL
2006/02/17(金) 22:02:46ID:???0184NAME IS NULL
2006/02/18(土) 19:11:15ID:???0185NAME IS NULL
2006/03/10(金) 02:11:43ID:vhSvdEFS0186NAME 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:???0189NAME IS NULL
2006/03/21(火) 14:17:27ID:???0190NAME IS NULL
2006/03/21(火) 14:23:08ID:???Red Hatは自社のLinuxのパッケージデータベースにBDBを使ってる。
おそらくBDBユーザ数としては最大。
0191NAME IS NULL
2006/03/25(土) 02:49:25ID:???0192NAME IS NULL
2006/04/02(日) 13:28:55ID:???0193NAME IS NULL
2006/05/18(木) 23:40:55ID:237FeIJl教えて下さい。
0194NAME IS NULL
2006/05/19(金) 09:43:32ID:???もうちょっと具体的にどんな言語を使うとかどういう使い方をするとか詳しく。
0195193
2006/05/19(金) 21:35:29ID:???有り難うございます。
いくつか見たサンプルが、いずれもテキスト形式のデータだったので、
バイナリデータは何等かのかたちでエンコードする必要が有るのかなと
思い、確認をしないまま質問してしまいました。
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:???先ずはパスを管理するデータベースを作ってみようと思います。
色々質問をしてすみませんでした。
画像データのサイズは数メガの間違いです。
0198NAME IS NULL
2006/06/16(金) 05:29:45ID:???0199NAME IS NULL
2006/06/16(金) 06:54:40ID:???0200NAME IS NULL
2006/06/16(金) 11:01:21ID:RZPI+bcx0201NAME IS NULL
2006/06/16(金) 15:35:02ID:???0202NAME IS NULL
2006/06/17(土) 02:20:46ID:???0203NAME IS NULL
2006/06/17(土) 15:22:11ID:UKEJjsFA漏れのことを忘れないでくり。
職場のweb上の会議室予約のデータベースに使ってる。
速い、手軽、イイー。
0204NAME IS NULL
2006/06/18(日) 15:19:22ID:???php当たりから呼んでるとか?
0205NAME IS NULL
2006/06/19(月) 07:38:05ID:???相談に乗りますよ。検索→読みモジュールと書き込みモジュールとあるが
それぞれ20万でどうよ。
0206NAME IS NULL
2006/06/19(月) 11:01:00ID:???0207NAME IS NULL
2006/06/19(月) 19:16:56ID:???ハロワに月収18万で募集掛けたほうが安く上がる。
0208205
2006/06/20(火) 02:39:48ID:tLdLBl3Qその通り。モジュール類だけ挙げるとこんなんだす。
#!/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:1pslgYqg499 :心得をよく読みましょう :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:???とまだいいんだけど、オ−プン系技術者募集と称して
「タダソフトみつくろって組み合わせるだけだろ?もったいつけんじゃねえよ」
みたいなとこも(ry
0213NAME IS NULL
2006/07/02(日) 08:02:33ID:???でも無料ソフトに人件費やサポート料払ってたら、サポート付きの有料ソフトのほうがコストが安かったのは良くある話。
逆にオプソビジネスって、セールソフトを超える利益は見込めない罠。
0214NAME IS NULL
2006/08/02(水) 17:37:26ID:qDpQ3GjvBerkeley DB (Btree, version 6, native byte-order)
と返ってくるファイルがあるのですが、どのようなkeyがあるのか
わかりません。
このhoge.dbから、全てのkeyと値のペアを取り出したいのですが、
どのようにすればいいのでしょうか?
Cかperlでお願いします。
0215214
2006/08/02(水) 18:15:40ID:???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:???自分だけ良ければいいという自己中ですか?
0218NAME IS NULL
2006/08/25(金) 16:31:23ID:???0219NAME IS NULL
2006/08/31(木) 12:12:41ID:???0220NAME IS NULL
2006/11/29(水) 21:23:38ID:rpmcvwmj0221NAME IS NULL
2006/12/14(木) 10:20:25ID:0UD4Qre0臣 心 仲間 ありがとう
心 臣 神 仲間
0222本田
2006/12/27(水) 19:24:32ID:E124N8nx>Berkeley DBにあるRECNOってドンなの?
>HASHとかBTREEならちょっとはわかるんだが。
>実際どういう風に使うもんなんだろ...
テキストエディタの行を管理するのにに使われてる。
>The Berkeley Vi Editor Home Page
http://www.bostic.com/vi/
http://www.bostic.com/keith.html
http://www.onlamp.com/pub/a/bsd/2000/03/24/bostic.html
0223NAME IS NULL
2007/01/21(日) 22:04:08ID:???http://dekorte.com/projects/opensource/SkipDB/
0224本田
2007/01/22(月) 22:18:44ID:oPb/cak0http://72.14.235.104/search?q=cache:HjphsOxDNr0J:www.dss.ca/dss/tech/tdbm.html+tdbm&hl=ja&gl=jp&ct=clnk&cd=4
http://www.netsw.org/database/hashfile/
> tdbm-1.2.tar.gz 08-Feb-2002 21:10 153k
>[TXT] tdbm-1.2.tar.gz.BLURB 08-Feb-2002 21:10 1k
0225NAME IS NULL
2007/02/16(金) 17:03:13ID:KreXA7+oどれだけ使っていてもログファイルが 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:???引き続きさっぱり分からないです…
0229NAME IS NULL
2007/02/19(月) 15:35:38ID:???0230NAME IS NULL
2007/02/19(月) 16:03:40ID:???ログ違いじゃね?
>>225 の言ってるのは障害復旧時とかに使うトランザクションログのことだべさ?
0231225
2007/02/22(木) 13:32:05ID:???普通に書くとトランザクションがオープンできないですね。
普通に書いて動くようにするために 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:???0235NAME IS NULL
2007/04/12(木) 14:48:44ID:???---
[depot]^@^K
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´∀`)< NDBM Compatibility
( ) \_________
| | |
(___)_)
0236NAME IS NULL
2007/06/03(日) 17:09:56ID:???0237NAME IS NULL
2007/07/24(火) 14:38:01ID:???0238NAME IS NULL
2008/03/31(月) 10:26:13ID:???0239NAME IS NULL
2008/04/01(火) 00:55:14ID:???プンプン
0240NAME IS NULL
2008/07/10(木) 13:37:36ID:???0241NAME IS NULL
2008/07/10(木) 14:58:29ID:???0242NAME IS NULL
2008/07/18(金) 13:04:32ID:+Axli2lwシーケンシャルデータ。
大部分のデータは末尾に追加するだけだから
シーケンシャルデータベースの方がスペース効率がいい。
0243NAME IS NULL
2008/07/23(水) 18:08:38ID:???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:qdal0jl9qdbmでは、「`dptr' の指す領域はハンドルに関連づけられて確保され、
同じハンドルに対して次にこの関数を呼び出すか、ハンドルを閉じるまで、
有効なデータを保持する。」
となっていますが、gdbmではプログラマの責任でfreeしろと書いてあります。
移植性のあるコードを書くためには、どのライブラリを使ってるのかで
処理をわけるべきなんでしょうか?
0245NAME IS NULL
2009/01/19(月) 23:14:06ID:aLajSnjE0246NAME IS NULL
2009/01/20(火) 06:39:40ID:???0247NAME IS NULL
2009/04/07(火) 21:42:34ID:???R_LASTでseqして得られたキーにインクリメントしてputって感じ?
それともデータのハッシュ値とかunix時間でも突っ込むべき?
0248本田
2009/04/14(火) 23:52:37ID:2S7IsnOhhttp://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/EPjmw0250NAME IS NULL
2010/02/27(土) 08:08:24ID:aPiEjk1k0251NAME IS NULL
2010/03/03(水) 10:33:04ID:???0252NAME IS NULL
2011/04/23(土) 21:46:11.58ID:0ohSTg5e0253NAME IS NULL
2011/04/23(土) 22:40:13.71ID:???0254NAME IS NULL
2011/04/26(火) 09:48:41.97ID:???メール来る度に.forward読んで処理してるくらいだしね。
0255NAME IS NULL
2011/08/08(月) 10:47:55.20ID:???■ このスレッドは過去ログ倉庫に格納されています