NoSQL Zone is brought to you in partnership with:
  • submit to reddit
Mark Needham07/29/14
1623 views
0 replies

Neo4j 2.1.2: Finding Where I Am in a Linked List

I was recently asked how to calculate the position of a node in a linked list and realized that as the list increases in size, this is one of the occasions when we should write an unmanaged extension, rather than using Cypher.

Julien Sebrien07/28/14
4272 views
0 replies

Spark: Use Cassandra as a Resilient Distributed DataSet Source

In this article, we will see how we can use Cassandra as a resilient distributed dataset (RDD) source for Spark, in order to perform RDD operations.

Zardosht Kasheff07/28/14
2441 views
0 replies

Explaining Ark Part 2: How Elections and Failover Currently Work

In this post, I want to zero in on elections and describe how they currently work in detail. Kristina Chodorow has a really good explanation on elections here that really helped me while we were developing TokuMX. My explanation will focus on the threading model.

Alec Noller07/25/14
3528 views
0 replies

LedisDB: A High-Performance, Redis-Like NoSQL DB Built in Go

If you're looking for alternative high-performance NoSQL solutions, you might be interested in this new Redis-esque entry based on LevelDB and written in Go: LedisDB.

Mark Needham07/25/14
2451 views
0 replies

Neo4j: Cypher - Separation of Concerns

While preparing my talk on building Neo4j backed applications with Clojure, I realized that some of the queries I’d written were incredibly complicated and went against anything I’d learnt about separating different concerns.

Chris Chang07/24/14
2186 views
0 replies

Tutorial: Scaling Meteor with MongoDB Oplog Tailing

Ever since Meteor 0.7.0 first introduced oplog tailing, we’ve had a lot of users asking us about using the MongoDB oplog with their Meteor applications. As a result, we thought a step-by-step tutorial would help folks get started.

Alec Noller07/24/14
6315 views
0 replies

The Best of DZone: July 17 - 23

If you missed anything on DZone this week, now's your chance to catch up! This week's best include a Spring MVC 3 view controller example, a look at the new mobile database, Realm, the Java origins of AngularJS, 5 quick points about threads in Java EE, and more.

Zardosht Kasheff07/24/14
2874 views
0 replies

Explaining Ark, Part 1: The Basics

Over the next few blog posts, I will go over Ark in layman’s terms. In this first post, I only want to set the scene, and describe what the various important replication components related to elections and failover are. Those familiar with MongoDB may already know this.

Alec Noller07/23/14
2375 views
0 replies

Redis Commands Visualized: One Good-Lookin' Database

For no particular reason at all, Redis Labs' Itamar Haber took a D3.js swing at the bulk of Redis' 160-ish commands, creating an interactive visualization of the lot of them - in Redis colors, of course. The end result is useful, but more importantly, it looks pretty cool.

Mark Needham07/23/14
2281 views
0 replies

Neo4j: LOAD CSV - Processing Hidden Arrays in Your CSV Documents

I was recently asked how to process an ‘array’ of values inside a column in a CSV file using Neo4j’s LOAD CSV tool and although I initially thought this wouldn’t be possible as every cell is treated as a String, Michael showed me a way of working around this which I thought was pretty neat.

Don Pinto07/22/14
2508 views
0 replies

Indexes and Selectivity

Indexes in Couchbase are a flexible means of performing back end processing. When utilizing indexes it's possible to create decision tree type aggregations and selectivity functionality, such as those found in an inventory control system.

Zardosht Kasheff07/21/14
1957 views
0 replies

Introducing Ark: A Consensus Algorithm For TokuMX and MongoDB

Most of the time, our blog posts explain what’s great about the MongoDB improvements we’ve already shipped in TokuMX. Sometimes, though, it’s fun to talk about what’s coming soon, especially when user feedback would really help get the feature right.

Max De Marzi07/21/14
1307 views
0 replies

Scaling Concurrent Writes in Neo4j

