Inhaltsverzeichnis | 3 |
Vorwort | 9 |
Kapitel 1 – Allgemeines | 11 |
Aufgaben einer Datenbank | 11 |
Einführung in NoSQL | 14 |
CouchDB | 23 |
Kapitel 2 – Voraussetzungen | 25 |
Installation der CouchDB | 26 |
PHP | 29 |
cURL | 30 |
Kapitel 3 – Der leichte Einstieg | 31 |
Das CouchDB-Dokument: Freiheit statt Spalten | 31 |
JSON | 34 |
Aufbau eines CouchDB-Datendokuments | 38 |
Kapitel 4 – Kennenlernen der CouchDB mit Futon | 41 |
Anlegen/Löschen von Datenbanken | 42 |
Anlegen von Dokumenten | 44 |
Ändern von Dokumenten | 47 |
Löschen von Dokumenten | 48 |
Kopieren von Datenbanken | 48 |
Status | 50 |
Testsuite | 51 |
Configuration | 51 |
Create Server Admin | 52 |
Kapitel 5 – Die CouchDB mit der Kommandozeile steuern | 53 |
Erklärung HTTP/REST | 53 |
Der Einsatz von cURL | 54 |
Kapitel 6 – Erste Schritte in PHP | 59 |
Kommunikation mit CouchDB mit Bordmitteln | 59 |
Kommunikation mit CouchDB über fsockopen() | 63 |
Kapitel 7 – Die Nutzung von externen PHP-Libraries | 67 |
PHPillow | 67 |
Sag for CouchDB | 72 |
Kapitel 8 – Unsere eigene Library: AlicePHP, a Library for CouchDB Environments | 75 |
AlicePHP: AliceCouchDB als zentrale Klasse | 76 |
AlicePHP: AliceDatabase, die Datenbankklasse | 80 |
Kapitel 9 – Abfragen der CouchDB | 85 |
Map/Reduce in der Theorie | 86 |
Keys: Die Schlüssel zum Erfolg | 89 |
JavaScript in CouchDB | 93 |
Kapitel 10 – Views: Die Heimat von Map/Reduce | 99 |
Das Designdokument | 100 |
AlicePHP: Die Klasse AliceDesignDocument | 107 |
AlicePHP: Die Klasse AliceDesignFunction | 110 |
AlicePHP: Die Klasse AliceView | 111 |
Eine View steuern | 117 |
Parameterliste für Views | 125 |
Kapitel 11 – Transformationsfunktionen | 127 |
Show: Ein Dokument, verschiedene Ansichten | 128 |
List: Ergebnisse nett verpackt | 135 |
AlicePHP: die Klasse AliceShow | 139 |
AlicePHP: Die Klasse AliceList | 142 |
Kapitel 12 – Sicherheit beim Speichern | 149 |
validate_doc_update: Die automatische Validierung von Dokumenten beim Speichern | 149 |
AlicePHP: Die Klasse AliceValidateDocUpdate | 151 |
Update als Zwischenschritt zum Speichern | 154 |
AlicePHP: Die Klasse AliceUpdate | 158 |
Kapitel 13 – Versionskonflikte beim Speichern erkennen | 163 |
Kapitel 14 – Replikation | 167 |
Arten der Replikation | 167 |
Der Replikationsvorgang | 169 |
Der _changes-Feed | 171 |
Eine Replikation starten | 175 |
Continuous Replication | 177 |
Named Document Replication: Einzelne Dokumente replizieren | 178 |
Eine Replikation stoppen | 178 |
Filtered Replication: Die Guten ins Töpfchen... | 179 |
Konflikte bei Replikationen | 182 |
Replikationen mit PHP | 186 |
Kapitel 15 – Speichern von Anhängen | 191 |
Inline Attachment | 192 |
Standalone Attachment | 193 |
Attachments ausschnittweise laden (Range Queries) | 194 |
Ändern eines Attachments | 194 |
Löschen eines Attachments | 195 |
Beispiele mit AlicePHP | 195 |
Kapitel 16 – Was noch fehlt, kurz umrissen | 199 |
Couchapps | 199 |
Kanapes IDE: Ein Tool für .NET/Mono | 202 |
CouchDB Cluster mit BigCouch | 203 |
Kapitel 17 – Praxisteil | 205 |
Fehlersuche in der CouchDB | 205 |
AlicePHP: Erweiterungen | 206 |
Verteilte Onlineshops der Dinge | 209 |
Stichwortverzeichnis | 237 |