Couchbase Essentials
eBook - ePub

Couchbase Essentials

John Zablocki

Share book
  1. 170 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Couchbase Essentials

John Zablocki

Book details
Book preview
Table of contents
Citations

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Couchbase Essentials an online PDF/ePUB?
Yes, you can access Couchbase Essentials by John Zablocki in PDF and/or ePUB format, as well as other popular books in Computer Science & Computer Science General. We have over one million books available in our catalogue for you to explore.

Information

Couchbase Essentials


Table of Contents

Couchbase Essentials
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Getting Comfortable with Couchbase
The NoSQL landscape
NoSQL taxonomies
Installing Couchbase
Installing Couchbase on Linux
Installing Couchbase on Windows
Installing Couchbase on Mac OS X
Ports
Running Couchbase for the first time
Exploring the Couchbase Console
Couchbase architecture
Couchbase clusters
Replication
Balancing and rebalancing
Couchbase SDKs
RAM matters
Summary
2. Using Couchbase CRUD Operations
The Couchbase SDKs
Basic operations
Connecting to your cluster
Creating and updating a record
Reading and deleting records
Advanced CRUD operations
Temporary keys
Appending and incrementing data
Storing complex types
Concurrency and locking
Asynchronous operations
Durability operations
Summary
3. Creating Secondary Indexes with Views
Couchbase documents
Couchbase indexes
MapReduce
Map functions
Reduce functions
Couchbase MapReduce
Basic mapping
Basic reducing
Couchbase views
Couchbase Console
Development views
Design documents
Creating a view
Querying views
Grouping
Key queries
Eventual consistency
Couchbase SDKs and views
Summary
4. Advanced Views
Querying by type
Nested collections
Range queries
Multiple keys per document
Compound indexes
Grouping keys
Emitting values
Querying with beer-sample
Querying all documents by type
Counting breweries by location
Finding beer documents by brewery
Collated views
Summary
5. Introducing N1QL
Installing N1QL
Simple queries
Null or missing properties
String utilities
Aggregation and math
Complex structures
Working with collections
Joins
SDK support
Summary
6. Designing a Schema-less Data Model
Key design
Keys, metadata, and RAM
Predictable keys
Unpredictable keys
Storing keys
Key restrictions
Document design
Denormalization
Object-to-document mappings
Data types
Document separation
Object schemas
Schema-less structure changes
Object and document properties
Document relationships
Finalizing the schema
Summary
7. Creating a To-do App with Couchbase
A simple to-do schema
Working with SDKs
A brief overview of MVC
Using SDK clients
Creating a task
Listing tasks
Showing only incomplete tasks
Nested tasks
Summary
A. Couchbase SDKs
Couchbase Java SDK
Current version
How to obtain it
The basics
Couchbase .NET SDK
Current version
How to obtain it
The basics
Couchbase PHP SDK
Current version
How to obtain it
The basics
The Couchbase Node.js SDK
Current version
How to obtain it
The basics
Couchbase Python SDK
Current version
How to obtain it
The basics
Couchbase Ruby SDK
Current version
How to obtain it
The basics
Couchbase C SDK
Current version
How to obtain it
Index

Couchbase Essentials

Copyright © 2015 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: February 2015
Production reference: 1200215
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78439-449-3
www.packtpub.com

Credits

Author
John Zablocki
Reviewers
Roy Enjoy
Philip Hanson
Aleksandar Mićović
Chris Wilkinson
Commissioning Editor
Pramila Balan
Acquisition Editors
Richard Gall
Richard Brookes-Bland
Content Development Editor
Kirti Patil
Technical Editors
Shashank Desai
Rikita Poojari
Copy Editor
Vikrant Phadke
Project Coordinator
Nidhi Joshi
Proofreaders
Safis Editing
Maria Gould
Paul Hindle
Indexer
Rekha Nair
Production Coordinator
Nilesh R. Mohite
Cover Work
Nilesh R. Mohite

About the Author

John Zablocki is the director of information technology at EF High School Exchange Year in Cambridge, Massachusetts, USA. Previously, he worked at Couchbase Inc. as a developer advocate, maintaining the .NET SDK and delivering training to customers and users alike. John is the author of O'Reilly's Orchard CMS. He is a frequent presenter at community events and has run Code Camps and user groups. He holds a Master's degree in computer science from Rensselaer at Hartford, where he became an enthusiast of open source technology. John can be approached online at http://about.me/johnzablocki and around Cambridge with his daughter, Mary Katherine; his dog, Lady; and his Fender Jaguar.

About the Reviewers

Roy Enjoy started to improve his geeky skills with a Commodore 64, some QBasic, and lots of Boulderdash. Then, the Internet exploded after bulletin board systems. Since it is always a shovel man who gets paid first in a gold rush, he decided to thrive within web technologies.
After finishing courses in a couple of IT-oriented schools and playing with a large number of different languages, frameworks, and databases, he worked in different parts of the world, including India, Australia, Turkey, the Netherlands, and Serbia. He is currently living in Australia, and he is trying to learn 3D animation / VFX programming and computer-generated imagery these days.
As an open source evangelist, Roy maintains an API documentation and source code search engine for the Python programming language, named pydoc.net, which is also an open source project.
Philip Hanson is a full-time professional software developer with a diverse background ranging from micro-ISV SaaS to capital-e enterprise development. He continues to experiment with new languages, techniques, and approaches to solve the world's problems.
Aleksandar Mićović started programming at the age of 12. Many years later, he graduated from the University of Toronto with a degree in computer science. Today, he's a professional software engineer and consultant in Belgrade, Serbia, with clients spanning across the globe. When he's not working, he enjoys cooking, reading, and traveling. You can contact him at http://aleksandarmicovic.com/.
Chris Wilkinson has spent years in the software development industry after attaining a degree in Computer Games Programming at the University of Teesside. After making the move into business IT upon leaving the university, Chris has worked all over the world, developing Java applications for businesses in many verticals, including finance, aerospace, and the public sector. Specialized ...

Table of contents