管理人さんさんのページ
[携帯版] 総閲覧回数:574,583

アクセス記録[アクセス記録詳細 / 外部からのアクセス元URL (昨日 / 過去8日間) / ログイン状態の論客]
メニュー
プロフィール私書箱
受/送/送済
評価履歴
共感[/]
DB作成履歴
生成/承認/
書き物
[書く]
リンク集
登録有

RSSリーダー登録
RSS
日記表示スタイル
ホームページ型/携帯
画像/動画/音声/リンク
表示開始年月
日記内検索

分類
全て
1.このサイトについて
2.作品DB開発/運用
3.ホームページ制作技術
4.Perl
5.C++
6.検索エンジンレポート
7.サッカー
8.自分のこと
9.Linux
10.旅行
11.思ったこと
12.Berkeley DB
13.その他技術系
14.企画
15.スマートフォン
16.自分限定メモ
17.運用マニュアル(自分用)
18.技術系以外実用書
19.料理
20.ALEXA
21.アニメ
22.会計
23.プログラミング全般
24.設計書
25.色々サイト作成
挨拶
ここは
accessup.org
の管理人さん
のページです。
サイトに関する
お問い合わせは
こちからから

日記の内容
日記では主に
サイト運営/開発
検索エンジン情報
・技術ネタ(Berkeley DB,
Linux, Perl, サイト作成等)
を扱っています。

お気に入りPV

Blackmore's nightの
Magical world
(ロミオとジュリエットの歌)

サイト内管理系ショートカット
1.定期更新処理
2.英語版Myページ
3.未処理削除提案
4.承認待ち提案
5.日々のタスクチェック

思い付きメモ
[サイト作成での心構え]
・孤独死させない
・リアルタイムに変化させる

気に入った言葉集
[ビジョン]
無いものに
気付くことができる

[対人]
士は己を知る者
のために死す

[仕事]
日々1%の改善は
年37倍の改善

2人の日々1%の改善は
37x37=年1427倍の改善
組織の改善は大きい

Noと言わなければ
優先順位は決定できない

Noの言い方には色々ある
・優先順位
・時間ができたら
・他人に依頼
・次期にやる
・絶対駄目

[ビジネス]
必ず1位を取れるところで勝負
2位はつまりは敗北

[組織]
人が好きな人が必要

PMは方法論より
チームに注力すべき

自己決定的であることが重要

[経営]
戦略は道標だから
敵や状況で変わらないもの
にする(右往左往しない)
変えるのは戦略ではなく戦術

経営者は他は劣っても
熱意・情熱だけは最高
でなければならない

[生活]
家族は自分が守るべき
最小の単位

良い習慣を身に付ける鍵は
何度も実践すること

現代の生活は時間の浪費
に満ちている

[人生]
日々の生活の中で
目標を見失わないこと

補足
この日記の左メニューは
Myページの
自分のページをカスタマイズ
から設定可能

ここで日記を書くには
作品評価もしくはファン登録
をして論客として
ご参加頂く必要があります。
[貰ったコメント数] [送信コメント数]
<=次記事2008/04/25 ちょっとした情報の追加:...作品中...位
=>前記事2008/04/22 ブラウザー::ブラウザーを作ってみた

1. 2008/04/24 Berkeley DB > perl > BerkeleyDB.pmとDB_File.pmのどちらを使うべきか」
[この書込みのみ表示(記事URL紹介用) / 編集 / 削除 / トラックバック送信 / 共有分類に追加(タグ付け)](コメントする)

ウェブサイトにおいてBerkeleyDB.pmとDB_File.pmのどちらを使うべきか...             
といえばBerkeleyDB.pmです。                
というのは、BerkeleyDB側の同時書き込みによるデーター破損防御ロック、トランザクションの利用などの機能がDB_File.pmでは利用できないからです。              
                    
DB_File.pmの方がperlに普通同時に付いてくるものなので、思わずそちらを使ってしまいそうになりますが、できるだけBekeleyDB.pmの利用方法を覚えた方が良いでしょう。           
但し、BekeleyDB.pmの文章(perldoc)はお世辞にも十分な情報が載っているとは言えないので、敷居は高いです。               
文章がどこにあるのか、といえば、BerkeleyDB.pmはBerkeleyDBのC言語のAPIのperl版実装と言えるので、BerkeleyDBのC言語のマニュアルを読む必要があります。                
それに対応するAPIが用意されていると考えて問題ないです。                    
...
やっぱこの敷居の高さがBerkeleyDB.pmの問題かな?

