Search:

Search all manuals
Search this manual
Manual
Couchbase Server Manual 2.0
Up
Section Navigation
Chapter Navigation

Couchbase Server Manual 2.0

Copyright © 2010, 2011 Couchbase, Inc. Contact copyright@couchbase.com.

For documentation license information, see Documentation License. For all license information, see Licenses.

Abstract

This manual documents the Couchbase Server 2.0 series, including installation, monitoring, and administration interface and associated tools.

Note.  The following document is still in production, and is not considered complete or exhaustive.

Last document update: 11 May 2012 10:04; Document built: 11 May 2012 10:05.

Documentation Availability and Formats.  This documentation is available for download: HTML Zip, PDF, EPUB . For other documentation from Couchbase, see Couchbase Documentation Library

Contact: editors@couchbase.com or couchbase.com


Table of Contents

Preface
1. Manual Conventions
1. Introduction to Couchbase Server
1.1. Couchbase Server Basics
1.2. Couchbase Server and NoSQL
1.3. Architecture and Concepts
1.3.1. Nodes and Clusters
1.3.2. Cluster Manager
1.3.3. Buckets
1.3.4. vBuckets
1.3.5. Views
1.3.6. Disk Storage
1.3.7. Failover
1.3.8. Client Interface
1.3.9. Administration Tools
1.3.10. Statistics and Monitoring
1.4. Migration to Couchbase
1.4.1. Migrating for Membase Users
1.4.2. Migrating for CouchDB Users
2. Getting Started
2.1. Preparation
2.1.1. Supported Platforms
2.1.2. Hardware Requirements
2.1.3. Storage Requirements
2.1.4. Web Browser (for administration)
2.1.5. Network Ports
2.2. Installing Couchbase Server
2.2.1. Red Hat Linux Installation
2.2.2. Ubuntu Linux Installation
2.2.3. Microsoft Windows Installation
2.2.4. Mac OS X Installation
2.3. Setting up Couchbase Server
2.4. Testing Couchbase Server
2.5. Next Steps
3. Administration Basics
3.1. Working with Couchbase data files
3.2. Startup and Shutdown of Couchbase Server
3.2.1. Startup and Shutdown on Linux
3.2.2. Startup and Shutdown on Windows
3.2.3. Startup and Shutdown on Mac OS X
4. Best Practices
4.1. Cluster Design Considerations
4.2. Sizing Guidelines
4.2.1. RAM Sizing
4.2.2. Disk Throughput and Sizing
4.2.3. Network Bandwidth
4.2.4. Data Safety
4.3. Deployment Considerations
4.4. Ongoing Monitoring and Maintenance
4.4.1. Important UI Stats to Watch
4.4.2. Post-rebalance
4.5. Couchbase Behind a Secondary Firewall
4.6. Using Couchbase in the Cloud
4.6.1. Local Storage
4.6.2. IP addresses
4.6.3. Security groups/firewall settings
4.6.4. Swap Space
4.7. Deployment Strategies
4.7.1. Using a smart (vBucket aware) Client
4.7.2. Client-Side (standalone) Proxy
4.7.3. Using Server-Side (Couchbase Embedded) Proxy
5. Administration Tasks
5.1. Database and View Compaction
5.1.1. Compaction Process
5.1.2. Auto-Compaction Configuration
5.1.3. Auto-compaction Strategies
5.2. Failover with Couchbase
5.2.1. Automatic Failover
5.2.2. Automated failover considerations
5.2.3. Monitored failover
5.3. Backup and Restore with Couchbase
5.3.1. Backup
5.3.2. Restore
5.4. Expanding and Shrinking your Cluster (Rebalancing)
5.4.1. Growing your cluster
5.4.2. Shrinking your cluster
5.4.3. Rebalancing
6. Administration Web Console
6.1. Cluster Overview
6.1.1. Cluster
6.1.2. Buckets
6.1.3. Servers
6.2. Server Nodes
6.2.1. Couchbase Server States
6.3. Data Buckets
6.3.1. Creating and Editing Data Buckets
6.3.2. Editing Couchbase Buckets
6.3.3. Editing Memcached Buckets
6.3.4. Bucket Information
6.4. Web Console Statistics
6.4.1. Individual Bucket Monitoring
6.5. Views Editor
6.5.1. Creating and Editing a View
6.5.2. Publishing a View
6.5.3. Examining the View Output
6.6. Document Viewer/Editor
6.7. Log
6.8. Settings
6.8.1. Update Notification Settings
6.8.2. Auto-Failover Settings
6.8.3. Alerts
6.8.4. Auto-Compaction
6.9. Update Notifications
6.9.1. Notifications
6.9.2. Viewing Available Updates
6.10. Warnings and Alerts
7. Command-line Tools
7.1. couchbase-cli Tool
7.2. cbstats Tool
7.3. cbflushctl Tool
7.4. tap.py Tool
7.5. cbvbucketctl Tool
7.6. cbvbuckettool Tool
7.7. cbdbmaint Tool
7.8. cbcollect_info Tool
8. Management REST API
8.1. Key Concepts
8.1.1. Resources
8.1.2. HTTP Request Headers
8.1.3. HTTP Status Codes
8.2. Operations
8.2.1. Settings maxParallelIndexers
9. Developing with Couchbase
9.1. Use Cases
9.1.1. Session store
9.1.2. Social gaming
9.1.3. Ad, offer and content targeting
9.1.4. Real-time logging and alerting
9.2. Best practices
9.2.1. What should I store in an object
9.2.2. How should I store an object?
9.2.3. Objects that refer to other objects
9.2.4. Nested Items
9.2.5. Simple Lists
9.2.6. Multi-GET
9.2.7. Locking
9.2.8. Data partitioning with buckets
10. Developing Couchbase Clients
10.1. REST/JSON
10.1.1. Parsing the JSON
10.1.2. Encoding the vBucketId into each request
10.1.3. Client Libraries and Rebalancing
10.1.4. Fast Forward Map
10.1.5. Redundancy & Availability
11. Views
11.1. View Basics
11.2. Views in a Schema-less Database
11.3. Views and Stored Data
11.3.1. JSON Basics
11.3.2. JSON Special Fields
11.3.3. Non-JSON Data
11.3.4. Document Storage and Indexing Sequence
11.4. View Operation
11.5. View Types
11.6. Writing Views
11.6.1. Map Functions
11.6.2. Reduce Functions
11.6.3. Views on non-JSON Data
11.6.4. View Writing Best Practice
11.7. Querying View Results
11.8. Errors During View Response
11.9. Writing Geospatial Views
11.9.1. Adding Geometry Data
11.9.2. Views and Queries
12. Couchbase Architecture
12.1. Cluster Design
12.2. Persistence Design
12.3. Component Overview
12.4. Disk Storage (Growing Data Sets Beyond Memory)
12.4.1. Design
12.4.2. Consequences of Memory faster than Disk
12.5. Couchbase APIs
12.5.1. memcached protocol
12.5.2. Additional Protocol Operations
12.6. Buckets
12.7. vBuckets
12.7.1. Couchbase Key-vBucket-Server Mapping Illustrated
12.7.2. vBuckets in a world of memcached clients
13. Monitoring Couchbase
13.1. Port numbers and accessing different buckets
13.2. Monitoring startup (warmup)
13.3. Disk Write Queue
13.3.1. Handling Reads
13.3.2. Monitoring the Disk Write Queue
13.4. Couchbase Server Statistics
13.4.1. REST Interface Statistics
13.4.2. Couchbase Server Node Statistics
13.5. Couchbase Server Moxi Statistics
14. Troubleshooting
14.1. General Tips
14.2. Responding to Specific Errors
14.3. Log File Entries
14.4. Linux Logs
14.5. Windows Logs
14.6. Mac OS X Logs
14.7. Common Errors
A. FAQs
B. Uninstalling Couchbase Server
B.1. Uninstalling on a RedHat Linux System
B.2. Uninstalling on an Debian/Ubuntu Linux System
B.3. Uninstalling on a Windows System
B.4. Uninstalling on a Mac OS X System
C. Couchbase Sample Buckets
C.1. Game Simulation Sample Bucket
C.1.1. leaderboard View
C.1.2. playerlist View
D. Release Notes
D.1. Release Notes for 2.0.0DP4 Couchbase Server Developer Preview (21 March 2012)
D.2. Release Notes for 2.0.0DP3 Couchbase Server Developer Preview (13 December 2011)
D.3. Release Notes for 2.0.0DP2 Couchbase Server Developer Preview (23 August 2011)
D.4. Release Notes for 2.0.0DP Couchbase Server Developer Preview (29 July 2011)
E. Licenses
E.1. Documentation License
E.2. Couchbase, Inc. Community Edition License Agreement
E.3. Couchbase, Inc. Enterprise License Agreement: Free Edition

