Lennon | Beginning CouchDB | E-Book | www.sack.de
E-Book

E-Book, Englisch, 300 Seiten

Lennon Beginning CouchDB


1. ed
ISBN: 978-1-4302-7236-6
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark

E-Book, Englisch, 300 Seiten

ISBN: 978-1-4302-7236-6
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark



The new world of cloud computing needs data storage. CouchDB is the scalable, portable, simple database engine that is helping open source cloud architects put their data stores onto a firm foundation. Beginning CouchDB provides the tools to begin using this very powerful database engine without having to pay license fees for the software, or worry about administrator's certifications or vast hardware requirements. This book teaches the fundamentals of one of the most powerful database engines ever created for the price of a good lunch. After reading this book and working through the examples, you'll be able to write your own applications for CouchDB quickly and easily. In-depth, non-intimidating guide to CouchDB and how it differs from similar offerings such as SimpleDB and BigTable, and also how it differs from traditional relational and object-oriented databases such as Oracle, SQL Server, and MySQL. Detailed explanation of how CouchDB works, its suitability for use in distributed environments, the role of Erlang, and other technical topics in a manner that does not obfuscate methods or results. JavaScript is extremely popular as a development language for CouchDB. No Erlang is required, but a little bit can't hurt either. A tutorial-oriented approach to teaching readers how to use CouchDB, featuring many code examples and listings, as well as screenshots where relevant.

Joe Lennon is a software developer from Cork, Ireland. Joe works for Core International, the largest provider of human resources and payroll software in Ireland. He is an experienced PL/SQL and Oracle systems developer, who specializes in the development of Web applications. He is skilled in HTML, CSS and JavaScript, particularly in JavaScript frameworks such as Prototype, jQuery, YUI and ExtJS. In 2008, he was hired to develop Learn French by Podcast, a highly popular and profitable language-learning website. To date, Joe has written numerous articles for IBM's developerWorks, and regularly writes technical articles and tutorials on his personal blog at www.joelennon.ie.

