Trond Norbye | Couchbase Blog

Author

All posts by Trond Norbye, Senior Developer, Couchbase

Trond Norbye is a Software Architect at Couchbase. Core contributor to Couchbase & Memcached projects. Created the C/C++ & node.js Couchbase client libraries.

libmembase – a C interface to Membase

libmembase – a C interface to Membase

Membase is “on the wire” compatible with any memcached server if you connect to the standard memcached port (registered by myself back in 2009), so that you should should be able to access membase with any “memcapable” client. Backing this...

libcouchbase –  Explore the full features of your Couchbase server from C

libcouchbase – Explore the full features of your Couchbase server from C

I started the implementation of libcouchbase almost year ago out of my personal need to test the inner workings of Couchbase. Since I work in “core” of Couchase I needed an easy way to test out the changes I made...

So whats the story about libcouchbase and Windows?

So whats the story about libcouchbase and Windows?

A couple of days ago I showed you an example program using libcouchbase to create a small application to put data into a Couchbase cluster, but the code wouldn't compile on Windows. That does by no means imply that libcouchbase...

Installing Python scripts from automake…

Installing Python scripts from automake…

I've been working on making it easier for developers to compile and install Membase, and today I learned some more automake magic. I'm one of those developers who don't want to spend a lot of time working on the build...

Building membase from the sources…

Building membase from the sources…

I thought I should share some information about my personal development model for membase. I've set up a “sandbox” where I'm doing all of my development in with the following commands: trond@opensolaris> pfexec zfs create -o mountpoint=/source rpool/sourcetrond@opensolaris> pfexec chown...

memcached client and server source from NorthScale

memcached client and server source from NorthScale

I guess most people don't know this, but I'm the only member of the technical team in NorthScale located in Europe. I live just outside Trondheim in Norway, so it's pretty far from everything. So why did I join NorthScale?...

Running Moxi on Solaris

Running Moxi on Solaris

I have been working on getting Membase up'n'running on OpenSolaris as a side project. Most of it is already in place, but there are still some Makefile issues to sort out. I thought that while we're waiting to complete that...

So, how do I use this libcouchbase?

So, how do I use this libcouchbase?

Some of you may have noticed that we released Couchbase 1.8 earlier today, and a new set of smart clients for various languages. For me personally this is a milestone, because libcouchbase is now a supported client for the C language. So...

Want to know what your memcached servers are doing? Tap them.

Want to know what your memcached servers are doing? Tap them.

It is possible to dump parts of the cache by using “stats dump …” to get some of the keys in the cache (and then you can go ahead and fetch each value). Here is an example on how to...

Writing Your Own Storage Engine for Memcached

Writing Your Own Storage Engine for Memcached

I am working full time on membase, which utilize the “engine interface” we're adding to Memcached. Being the one who designed the API and wrote the documentation, I can say that we do need more (and better) documentation without insulting...

Writing your own storage engine for Memcached, part 2

Writing your own storage engine for Memcached, part 2

In the previous blog post I described the engine initialization and destruction. This blog post will cover the memory allocation model in the engine interface. The memcached core is responsible for allocating all of the memory it needs for its connections (send /...

Writing your own storage engine for Memcached, part 3

Writing your own storage engine for Memcached, part 3

Right now we've got an engine capable of running get and set load, but it is doing synchrounus filesystem IO. We can't serve our client faster than we can read the item from disk, but we might serve other connections...