Introduction

This post marks the second in a series about the Couchbase Mobile stack. You can find the first post here. It covers installing Couchbase Server. In this post we’ll examine part of Couchbase Web Console (CWC).

Background

To get comfortable with the whole stack, it’s great to install and run everything on your development machine. In this series of posts, I’ll walk through the steps get to started with each component. I’ll show how to do a little extra exploring along the way, too.

I’ll only do minimal configuration. This is not intended to explain what you need for a production environment. I assume you’re familiar with some basics of NoSQL, have some understanding of Couchbase, and know how to build apps in something like Java, Android, or iOS. If you want to read up on NoSQL databases or Couchbase, you can find lots of resources on the Couchbase site.

Couchbase is open-source. Everything I’ll use here is free to try out. See the end of the post for more resources if you need help.

Exploring Couchbase Server

Now that we have an instance up and running1, we can try a few things out. Couchbase Server has a built-in web-based administration interface (Couchbase Web Console) and a large number of command line tools. You can also perform interesting manipulations through its ReST interfaces easily. This gives us three ways to delve in without writing any code. In this post we’ll start with CWC.

The Couchbase Web Console

We saw the Overview panel of the Web Console during our initial installation. The interface has nine main panels total. For the purpose of understanding Couchbase Mobile, we only need to concern ourselves with the Data Buckets panel.

Data Buckets

Click on the Data Buckets tab in the navigation bar. If you loaded the beer sample bucket, click on the arrow to the left of the bucket tile “beer-sample”. You should see information similar to what’s shown in the following screenshot.

Couchbase Server Data Buckets

This gives general information about the bucket. You can see some of the parameters used during setup reflected here.

Documents

In the upper right corner, you’ll see two buttons, “Documents” and “Views”. Select “Documents”. This brings up a list of documents in the bucket. Each entry shows a limited version of the document id and contents.

Couchbase Server Bucket Documents

Click on the document id to bring up the full document contents. You can also directly edit and save changes to documents here.

Couchbase Server Document Sample

Views

Views define a static index in your database. Couchbase achieves this using a map/reduce approach.

Every time a document gets created or updated, Couchbase processes it through the map/reduce code associated with a View. In Couchbase, you write these functions in JavaScript. You choose what values to output for your index.

Since the index gets created at the time of processing the document, we call this a “static” index. This speeds up queries. In contrast, with Couchbase you can use the N1QL query language to create queries on the fly. N1QL queries are overall more powerful and flexible, but will typically be slower to execute.

You can read more about Views here. I emphasize Views because Couchbase Lite uses them for queries. Currently Couchbase Lite doesn’t support N1QL.

The beer sample has two Views already defined. To see them, click on the Data Buckets tab again. Now, instead of clicking “Documents” in the upper right, click “Views”. You’ll see the following information.

Couchbase Server Bucket Views

Click on “Production Views”. In the list of Views, click “brewery_beers” to get to this page.

Couchbase Server View Sample

To see the index created by the View, click “Show Results” to the right, above the third pane shown.

To try out Views yourself, you can copy a Production View and modify it. Jump back two steps to the introduction to Views. Look for the “Copy to Dev” button. Click that. Hit “Copy” in the dialog that pops up. You’ll be taken to “Development Views” where you can edit views and documents and test out the results.

Next Steps

In the next post in this series I’ll show some ways to work with Couchbase Server from the command line. After that I’ll move on to Sync Gateway. Then we’ll look at a sample app using Couchbase Lite. Finally, we’ll use that sample app to loop back and see how everything ties together.

Postscript

Check out more resources on our developer portal and follow us on Twitter @CouchbaseDev.

You can post questions on our forums. And we actively participate on Stack Overflow.

You can follow me personally at @HodGreeley

Posted by Hod Greeley, Developer Advocate, Couchbase

Hod Greeley is a Developer Advocate for Couchbase, living in Silicon Valley. He has over two decades of experience as a software engineer and engineering manager. He has worked in a variety of software fields, including computational physics and chemistry, computer and network security, finance, and mobile. Prior to joining Couchbase in 2016, Hod led developer relations for mobile at Samsung. Hod holds a Ph.D. in chemical physics from Columbia University.

Leave a reply