A while ago, I showed you a way to scale Neo4j writes using RabbitMQ. Which was kinda cool, but some of you asked me for a different solution that didn’t involve adding yet another software component to the stack. Turns out we can do this in just Neo4j using a little help from the Guava library.

Alec Noller07/20/14
5393 views
0 replies

The Best of the Week (July 11): NoSQL Zone

Make sure you didn't miss anything with this list of the Best of the Week in the NoSQL Zone. This week's best include Couchbase's reasoning for choosing RxJava for the Java SDK, Redis use patterns for the SQL practitioner, group by and sorting in Neo4j's Cypher and Clojure, and more.

Ayende Rahien07/18/14
3131 views
0 replies

When a Race Condition is What You Want…

I have an interesting situation that I am not sure how to resolve. We need to record the last request time for a RavenDB database. Now, this last request time is mostly used to show the user, and to decide when a database is idle, and can be shut down.

Don Pinto07/18/14
2265 views
0 replies

Updates to libcouchbase 2.4

If you've been following along, a developer preview version of the library was released last month. It contained a whole bunch of improvements. Now we've made some more stability improvements to the library and fixed some minor issues along the way.

Alec Noller07/17/14
4067 views
0 replies

The Best of DZone: July 9 - 16

If you missed anything on DZone this week, now's your chance to catch up! This week's best include reasons not to switch to Java 8 (yet), Raspberry Pi's new release, the Dockerized future, the downsides of Google Play Services 5.0, the good, bad, and ugly of JSON, and more.

Adam Warski07/17/14
1705 views
0 replies

Making the Reactive Queue Durable with Akka Persistence

Some time ago I wrote how to implement a reactive message queue with Akka Streams. The queue supports streaming send and receive operations with back-pressure, but has one downside: all messages are stored in-memory, and hence in case of a restart are lost. But this can be solved.

A. Jesse Jiryu Davis07/16/14
787 views
0 replies

Motor 0.3.2 Released

Yesterday I released version 0.3.2 of Motor, the asynchronous MongoDB driver for Python and Tornado. This release is compatible with MongoDB 2.2, 2.4, and 2.6. It requires PyMongo 2.7.1.

Don Pinto07/15/14
6066 views
0 replies

Why Couchbase Chose RxJava for the New Java SDK

This blog post explains our reasoning and motivation behind choosing RxJava as one of the integral components in our new Java SDK.

Mark Needham07/15/14
345 views
0 replies

Neo4j: Set Based Operations with the Experimental Cypher Optimizer

With the release of Neo4j 2.1 we can now make use of Ronja – the experimental Cypher optimiser – which performs much better for certain types of queries. I thought I’d give it a try.

Alec Noller07/14/14
3750 views
0 replies

Redis Use Patterns & the SQL Practitioner

This talk from Itamar Haber, Chief Developers Advocate at Redis Labs, took place at DevconTLV and provides an introduction to Redis use patterns, particularly compared to a relational perspective.

Adam Fowler07/14/14
986 views
0 replies

Upcoming in MLJS…

I’ve been slowly (oh so sloooowwwwly) working on MLJS since my last release in April. Going to try to do smaller, more frequent releases in the future. Done some cool stuff for demos and my other pre-sales colleagues in MarkLogic – all based on real world customer requirements.

Don Pinto07/11/14
1083 views
0 replies

Couchbase Java SDK 2.0.0 Developer Preview 2

On behalf of the whole SDK team I'm glad to announce the second developer preview of the Java/JVM SDK release train nicknamed Armstrong. It currently contains both the JVM core package "core-io" 0.2 as well as the Java SDK 2.0 preview 2.

Mark Needham07/11/14
3103 views
0 replies

Neo4j’s Cypher vs. Clojure: Group By and Sorting

One of the points that I emphasised during my talk on building Neo4j backed applications using Clojure last week is understanding when to use Cypher to solve a problem and when to use the programming language. A good example of this is in the meetup application I’ve been working on.