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.
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.
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).
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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?