BerkeleyDB Backend Storage Engine for DURUS 20061121
Details
| Size: | 30K |
| Last Update: | 2008-05-02 00:13:46 |
| OS Support: | Linux |
| License/Program Type: | GPL (GNU General Public License) |
| Publisher: | jcea |
| Price: | $0.00 |
Description:
BerkeleyDB Backend Storage Engine for DURUS 20061121 is database engines software developed by jcea.
BerkeleyDB Backend Storage Engine for DURUS project provides a storage engine for DURUS, a persistence system for the Python programming language.
Some advantages compared to Durus standard FileStorage:
Startup time is negligible.
You don't need an in-memory index, so your repository size is only limited by storage space, not RAM.
If you change existing objects, your storage size doesn't increase.
If you delete objects, those objects are garbage collected in background, slowly, without performance degradation.
You can still do a full fast collection, if you need it. While this collection is in progress, Durus still serves objects. From time to time, nevertheless, it can be unresponsible for 2 or 3 seconds, while is doing a checkpointing to be able to free database logging diskspace.
Garbage collection doesn't increase storage size. Neither RAM usage.
Garbage collection deletes objects using nondurable transactions, very efficiently. If the collection is aborted abruptly (program or machine crashes), the collection will start again from the beginning. If the GC finishes without problems, that state is durable.
Any object store in the storage will commit a durable transaction, including all objects released in the background garbage collector, along the way.
Garbage collection time is proportional to garbage, not repository size.
There are some disadvantages, nevertheless:
IMPORTANT: This backend uses reference counting to decide when an object is garbage and can be collected. So, if you have cycles in your data structures, you MUSTBREAK them before releasing the objects.
Failing to do that will leak diskspace. It is possible that in a future release we can collect cycles, but try to avoid that pattern.
Leaking objects will grow the diskspace, but NO corruption or malfunction will happen. No other secondary effect.
Although this code could work on Windows, I haven't checked it. Absolutely no garantee!.
Sometimes this backend can become irresponsible for a couple of seconds. It is busy doing a checkpoint to recycle database logging space. The pause should be sort, nevertheless.
Don't use this storage backend over NFS, at least you know what is going on.
Since we are using BerkeleyDB as the backend:
You should be experienced with BerkeleyDB deployments.
Beware when updating Python or BerkeleyDB. In particular, BerkeleyDB is known by breaking (but they DOCUMENT!) binary compatibility between versions. In this case, they ALWAYS document the procedure to do a controlled upgrade, so don't worry. But take note of the risk.
To do a trustable backup, you should follow instructions in BerkeleyDB documentation:
http://www.sleepycat.com/docs/ref/transapp/reclimit.html
http://www.sleepycat.com/docs/ref/transapp/archival.html
http://www.sleepycat.com/docs/utility/db_hotbackup.html
In Python you can use the standard "bsddb" or the up-to-date "bsddb3" bindings (which will be included in new python versions). This product will try to use always the more recent BerkeleyDB bindings. Be careful about BerkeleyDB version changes when you update the bindings.
Since BerkeleyDB files are binary structures, a corrupt database can be unrecoverable. Be diligent and careful with your backups.
You can use this product both as a normal (local) filestorage, or a server (remote) storage system, just like the usual Durus FileStorage.
What's New in This Release:
Compatibility with Durus 3.6.
BerkeleyDB Backend Storage Engine for DURUS 20061121 supports different languages (including english). It works with Linux.
Downloading BerkeleyDB Backend Storage Engine for DURUS 20061121 will take several seconds if you use fast ADSL connection.
0 comments
Add to
BerkeleyDB Backend Storage Engine for DURUS 20061121 Version History
Related Software
|
|
From category: Administrative-frontents |
| db_flay 2.00 is administrative frontents software developed by Dr. Michael J. Chudobiak. db_flay generates a simple - but productive - web interface for databases. The target user of db_flay is a s... |
|
|
From category: Administrative-frontents |
| DocServ 1.0 is administrative frontents software developed by Antoine Duval. DocServ is a small tool for indexing documents in a database. It is easy to use, and can be installed in less tha... |
|
|
From category: Database-Engines |
| Emdros 1.2.0 pre231 is database engines software developed by Ulrik Petersen. Emdros is an Open-Source text database engine for storage and retrieval of analyzed or annotated text. Emdros ha... |
|
|
From category: Database-APIs |
| DBAHelper 0.1.7 is database apis software developed by IzzySoft. DBAHelper project is a collection of scripts to ease the daily maintenance work of Oracle database administrators. Examples a... |
|
|
From category: Database-APIs |
| SQLiteJDBC supports the most commonly used features of JDBC that can be efficiently implemented on top of SQLite.... |
|
|
From category: Database-Servers |
| Apache Xindice 1.0 is database servers software developed by The dbXML Group. Apache Xindice is a database designed from the ground up to store XML data or what is more commonly referred to as a na... |
|
|
From category: Database-APIs |
| FramerD 2.61 is database apis software developed by Framerd Developers. FramerD is a portable distributed object-oriented database designed to support the maintenance and sharing of knowledge bases... |
|
|
From category: Database-Engines |
| Firebird Relational Database 2.0 Final is database engines software developed by Firebird Project. Firebird is a relational database offering many ANSI SQL-99 features that runs on Linux, Windows,... |
|
|
From category: Database-APIs |
| Easysoft ODBC-JDBC Gateway 2.0 is database apis software developed by Easysoft Limited. Easysoft ODBC-JDBC Gateway lets ODBC-enabled applications such as Business Objects, Microsoft Access, Microso... |
|
|
From category: Administrative-frontents |
| DbVisualizer 5.1.1 is administrative frontents software developed by Roger Bj?revall. DbVisualizer project is a cross-platform database tool for all major relational databases. DbVisualizer enables... |
|
|
From category: Administrative-frontents |
| MySQL Workbench is a cross-platform, visual database design tool developed by MySQL.... |
|
|
From category: Administrative-frontents |
| ERW 1.0.11 is administrative frontents software developed by Sebastiano Vigna. ERW is a set of specifications and tools that makes it easy to create, modify and maintain via web a database describe... |
|
|
From category: Administrative-frontents |
| DaDaBIK 4.1 RC1 is administrative frontents software developed by Eugenio Tacchini. DaDaBIK project is a free PHP application that allows you to easily create a highly customizable front-end for a... |
|
|
From category: Database-Engines |
| Berkeley DB Java Edition 3.1.0 is database engines software developed by Oracle. Berkeley DB Java Edition is a high performance, transactional storage engine written entirely in Java. Like the high... |
Leave a comment