Todd Greenstein | Couchbase Blog


All posts by Todd Greenstein

Todd Greenstein is a Solution Architect at Couchbase. Todd is specialize in API design, architecture, data modeling, nodejs and golang development.

Querying Date Ranges within Embedded JSON Document Arrays. A Simple Example Using N1QL, Nodejs and Docker

Querying and indexing document arrays is one of the most powerful features of Couchbase.  Finding array entries within a specific date range is a common requirement.  Consider the following use case. User Story: “I want to index an embedded account...

July 18, 2017

The Fastest Way to Identify PII Stored in your Database: A Simple Example Using N1QL, Nodejs and Docker

A frequent request from customers is a way to identify PII within their databases.   I thought I’d show a brief example how this can be done. User Story: “I want to identify unencrypted credit card numbers and social security numbers...

June 1, 2017

High Performance NOSQL Query Consistency with Couchbase 4.5

High Performance Consistency When using Couchbase as your system of record we provide a best in class indexing experience using our global secondary indexes and workload isolation through dedicated indexing nodes. We’ve improved that experience even further in Couchbase 4.5...

May 10, 2016

The Couchbase Sub-Document API for Go

The Sub-Document API – go You’ve probably heard about the sub-document (subdoc) API available in couchbase 4.5. Mark Nunberg, one of the architects of the new API, has a great blog on the motivation and impetus behind extending the Memcached (key-value)...

May 6, 2016

Prepared Statements – by the Numbers!

Always be Prepared…. In our last discussion on prepared statements in couchbase we talked about the performance gains that are possible using prepared statements. I thought I’d post a “sequel” with a few real world examples and numbers using the...

February 4, 2016

N1QL – Typed and Untyped JSON Schemas in GO

N1QL + Go + JSON Marshaling Developed by Couchbase for use with Couchbase Server, N1QL provides a common query language and JSON-based data model for distributed document-oriented databases. N1QL is a powerful and expressive query language. Among the numerous benefits...

February 4, 2016

Prepare for This!

Get Prepared…. One of the more impressive aspects of using N1QL is the ability to use prepared statements. What are prepared statements? Why use them? What’s the big deal? Consider the following example from the travel-sample bucket and dataset that are bundled...

February 4, 2016

Performing Bulk Operations in Couchbase Using Golang

A frequently asked question by the Couchbase developer community is “how can I perform bulk type operations?” The expectation is that a high performance data platform will support batching to improve performance. All Couchbase SDK clients support batching operations. Through...

January 4, 2016

Windows 10 Support is HERE!

Windows 10 and the Future! I’m happy to announce official support for Windows 10 with the release of Couchbase 4.1. These are exciting times, and as we continue to grow we are investing heavily into the Windows and .NET platform....

December 9, 2015

Build A REST API using an ODM with Couchbase + Node.js + Express and Ottoman

Background Couchbase + Nodejs = Rapid Development Last year the owner of all things nodejs at Couchbase, Brett Lawson, debuted a preview of our upcomming ODM (Object Data Mapper) for Node.js referred to as “Ottoman.”  Since that time, it has...

November 11, 2015

Pure Storage, Couchbase, and Node.js User Profile Store

There is a lot of buzz around enterprise class storage, lately. Pure Storage, a recognized leader in the space, recently gave us the opportunity to deploy Couchbase in one of their lab environments.  The 8 node cluster was easily able...

December 24, 2014

Couchbase Labs Expiry Callbacks

TTL’s and Expiry Notification Couchbase includes a TTL (Time To Live) as part of the meta data fields for each document.  All of the client SDK’s includes support for setting/querying/touching this value.   The value is set as the “number...

December 17, 2014