[svnbook commit] r3409 - trunk/src/de/book
codesite-noreply at google.com
codesite-noreply at google.com
Mon Feb 2 13:31:54 CST 2009
Author: jmfelderhoff at gmx.eu
Date: Mon Feb 2 11:30:50 2009
New Revision: 3409
Modified:
trunk/src/de/book/ch05-repository-admin.xml
Log:
* trunk/src/de/book/ch05-repository-admin.xml
- Fixes ticket #203 (cf. http://www.svnbook.de/report/6).
Modified: trunk/src/de/book/ch05-repository-admin.xml
==============================================================================
--- trunk/src/de/book/ch05-repository-admin.xml (original)
+++ trunk/src/de/book/ch05-repository-admin.xml Mon Feb 2 11:30:50 2009
@@ -1034,13 +1034,22 @@
<sect3 id="svn.reposadmin.basics.backends.bdb">
<title>Berkeley DB</title>
+<!--
<para>When the initial design phase of Subversion was in
progress, the developers decided to use Berkeley DB for a
variety of reasons, including its open source license,
transaction support, reliability, performance, API
simplicity, thread safety, support for cursors, and so
on.</para>
+-->
+ <para>In der anfänglichen Entwurfsphase von Subversion
+ entschieden sich die Entwickler aus einer Reihe von Gründen,
+ Berkeley DB zu verwenden. Hierzu zählen die quelloffene
+ Lizenz, Transaktionsunterstützung, Zuverlässigkeit,
+ Arbeitsleistung, Einfachheit der Programmierschnittstelle,
+ Thread-Sicherheit, Cursor-Unterstützung usw.</para>
+<!--
<para>Berkeley DB provides real transaction
support—perhaps its most powerful feature. Multiple
processes accessing your Subversion repositories don't have
@@ -1055,7 +1064,25 @@
it never happened, and Subversion gracefully retries the
operation against a new, updated (and yet still static) view
of the database.</para>
+-->
+ <para>Berkeley DB bietet echte Transaktionsunterstützung
+ – vielleicht seine stärkste Funktion. Mehrere
+ Prozesse, die auf Ihre Subversion-Repositorys zugreifen,
+ brauchen sich keine Sorgen machen, dass sie sich
+ versehentlich gegenseitig die Daten zerschießen. Die durch
+ das Transaktiossystem gebotene Isolation bedeutet, dass der
+ Subversion-Repository-Programmcode für jede gegebene
+ Operation eine statische Sicht auf die Datenbank hat –
+ keine sich durch die Einflüsse anderer Prozesse ständig
+ ändernde Datenbank – und basierend auf dieser Sicht
+ Entscheidungen treffen kann. Falls die getroffene
+ Entscheidung zu einem Konflikt damit führt, was eine anderer
+ Prozess macht, wird die gesamte Transaktion zurückgerollt,
+ als wäre sie nie passiert, und Subversion versucht höflich,
+ die Operation mithilfe einer aktualisierten (aber immer noch
+ statischen) Sicht der Datenbank erneut durchzuführen.</para>
+<!--
<para>Another great feature of Berkeley DB is <firstterm>hot
backups</firstterm>—the ability to back up the
database environment without taking it
@@ -1064,7 +1091,18 @@
linkend="svn.reposadmin.maint.backup"/>), but the benefits
of being able to make fully functional copies of your
repositories without any downtime should be obvious.</para>
+-->
+ <para>Eine weitere großartige Funktion von Berkeley DB sind
+ <firstterm>Hot Backups</firstterm> – die Fähigkeit,
+ die Datenbankumgebung zu sichern, ohne sie <quote>vom
+ Netz</quote> zu nehmen. Wir besprechen später in diesem
+ Kapitel, wie Sie Ihr Repository sichern (in <xref
+ linkend="svn.reposadmin.maint.backup"/>), doch sollten die
+ Vorteile offensichtlich sein, die dadurch entstehen, dass
+ Sie vollständige Sicherheitskopien Ihrer Repositorys ohne
+ Wartungszeiträume machen können.</para>
+<!--
<para>Berkeley DB is also a very reliable database system when
properly used. Subversion uses Berkeley DB's logging
facilities, which means that the database first writes to
@@ -1077,7 +1115,25 @@
transactions until the data is restored to a usable state.
See <xref linkend="svn.reposadmin.maint.diskspace"/> later
in this chapter for more about Berkeley DB logfiles.</para>
+-->
+ <para>Bei Berkeley DB handelt es sich auch um ein sehr
+ zuverlässiges Datenbanksystem, wenn es richtig verwendet
+ wird. Subversion benutzt das Protokollierungssystem von
+ Berkeley DB, was bedeutet, dass die Datenbank zunächst eine
+ Beschreibung der Veränderungen in Protokolldateien auf der
+ Platte schreibt, bevor die Veränderungen selbst durchgeführt
+ werden. Dies stellt sicher, dass, falls etwas schief geht,
+ die Datenbank zu einem früheren
+ <firstterm>Sicherungspunkt</firstterm> zurückgehen kann
+ – eine Stelle in den Protokolldateien, von der bekannt
+ ist, dass sie eine nicht beschädigte Datenbank bezeichnet
+ – und Transaktionen solange wiederholen kann, bis die
+ Daten sich wieder in einem brauchbaren zustand befinden.
+ Siehe <xref linkend="svn.reposadmin.maint.diskspace"/>
+ weiter unten in diesem Kapitel für weitere Informationen zu
+ Berkeley-DB-Protokolldateien.</para>
+<!--
<para>But every rose has its thorn, and so we must note some
known limitations of Berkeley DB. First, Berkeley DB
environments are not portable. You cannot simply copy a
@@ -1089,7 +1145,22 @@
operate on Windows 95/98 systems—if you need to house
a BDB-backed repository on a Windows machine, stick with
Windows 2000 or later.</para>
+-->
+ <para>Doch keine Rose ohne Dornen, uns so müssen wir auch
+ einige bekannte Einschränkungen von Berkeley DB ansprechen.
+ Erstens sind Berkeley-DB -Umgebungen nicht portierbar. Sie
+ können nicht einfach ein unter Unix erzeugtes
+ Subversion-Repository auf ein Windows-System kopieren und
+ erwarten, dass es funktioniert. Obwohl ein Großteil des
+ Berkeley-DB-Datenbankformats architekturunabhängig ist, sind
+ es andere Teile der Umgebung nicht. Zweitens benutzt
+ Subversion Berkeley DB auf eine Weise, die nicht auf Windows
+ 95/98 funktioniert – falls Sie ein BDB-basiertes
+ Repository auf einer Windows-Maschine unterbringen müssen,
+ bleiben Sie bei Windows 2000 oder einem seiner
+ Nachfolger.</para>
+<!--
<para>While Berkeley DB promises to behave correctly on
network shares that meet a particular set of specifications,
<footnote>
@@ -1105,7 +1176,24 @@
clients of that share at once (which quite often is the
whole point of having the repository live on a network share
in the first place).</para>
+-->
+ <para>Obwohl Berkeley DB verspricht, sich korrekt auf
+ freigegebenen Netzlaufwerken zu verhalten, die bestimmte
+ Anforderungen erfüllen
+ <footnote>
+ <para>Berkeley DB setzt voraus, dass das zugrundeliegende
+ Dateisystem strenge POSIX-Sperrmechanismen implementiert
+ und, noch wichtiger, die Fähigkeit mitbringt, Dateien
+ direkt in den Prozessspeicher abzubilden.</para>
+ </footnote>, bieten die meisten Netz-Dateisysteme
+ <emphasis>keine</emphasis> derartige Unterstützung. Und
+ keinesfalls dürfen Sie zulassen, dass gleichzeitig von
+ mehreren Clients auf ein BDB-basiertes Repository auf einer
+ Netzfreigabe zugegriffen wird (was eigentlich der Hauptgrund
+ dafür ist, das Repository auf einer Netzfreigabe
+ unterzubringen).</para>
+<!--
<warning>
<para>If you attempt to use Berkeley DB on a noncompliant
remote filesystem, the results are unpredictable—you
@@ -1115,7 +1203,20 @@
FSFS data store for repositories that need to live on a
network share.</para>
</warning>
-
+-->
+ <warning>
+ <para>Falls Sie versuchen sollten, Berkeley DB auf einem
+ Netz-Dateisystem unterzubringen, das die Anforderungen
+ nicht erfüllt, ist das Ergebnis unvorhersehbar – es
+ kann sein, dass Sie sofort mysteriöse Fehler wahrnehmen
+ oder es kann Monate dauern, bis Sie bemerken, dass Ihre
+ Repository-Datenbank fast unmerklich beschädigt ist. Sie
+ sollten ernsthaft erwägen, das FSFS-Speicherverfahren für
+ Repositorys zu verwenden, die auf einer Netzfreigabe
+ untergebracht werden sollen.</para>
+ </warning>
+
+<!--
<para>Finally, because Berkeley DB is a library linked
directly into Subversion, it's more sensitive to
interruptions than a typical relational database system.
@@ -1135,8 +1236,33 @@
Other things can cause a repository to <quote>wedge</quote>
besides crashed processes, such as programs conflicting over
ownership and permissions on the database files.</para>
+-->
+ <para>Schließlich ist Berkeley DB empfindlicher gegenüber
+ Unterbrechungen als ein typisches relationales
+ Datenbanksystem, da es sich um eine Bibliothek handelt, die
+ direkt in Subversion eingebunden ist. Beispielsweise haben
+ die meisten SQL-Systeme einen dedizierten Server-Prozess,
+ der alle Tabellenzugriffe vermittelt. Falls ein auf die
+ Datenbank zugreifendes Programm aus irgendeinem Grund
+ abstürzt, bemerkt der Datenbank-Dämon die verlorene
+ Verbindung und räumt anschließend auf. Und da der
+ Datenbank-Dämon der einzige Prozess ist, der auf die
+ Tabellen zugreift, brauchen sich Anwendungsprogramme nicht
+ um Berechtigungskonflikte zu kümmern. Das trifft allerdings
+ nicht auf Berkeley DB zu. Subversion (und jedes Programm,
+ das die Subversion-Bibliotheken verwendet) greift direkt auf
+ die Datenbanktabellen zu, was bedeutet, dass ein
+ Programmabsturz die Datenbank vorübergehend in einem
+ inkonsistenten, nicht zugreifbaren Zustand hinterlassen
+ kann, so dass ein Administrator Berkeley DB dazu auffordern
+ muss, zu einem Sicherungspunkt zurückzugehen, was etwas
+ ärgerlich ist. Neben abgestürzten Prozessen können andere
+ Dinge das Repository <quote>verklemmen</quote>, wie etwa
+ Programme, die sich wegen Eigentums- und Zugriffsrechten auf
+ Datenbankdateien ins Gehege kommen.</para>
<note>
+<!--
<para>Berkeley DB 4.4 brings (to Subversion 1.4 and later)
the ability for Subversion to automatically and
transparently recover Berkeley DB environments in need of
@@ -1149,7 +1275,22 @@
wedging, but it does drastically reduce the amount of
human interaction required to recover from them.</para>
</note>
+-->
+ <para>Berkeley DB 4.4 bietet (für Subversion 1.4 und spätere
+ Versionen) die Fähigkeit, dass Subversion automatisch und
+ Transparent Berkeley-DB-Umgebungen falls erforderlich
+ wiederherstellt. Wenn sich ein Subversion-Prozess an die
+ Berkeley-DB-Umgebung hängt, verwendet er eine Art
+ Prozess-Buchhaltung, um unsaubere Verbindungsabbrüche
+ früherer Prozesse zu entdecken, führt die notwendige
+ Wiederherstellung durch und fährt fort, als wäre nichts
+ passiert. Dies verhindert das Vorkommen von Verklemmungen
+ zwar nicht vollständig, verringert allerdings erheblich
+ den Aufwand an menschlichen Eingriffen, um sich hiervon zu
+ erholen.</para>
+ </note>
+<!--
<para>So while a Berkeley DB repository is quite fast and
scalable, it's best used by a single server process running
as one user—such as Apache's <command>httpd</command>
@@ -1160,6 +1301,19 @@
DB repository directly as multiple users, be sure to read
<xref linkend="svn.serverconfig.multimethod"/> later in this
chapter.</para>
+-->
+ <para>Während ein Berkeley-DB-Repository ziemlich schnell und
+ skalierbar ist, wird es am besten von einem einzelnen
+ Server-Prozess unter einer Benutzerkennung verwendet –
+ so wie Apaches <command>httpd</command> oder
+ <command>svnserve</command> (siehe <xref
+ linkend="svn.serverconfig"/>) – statt darauf mit
+ mehreren Benutzern über <literal>file://</literal> oder
+ <literal>svn+ssh://</literal> URLs zuzugreifen. Falls Sie
+ mit mehreren Benutzern direkt auf ein Berkeley-DB-Repository
+ zugreifen wollen, sollten Sie unbedingt <xref
+ linkend="svn.serverconfig.multimethod"/> weiter unten in
+ diesem Kapitel lesen.</para>
</sect3>
More information about the svnbook-dev
mailing list