: Oliver Kurowski
: CouchDB mit PHP
: entwickler.press
: 9783868022551
: 1
: CHF 17.10
:
: Informatik
: German
: 240
: DRM
: PC/MAC/eReader/Tablet
: PDF
Das Thema NoSQL ist durch Vertreter wie CouchDB auch für den produktiven Masseneinsatz attraktiv geworden. Beim Einstieg in NoSQL müssen Datenbankentwickler herkömmlicher relationaler Datenbanken viele ihrer Gewohnheiten und Denkweisen ändern. CouchDB belohnt sie dafür mit einer Fülle an neuen und ungeahnten Möglichkeiten, die weit über die reine Datenhaltung hinausgehen. Dieses Buch führt schrittweise in das Thema NoSQL ein und erläutert Vor- und Nachteile dieses Schemas. In unterhaltsamer Weise lernen Sie in ausführlichen Kapiteln die Funktionen der CouchDB schrittweise kennen. Nicht nur die reine Syntax, auch die Denkweise hinter den Funktionen sowie mögliche Einsatzszenarien werden dargestellt und anhand vieler Beispiele erläutert. Zusätzlich zu den allgemeingültigen Informationen wird Kapitel für Kapitel ein kleines PHP-Framework für die CouchDB entwickelt und in einem Praxisteil angewandt. Da alle Beispiele kommentiert sind, können sie problemlos auch für andere Programmiersprachen angepasst werden.

Oliver Kurowski, Diplominformatiker (FH), erlernte das Programmieren mit 15 Jahren auf seinem Apple II. Im Jahre 1998 begann er mit den ersten Programmierungen von Datenbanken für die Automobilbranche, der er bis heute in einer innovativen produzierenden Firma treu geblieben ist. Verschiedenste Herausforderungen auf diesem Gebiet verlangten schon immer besondere Lösungen und manchmal neue Wege, sodass es nur eine Frage der Zeit war, wann auch der NoSQL-Funke übersprang. Oliver Kurowski ist vielleicht nicht der typische Agenturprogrammierer, sondern vereint die Liebe zum Programmieren mit dem praktischen Wissen aus der Industrie, das er in diesem Buch einfließen lässt. Er ist Autor von Fachartikeln und lebt in Berlin.
Inhaltsverzeichnis3
Vorwort9
Kapitel 1 – Allgemeines11
Aufgaben einer Datenbank11
Einführung in NoSQL14
CouchDB23
Kapitel 2 – Voraussetzungen25
Installation der CouchDB26
PHP29
cURL30
Kapitel 3 – Der leichte Einstieg31
Das CouchDB-Dokument: Freiheit statt Spalten31
JSON34
Aufbau eines CouchDB-Datendokuments38
Kapitel 4 – Kennenlernen der CouchDB mit Futon41
Anlegen/Löschen von Datenbanken42
Anlegen von Dokumenten44
Ändern von Dokumenten47
Löschen von Dokumenten48
Kopieren von Datenbanken48
Status50
Testsuite51
Configuration51
Create Server Admin52
Kapitel 5 – Die CouchDB mit der Kommandozeile steuern53
Erklärung HTTP/REST53
Der Einsatz von cURL54
Kapitel 6 – Erste Schritte in PHP59
Kommunikation mit CouchDB mit Bordmitteln59
Kommunikation mit CouchDB über fsockopen()63
Kapitel 7 – Die Nutzung von externen PHP-Libraries67
PHPillow67
Sag for CouchDB72
Kapitel 8 – Unsere eigene Library: AlicePHP, a Library for CouchDB Environments75
AlicePHP: AliceCouchDB als zentrale Klasse76
AlicePHP: AliceDatabase, die Datenbankklasse80
Kapitel 9 – Abfragen der CouchDB85
Map/Reduce in der Theorie86
Keys: Die Schlüssel zum Erfolg89
JavaScript in CouchDB93
Kapitel 10 – Views: Die Heimat von Map/Reduce99
Das Designdokument100
AlicePHP: Die Klasse AliceDesignDocument107
AlicePHP: Die Klasse AliceDesignFunction110
AlicePHP: Die Klasse AliceView111
Eine View steuern117
Parameterliste für Views125
Kapitel 11 – Transformationsfunktionen127
Show: Ein Dokument, verschiedene Ansichten128
List: Ergebnisse nett verpackt135
AlicePHP: die Klasse AliceShow139
AlicePHP: Die Klasse AliceList142
Kapitel 12 – Sicherheit beim Speichern149
validate_doc_update: Die automatische Validierung von Dokumenten beim Speichern149
AlicePHP: Die Klasse AliceValidateDocUpdate151
Update als Zwischenschritt zum Speichern154
AlicePHP: Die Klasse AliceUpdate158
Kapitel 13 – Versionskonflikte beim Speichern erkennen163
Kapitel 14 – Replikation167
Arten der Replikation167
Der Replikationsvorgang169
Der _changes-Feed171
Eine Replikation starten175
Continuous Replication177
Named Document Replication: Einzelne Dokumente replizieren178
Eine Replikation stoppen178
Filtered Replication: Die Guten ins Töpfchen...179
Konflikte bei Replikationen182
Replikationen mit PHP186
Kapitel 15 – Speichern von Anhängen191
Inline Attachment192
Standalone Attachment193
Attachments ausschnittweise laden (Range Queries)194
Ändern eines Attachments194
Löschen eines Attachments195
Beispiele mit AlicePHP195
Kapitel 16 – Was noch fehlt, kurz umrissen199
Couchapps199
Kanapes IDE: Ein Tool für .NET/Mono202
CouchDB Cluster mit BigCouch203
Kapitel 17 – Praxisteil205
Fehlersuche in der CouchDB205
AlicePHP: Erweiterungen206
Verteilte Onlineshops der Dinge209
Stichwortverzeichnis237