List of Figures

1.1. Multi-tenancy
2.1. Windows Installation Welcome Screen
2.2. Windows Installation Location Screen
2.3. Windows Installation Ready Screen
2.4. Windows Installation Progress Screen
2.5. Windows Installation Completion Screen
2.6. Couchbase Server Setup
2.7. Couchbase Server Setup Step 1 (New Cluster)
2.8. Couchbase Server Setup Step 1 (Existing Cluster)
2.9. Couchbase Server Setup Step 2 - Loading Sample Data
2.10. Couchbase Server Setup Step 3
2.11. Couchbase Server Setup Step 4
2.12. Couchbase Server Setup Step 5
2.13. Couchbase Server Setup Completed
3.1. Couchbase Server on Mac OS X Menubar Item
4.1. Deployment Strategy: Using a vBucket Aware Client
4.2. Deployment Strategy: Standalone Proxy
4.3. Deployment Strategy: Using the Embedded Proxy
6.1. Couchbase Web Console - Cluster Overview
6.2. Couchbase Web Console - Cluster Overview - Cluster
6.3. Couchbase Web Console - Cluster Overview - Buckets
6.4. Couchbase Web Console - Cluster Overview - Servers
6.5. Couchbase Web Console - Server Nodes
6.6. Couchbase Web Console - Server Node Detail
6.7. Couchbase Web Console- Data Bucket/Server view
6.8. Couchbase Web Console - Server specific view
6.9. Down Status
6.10. Pend Status
6.11. Couchbase Web Console - Data Buckets Overview
6.12. Couchbase Web Console - Create Bucket
6.13. Couchbase Web Console - Bucket Information
6.14. Couchbase Web Console - Summary Statistics
6.15. Couchbase Web Console - vBucket Resources statistics
6.16. Couchbase Web Console - Disk Queue Statistics
6.17. Couchbase Web Console - TAP Queue Statistics
6.18. Couchbase Web Console - Memcached Statistics
6.19. Couchbase Web Console - View Manager
6.20. Couchbase Web Console - View Editing
6.21. Couchbase Web Console - View Detail
6.22. Web Console Document Overview
6.23. Web Console Document Create
6.24. Web Console Document Edit
6.25. Web Console Log Viewer
6.26. Web Console Settings — Update Notifications
6.27. Web Console Settings — Auto-Failover
6.28. Web Console Settings — Alerts
6.29. Web Console Settings — Auto-Compaction
6.30. Available Update Notifications
6.31. Available Update Notifications
6.32. Warning Notification
11.1. Views Basic Overview
11.2. Couchbase Server View Data Storage
11.3. Couchbase Server View Operation in a Cluster
11.4. Couchbase Server View Types Workflow
11.5. Couchbase Server View Building
11.6. Couchbase Server Views Writing Map Functions
11.7. Couchbase Server Views Writing Map Functions with Missing Fields
12.1. Bucket Configuration
12.2. Background Fetch Workflow
12.3. Couchbase Buckets
12.4. vBucket Mapping
12.5. vBucket Mapping after Rebalance

List of Tables

1.1. Bucket Types
1.2. Couchbase Bucket Capabilities
2.1. Network Ports used by Couchbase Server
4.1. Input Variables
4.2. Constants
4.3. Input Variables
4.4. Constants
4.5. Variable Calculations
7.1. Couchbase Server Command-line Tools
7.2. couchbase Tool Commands
7.3. Standard couchbase Options
8.1. Supported Request Headers
8.2. HTTP Status Codes
8.3. Controller Functions
8.4. Node Attributes
8.5. Cluster Joining Arguments
8.6. Additional Arguments
13.1. Stats
14.1. Responses to Specific Errors
blog comments powered by Disqus