NoSQL Zone is brought to you in partnership with:
  • submit to reddit
Mark Needham04/30/14
2370 views
0 replies

Neo4j 2.0.1 & Cypher: Concatenating an Empty Collection

Last weekend the author was playing around with some collections using Neo4j’s Cypher query language and he wanted to concatenate two collections. That was easy when both collections contained values, but with an empty collection, the author ran into exceptions.

Zardosht Kasheff04/29/14
3343 views
0 replies

How TokuMX Secondaries Work in Replication

TokuMX replication differs quite a bit from MongoDB’s replication. The differences are large enough such that we’ve completely redone some of MongoDB’s existing algorithms. One such area is how secondaries apply oplog data from a primary. In this post, the author will explain how.

Alec Noller04/29/14
4134 views
0 replies

Crunchbase & Neo4j's Interconnected Future: The Business Graph

Based on this recent blog post from Matt Kaufman at Crunchbase, it looks like Crunchbase has some big, graph-based plans for the future. In particular, they intend to build what they call the Business Graph using their substantial dataset of 530,000 people (and companies).

Mark Needham04/29/14
1953 views
0 replies

Neo4j & Cypher: Creating a Time Tree Down to the Day

A blog post showed how to create a time tree representing time down to the second using Neo4j’s Cypher query language. After a bit of fiddling around with leap years, the author believes the following query will create a time tree representing all the days from 2011 – 2014, as an example.

Ayende Rahien04/28/14
4247 views
0 replies

Design Practice: Building a Search Engine Library

How would the author go about building a search engine for RavenDB to replace Lucene? Well, we have Voron as the basis for storage, so from the get go, we have several interesting changes. But the author's probably jumping ahead a bit. He’ll start with the basics.

Alec Noller04/28/14
2221 views
0 replies

ArangoDB 2.0.6 Released

Last week, ArangoDB 2.0.6 was released. The new release includes a number of changes, including cancellation for async jobs, a new Windows installer, new password change dialog, and more, in addition to a number of bug fixes.

Mark Needham04/28/14
667 views
0 replies

Neo4j 2.0.0: Query Not Prepared Correctly / Type Mismatch: Expected Map

The author was playing around with Neo4j’s Cypher last weekend and found myself accidentally running some queries against an earlier version of the Neo4j 2.0 series (2.0.0).

Alec Noller04/27/14
4092 views
0 replies

The Best of the Week (Apr. 18): 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 a look at the NoSQL design flaws that brought down two bitcoin exchanges, MongoDB driver tips and tricks, the release of Redis 2.8.9, and more.

Alec Noller04/26/14
11228 views
0 replies

The Future of MongoDB: Is the Clock Ticking?

In "Why the Clock is Ticking for MongoDB," Robert Haas examines a recent ZDNet interview with MongoDB CEO Max Schireson in which Schireson argues that relational databases are not long for this world. According to Haas, though, the opposite is true: MongoDB won't last.

Valeri Karpov04/25/14
2722 views
0 replies

A NodeJS Perspective on What’s New in MongoDB 2.6, Part I: Text Search

MongoDB shipped the newest stable version of its server, 2.6.0, this month. This new release is massive: there were about 4000 commits between 2.4 and 2.6. For the next few posts, the author is putting on his NodeJS web developer hat and exploring interesting use cases for new features in 2.6. First is text search.

Alec Noller04/25/14
3306 views
0 replies

Redis 2.8.9 Released

This week, Redis 2.8.9 was released, and according to creator Salvatore Sanfilippo, it's a strange one. Unlike most Redis releases, 2.8.9 that adds big new features, but no bug fixes at all, which, according to Sanfilippo, is just because there was nothing to fix. That's always good to hear.

Ayende Rahien04/25/14
604 views
0 replies

RavenDB Conf Videos: Introduction to Document Database Modeling with RavenDB

The author recorded the recent RavenDB conference, and the videos are becoming available now. In this article, you'll find Mauro Servienti's intro talk to RavenDB.

A. Jesse Jiryu Davis04/24/14
1421 views
0 replies