その点、DB_File.pmは、一度tieさせてしまえば完全にperlのハッシュの操作と違わない操作を許しているので、敷居は限りなく低く、そちらを使う利点もあると思います。
但し、DB_File.pmの場合には、BDBファイルをlockしてunlockして、というのを同時書き込みがありうる処理に対しては行っていました。
裏に隠れてしまうので破損が起きるまで見逃しがちですが、そうした同時書き込みに対するロック・アンロックといった処理は必要です。
あと、sync(メモリーからファイルに書き込むタイミング)の把握も、場合によっては必要になります。
そういう点で、DB_File.pmは簡易にしてはくれるけれども、簡易にした分見えなくなっている動作があり、かつそこに対して十分な機能が提供されていない面があるので(同時書き込みの制御)、その点は注意が必要です(とりわけ同時書き込みとsyncするというタイミングに対する意識と対策)。

BerkeleyDB.pmも、きちんとした文章や、BerkeleyDB.pmの複雑さを隠すモジュールがあれば、敷居は下げれて機能もアップするので誰もがそちらを使うようになると思いますが、そこらへんが実現できていないのが問題でしょうね。

自分の場合は
use BerkeleyDB;
use BDB::Wrapper;

my $bdb='test.bdb';
my $key='key';
my $value='value';
$self->{'bdbw'}=new BDB::Wrapper;
if(my $dbh=$self->{'bdbw'}->create_write_dbh($bdb)){
  local $SIG{'INT'}='IGNORE';
  local $SIG{'TERM'}='IGNORE';
  local $SIG{'QUIT'}='IGNORE';
  $dbh->db_put($key, $value);
  $dbh->db_close();
}
という風に使えるラッパーモジュールを作って使っていました。
これだけで同時書き込みの制限もBDB側がしてくれるので非常に楽です。
ちなみにlocal $SIG{'INT'}='IGNORE';などはCtr+Cなどをその変数が有効な間該当シグナルハンドルをIGNORE(無視)しろという意味です。

ラッパーモジュールは
http://www.accessup.org/pj/6_B4C9CDFDBFCDA4B5A4F3/20080520.html
にある通り、現在CPANでオープンソースとして公開していますので、使われたい方はどうぞご利用下さい。

ちなみに、BDB::Wrapper.pm(BerkeleyDB.pm)とDB_File.pmを100万レコードを作るタスクで処理時間を比較してみましたが、有意な差は生じませんでした。
<=次記事2008/04/25 ちょっとした情報の追加:...作品中...位
=>前記事2008/04/22 ブラウザー::ブラウザーを作ってみた
大分類が「Berkeley DB」の記事
記事全て


特定日付の書き物にコメント・感想を書いてみる
[日記・コメントの削除ルール]
一言で言えば: 喧嘩になること/場を荒らすことに繋がる内容は禁止 (必要なら私書で/但し私書にもルールがあります。別途参照)。
詳細はこちらの記事参照

コメントする日記の日付
ここは日記の「この書込みにコメント」をクリックすると自動的に入ります。手動入力不可)

日記へのコメント
注意: 書込みには階位が必要
特殊機能利用可能(詳細ヘルプ)
画像置き場(使い方ヘルプ): 日本語:フォト蔵 / Yahoo / 英語:Flickr / Buzznet
特殊機能利用補助(クリックで文末に挿入 / マウスを合わせでコピペ欄に表示 / <タグ>...</タグ>という形で囲んだ所に効果)
文字(隠し系はネタバレ防止用/非難の隠しに使わない事): 隠し 下線 下付 取消線 上付 注意付隠し
色:
レイアウト: タグ制限解除 囲み 横棒 中央 / その他特殊機能
コピペ(タグ参考)欄


お名前(階位必要):
パスワード:

<=悪用しないこと。この機能を使ったからといってルールの適用基準が変わることはありません。


作品データベース目次 | 最速一括検索エンジン | サイトマップ | Copyright(c) 1999- 1st Class