0

最近までbsddbについて聞いたことがありません。

http://www.oracle.com/us/products/database/berkeley-db/index.html http://en.wikipedia.org/wiki/Berkeley_DB

私はそれが何であるかを正確に理解することができませんでした。bsddb は私の Mac にインストールされているようですが、私は間違いなくインストールしていません。これは、bsddb がデフォルトでインストールされているためですか? それはすべての Unix マシンに当てはまりますか? 私のマシンのライブラリは Oracle のディストリビューションですか? (どのbsddbを試しましたが、うまくいきませんでした)。

bsddb が私のマシンにある理由のコンテキストと、提供されている Python ライブラリ (anydbm と bsddb) の両方の観点から、bsddb を一般的に説明できますか。

4

1 に答える 1

0

BDB は、おそらく 20 年以上にわたって Unix マシンで利用できるデータベース システムです。当初は単一プロセスのデータベース サービスを提供していたため (他のプロセスにサービスを提供する MySQL や PostgreSQL データベースデーモンとはまったく異なります)、アプリケーションがコードに集中し、ハッシュ アクセス データベース コードの作成とデバッグの手間を省くことができました。

これはもともと、一度に 1 つのプロセスのキー/値ストアを目的とした非常に/etc/master.passwd単純なシステムであり、そうでなければ単純なプレーン テキストで実行された可能性のあるいくつかの操作を大幅に高速化することを目的としていました。システム (ほとんどの、すべての BSD システムに共通) は/etc/passwdおよび/etc/shadowファイルの BDB バージョンであるため、login(1)および類似のツールは線形sshd(8)検索を実行する必要がなく、代わりにハッシュ検索を使用してユーザー アカウントを非常に迅速に見つけます。

新しいバージョンの BDB は、プロセス認識、完全なトランザクション サポート、さらには SQL クエリのサポートを統合しています。おそらく、新しいアプリケーションでほとんど BDB に取って代わったSQLite3と競合するためです。

ほぼすべての Unix マシンで何らかの形式の BDB を期待できますが、利用可能なバージョンは大きく異なるため、利用可能な機能は一貫していない可能性があります。(私の Ubuntu システムには、BDB バージョン 4.7、4.8、および 5.1 がインストールされています。図を参照してください。)

于 2011-12-16T23:44:32.393 に答える