Rewriting PyMongo's BSON Decoder: An Enlightening Failure

The author plans to rewrite PyMongo's BSON decoder. The decoder is written in C, and it's fast, but he had a radical idea for how to make it faster. That idea turned out to be wrong. Discovering he was wrong was the best way to learn, but the second-best way is by writing, so here is a story about his wrong idea.

Michael Hunger04/24/14
1760 views
0 replies

Importing Forests into Neo4j

Sometimes you don’t see the forest for the trees. But if you do, you probably use a graph database. Trees are one of the simple graph datastructures, directed acyclic graphs (DAGs). For our example we use a time-tree that we want to import into the database.

Alec Noller04/23/14
11501 views
3 replies

MongoDB & Bitcoin: How NoSQL Design Flaws Brought Down Two Exchanges

On March 3rd, the Bitcoin exchange Flexcoin shut down after being hacked and catastrophically robbed. The hack was made possible, according to Emin Gün Sirer, by a concurrency problem brought on by the use of NoSQL databases. However, this wasn't just a fluke.

Zardosht Kasheff04/23/14
1919 views
0 replies

On TokuMX Oplog, Tailable Cursors, and Concurrency

In a post last week, the author described the difference in concurrency behavior between MongoDB’s oplog and TokuMX’s oplog. In this article, you'll find the key differences, an explanation of tailable cursors, and more.

Shane Johnson04/23/14
1219 views
0 replies

Modern Big Data > Hadoop

That's right. A modern big data solution requires more than Hadoop. Welcome to the data, it's all big and fast. Welcome to Big Data Central.

Mark Needham04/22/14
1073 views
0 replies

Remote Profiling Neo4j Using yourkit

yourkit is the author's favorite JVM profiling tool, and while it’s really easy to profile a local JVM process, sometimes he needs to profile a process on a remote machine. In that case we need to first have the remote JVM started up with a yourkit agent parameter passed as one of the args to the Java program.

Zardosht Kasheff04/22/14
1886 views
0 replies

On TokuMX (and MongoDB) Replication and Transactions

In the author's last post, he described the differences between a TokuMX oplog entry and a MongoDB oplog entry. In this post, he wants to elaborate on why multi-statement transactions cause changes to the oplog, and explain how they changed replication to support arbitrarily large transactions.

Ayende Rahien04/22/14
564 views
0 replies

My Distributed Build System

Yes, the author knows that you are probably getting geared up to hear about some crazy setup, and in some manner, it is crazy. His distributed build system is this.

Ayende Rahien04/21/14
1033 views
0 replies

Reduce ^ 2 in RavenDB

How do you re-reduce the results of a map/reduce? It is a really nice feature on the surface, but it has a lot of implications. For example, when and how do you run the second reduce, can you chain only one time or multiple times, what happens when there are a lot of reduce results, and so on.

Michael Hunger04/21/14
1150 views
0 replies

Sampling A Neo4j Database

After the author read the interesting blog post of his colleague Rik van Bruggen on “Media, Politics and Graphs,” he thought it would be really cool to render it as a GrapGist. Especially as he already shared all the queries as a GitHub Gist.

Alec Noller04/20/14
3688 views
0 replies

The Best of the Week (Apr. 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 lessons learned during a migration from MySQL to MongoDB, differences between RavenDB and MongoDB when it comes to map/reduce, MongoDB's "incremental" map/reduce, and more.

Chris Chang04/18/14
7175 views
0 replies

MongoDB Driver Tips & Tricks: Mongoose

Many of the support requests we get at MongoLab are questions about how to configure and use particular MongoDB drivers and client libraries. This post is the 2nd of a series where we are covering the popular MongoDB drivers in depth (we covered Mongoid last time). The driver we’re covering today is Mongoose.

Michael Hunger04/18/14
2277 views
0 replies

Quickly Create a 100k Neo4j Graph Data Model with Cypher Only

We want to run some test queries on an existing graph model but have no sample data at hand, and also no input files (CSV, GraphML) that would provide it. Why not create quickly it on our own just using Cypher?