Lennon Beginning CouchDB jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Dedication Page;4
2;Contents at a Glance;5
3;Table of Contents;6
4;About the Author;12
5;About the Technical Reviewer;13
6;Acknowledgments;14
7;Introduction;15
7.1;Who This Book Is For;15
7.2;What You Need;15
7.3;CouchDB Resources;15
7.4;Contacting the Author;16
8;Part 1 Getting Started;17
8.1;Chapter 1 Introduction to CouchDB;18
8.1.1;What Is CouchDB?;18
8.1.2;CouchDB: The Story So Far;19
8.1.3;Document-Oriented Databases;20
8.1.4;CouchDB Documents;21
8.1.5;The Javascript View Engine;22
8.1.6;RESTful HTTP API;22
8.1.7;Futon;23
8.1.8;So...Now What?;24
8.2;Chapter 2 Installing CouchDB on Linux;25
8.2.1;Installing CouchDB on Ubuntu Linux 8.10;25
8.2.2;Installing CouchDB on Fedora Linux Using Yum;30
8.2.3;Building CouchDB (and Prerequisites) from Source Code;35
8.2.3.1;Building Erlang;37
8.2.3.2;Building Libcurl;38
8.2.3.3;Building Icu;39
8.2.3.4;Building Spidermonkey;39
8.2.3.5;Building Subversion;40
8.2.3.6;Building CouchDB;41
8.3;Chapter 3 Installing CouchDB on Mac OS X;45
8.3.1;Installing the Xcode Developer Tools;45
8.3.2;Installing Macports;50
8.3.3;Installing CouchDB;56
8.3.4;CouchDBX: A One-Click CouchDB Package for Mac OS X;61
8.4;Chapter 4Creating Your First CouchDB Database;63
8.4.1;Tools of the Trade;63
8.4.2;HTTP Requests;64
8.4.3;JSON Response;64
8.4.4;Using curl;65
8.4.5;Creating Your First Database;65
8.4.6;Creating Documents in Your Contacts Database;68
8.4.7;Getting Started with CouchDB Views;71
8.4.8;Summary;73
9;Part 2Managing CouchDB Databases;74
9.1;Chapter 5 Using Futon: the CouchDB Administration Interface;75
9.1.1;Creating a Database;77
9.1.2;Creating a Document;82
9.1.3;Uploading Attachments;88
9.1.4;Compacting the Database;90
9.1.5;Futon Tools;92
9.1.6;Summary;98
9.2;Chapter 6 Introduction To JSON;99
9.2.1;What Is JSON?;99
9.2.2;Why JSON?;99
9.2.3;JSON 101: Syntax and Data Types;100
9.2.4;Working with JSON;103
9.2.4.1;Defining JSON Structures;103
9.2.4.2;Looping Through JSON Arrays;108
9.2.5;CouchDB and JSON;115
9.2.6;Summary;117
9.3;Chapter 7Introduction To CouchDB Views;118
9.3.1;Creating Views;120
9.3.2;Permanent Views;124
9.3.3;Design Documents;127
9.3.4;Views and the CouchDB API;130
9.3.5;Summary;134
9.4;Chapter 8Map/Reduce;135
9.4.1;What Is Map/Reduce?;135
9.4.2;Map/Reduce in CouchDB;136
9.4.3;Map/Reduce in Futon;137
9.4.4;Map/Reduce Views and the CouchDB API;145
9.4.5;Map/Reduce vs. SQL Queries;146
9.4.6;Word Count Example;149
9.4.7;Summary;152
9.5;Chapter 9Advanced CouchDB Views;153
9.5.1;Advanced Aggregation;153
9.5.2;Ordering and Filtering Results;161
9.5.3;Working with Related Data;164
9.5.4;Summary;169
10;Part 3Advanced CouchDB Topics;170
10.1;Chapter 10 Developing CouchDB Applications with CouchApp;171
10.1.1;Installing CouchApp;171
10.1.2;Your First CouchApp;173
10.1.3;Creating Couchtasks: A Simple Task Manager;177
10.1.4;Suggested Improvements;192
10.1.5;Summary;192
10.2;Chapter 11 Developing Applications with CouchDB;193
10.2.1;Developing in Python with Couchdbkit;193
10.2.2;Developing in Ruby with CouchRest;199
10.2.3;Creating a Bookmarks Application with CouchDB and Django;208
10.2.4;Summary;217
10.3;Chapter 12Advanced CouchDB Topics;218
10.3.1;Replication;218
10.3.2;Compaction;231
10.3.3;Fetching Documents in Bulk;236
10.3.4;Writing Documents in Bulk;239
10.3.5;Show Functions;242
10.3.6;Summary;246
10.4;Chapter 13Mechanics of CouchDB Deployment;247
10.4.1;Measuring Performance;247
10.4.2;Configuring CouchDB;249
10.4.3;Conflict Resolution;252
10.4.4;Security;253
10.4.5;Backup;254
10.4.6;Fault Tolerance and Load Balancing;255
10.4.7;Clustering;256
10.4.8;Summary;256
11;Appendix ACouchDB API Reference;257
11.1;Server APIs;257
11.1.1;Server Information;257
11.1.2;Current Configuration;258
11.1.3;Runtime Statistics;259
11.1.4;Get UUIDs;261
11.2;Database APIs;262
11.2.1;Create Database;262
11.2.2;Delete Database;263
11.2.3;List Databases;264
11.2.4;Database Information;265
11.2.5;Replicate Database;266
11.2.6;Compact Database;267
11.3;Document APIs;268
11.3.1;Create New Document (Use UUID-Generated Document ID);268
11.3.2;Create New Document (User Specified Document ID);269
11.3.3;Update Existing Document;270
11.3.4;Delete Document;271
11.3.5;Copy Document;272
11.3.6;List Documents;273
11.3.7;List Documents Specifying a Key Set;274
11.3.8;List Modified Documents;275
11.3.9;List Modified Documents Specifying a Key Set;276
11.3.10;View Document;277
11.3.11;Create/Update Attachment;278
11.3.12;Delete Attachment;279
11.3.13;Get Attachment;280
11.3.14;Managing Bulk Documents;281
11.4;View API;282
11.4.1;Create Design Document;282
11.4.2;Query Temporary View;283
11.4.3;Query Permanent View;284
11.4.4;Query a Permanent View Specifying a Key Set;285
11.4.5;Execute a Show Function;286
11.4.6;Execute a List Function;287
11.4.7;Execute a List Function Specifying a Key Set;288
11.5;Further Information;288
12;Appendix BHTTP and curl Reference;289
12.1;HTTP Request Message;289
12.2;HTTP Request Methods;289
12.3;HTTP Response;290
12.4;HTTP Response Status Codes;291
12.5;Performing HTTP Requests with curl;291
13;Index;294



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.