[Zodb-checkins] CVS: ZODB3/Doc - storages.html:1.2

Toby Dickenson tdickenson at geminidataloggers.com
Tue Jun 17 04:32:51 EDT 2003


Update of /cvs-repository/ZODB3/Doc
In directory cvs.zope.org:/tmp/cvs-serv12327

Modified Files:
	storages.html 
Log Message:
merged feedback

=== ZODB3/Doc/storages.html 1.1 => 1.2 ===
--- ZODB3/Doc/storages.html:1.1	Tue Jun 17 02:39:51 2003
+++ ZODB3/Doc/storages.html	Tue Jun 17 03:32:51 2003
@@ -3,12 +3,13 @@
 
 <p>This is a feature matrix and comparison comparison of the various ZODB storages.</p>
 
-<p><b>status:</b> Currently it is incomplete. I (Toby Dickenson) have filled in the columns
-for the storages I know well, and rows for the features that differentiate them.
+<p><b>status:</b> Currently it is incomplete. It includes contributions from Toby Dickenson,
+Jeremy Hylton and Barry Warsaw.
 Please update the other columns, add new columns, and particularly add new rows if any other
 areas of comparison are important.</p>
 
-<p>Apologies in advance for any errors.</p>
+<p>Please note that this information is for comparison only. The documentation
+for individual storages is likely to contain more detail than is presented here.</p>
 
 <style>
 
@@ -119,7 +120,7 @@
 1
 </td>
 <td class="bdbstorage">
-2?
+2
 </td>
 <td class="ape">
 1?
@@ -154,7 +155,7 @@
 Unix only. Only linux is well tested.
 </td>
 <td class="bdbstorage">
-?
+Unix. Should work on Windows with a manual install.
 </td>
 <td class="ape">
 ?
@@ -223,10 +224,10 @@
 
 <tr>
 <td class="filestorage">
-High performance through low overheads. Extreme portability.
+Extreme portability. Simple file format.
 </td>
 <td class="dirstorage">
-Simplicity of implementation. Fault tolerance. Manageability.
+Simple of implementation. Fault tolerance. Manageability.
 Disaster-Preparedness.
 </td>
 <td class="bdbstorage">
@@ -254,6 +255,7 @@
 </td>
 <td class="bdbstorage">
 bsddb3Storage.Full supports undo and versions, while bsddb3Storage.Minimal does not.
+ZODB4's MemoryStorage is built on the BDBStorage code, with an in-memory compatibility layer to the bsddb module API.
 </td>
 <td class="ape">
 ?
@@ -273,7 +275,7 @@
 of small files. The developers use reiserfs on linux.
 </td>
 <td class="bdbstorage">
-Sleepycat's Berkeley DB 4.0.14 and Robin Dunn's PyBSDDB 3.4 Python bindings.
+Sleepycat's Berkeley DB 4.0.14 and Robin Dunn's PyBSDDB Python bindings.
 </td>
 <td class="ape">
 ?
@@ -342,10 +344,10 @@
 allow between 2% and 10% of the Data.fs size in RAM or performance will slow to a crawl.
 </td>
 <td class="dirstorage">
-Small, and independant of storage size.
+Small, and independant of storage size. The operating system provides caching.
 </td>
 <td class="bdbstorage">
-Small, and independant of storage size.
+Small, and independant of storage size. BerkeleyDB provides many ways to tune how memory is used for caching.
 </td>
 <td class="ape">
 ?
@@ -399,13 +401,13 @@
 
 <tr>
 <td class="filestorage">
-Not as standard. You can find some hairy home-brew scripts in the zodb-dev list archives.
+Yes, using repozo.py.
 </td>
 <td class="dirstorage">
-Yes, using a standard script with a tar backend. Incremental backups to tar.gz files.
+Yes, using a standard script with a tar backend.
 </td>
 <td class="bdbstorage">
-Yes, as Berkeley DB.
+Yes, as BerkeleyDB.
 </td>
 <td class="ape">
 ?
@@ -423,7 +425,7 @@
 on another machine.
 </td>
 <td class="bdbstorage">
-No. (or does BDB help out here?)
+No. 
 </td>
 <td class="ape">
 ?
@@ -434,13 +436,14 @@
 
 <tr>
 <td class="filestorage">
-A variety of tools in variety of places, for checking and fixing certain types of corruption.
+A variety of tools distributed as standard with ZODB, but not with Zope.
+Many can be run without shutting down the storage.
 </td>
 <td class="dirstorage">
 checkds.py, a unified checking tool. Can be run without shutting down the storage.
 </td>
 <td class="bdbstorage">
-No (?)
+BerkelyDB provides tools for checking the tables, but there is no way to check storage-level details.
 </td>
 <td class="ape">
 ?
@@ -471,7 +474,8 @@
 <tr>
 <td class="filestorage">
 On shutdown the index is written to disk, and reloaded on startup. This takes time proportional to storage size,
-but is quick. After an unclean shutdown it needs to rebuild the index, which is slow.</td>
+but is quick. After an unclean shutdown it needs to rebuild the index, which is slower. It may need to rebuild
+the full index (very slow) or just the changes since it was last updated.</td>
 <td class="dirstorage">
 Small, and independant of storage size.
 </td>
@@ -489,7 +493,7 @@
 <tr>
 <td class="filestorage">
 Automatically truncates the file to the last complete transaction, and copies
-the tail in a file for later inspection.<br>
+the tail into a file for later inspection.<br>
 PartitionedFileStorage may need some manual tweaking, if you are very unlucky.
 </td>
 <td class="dirstorage">
@@ -503,15 +507,37 @@
 </td>
 </tr>
 
+<tr><th colspan=4 class=title>What happens if my disk eats a chunk of my data?</th></tr>
+
+<tr>
+<td class="filestorage">
+Use fsrecover.dy. This will remove the offending records. Attempts to access them in an application
+will raise a POSKeyError exception, which must be fixed manually from within the application.
+</td>
+<td class="dirstorage">
+If you cant restore a backup or switch to a replica, use checkds.py to find corrupt records and remove them by hand.
+Attempts to access them in an application will raise a POSKeyError exception. These can be fixed within the
+application, or, if you are an expert in the storage directory layout, by copying individual files from a
+slightly-out-of-date backup.
+</td>
+<td class="bdbstorage">
+?
+</td>
+<td class="ape">
+?
+</td>
+</tr>
+
 
 <tr><th colspan=4 class=title>Administrative Overhead</th></tr>
 
 <tr>
 <td class="filestorage">
-None
+Administrators need to be careful when running tools that modify the
+storage while the storage is running.
 </td>
 <td class="dirstorage">
-None, after the seperate download and install.<br>
+Seperate download and install.<br>
 </td>
 <td class="bdbstorage">
 As Berkeley DB. Learn the sleepycat tools.
@@ -549,6 +575,10 @@
 <td class="dirstorage">
 Automatically checks for dangling references on commit, to avoid several possible
 causes of POSKeyError exceptions.
+<br>
+Access to object revision files through the filesystem.
+<br>
+All records have an md5 checksum.
 </td>
 <td class="bdbstorage">
 None




More information about the Zodb-checkins mailing list