key-value-store

How do I parse this key-value pair?

This is the output from doing puts get_account_entry.inspect [[{:value=>"8b08e26a-6d35-7140-9e41-4c5b4612c146", :name=>"id"}, {:value=>"Typhoon Corporation", :name=>"name"}]] How do I extract out the value of :name => "id" for example? Originally I thought it was like a hash, so get_account_entry[id] would produce the result, but it ...

Suggest a simple NoSQL database for java project

I am developing a simple internal use application with an intended user base of around 100 people. The application does a lot of reads and very few writes. The dataset size is fairly small and we do not want to use a RDBMS if possible. In fact, the relational requirements are fairly small. I am looking at using some NoSQL database and I ...

Which key-value store has decent twisted API (nonblocking) ?

I need a reliable K-V storage to be run in network. Main requirements: Network connectivity has nonblocking twisted API be reliable, production ready. No data loss write performance is more important than read performance support for distributed operation and failover would be great (So I just specify list of nodes) java/ruby/erlang AP...

What is the purpose of colons within Redis keys.

Hey, I'm learning how to use Redis for a project of mine. One thing I haven't got my head around is what exactly the colons are used for in the names of keys. I have seen names of key such as these: users:bob color:blue item:bag Does the colon separate keys into categories and make finding the keys faster? If so can you use multiple...

Distributed Key/Value Stores that can run on Windows, and have .Net clients?

As the title says, does anyone know of any Distributed Key/Value Stores that can run on Windows, and have .Net clients? Thank you Update: Sorry, forgot to add that it needs to be persisted. ...

How to shard existing key-value storage?

Hello, Let's suppose that we have 3Gb key-value storage on server A. I'm starting to feel that we need another server (server B). So, I have to separate server A data over shards (server A, server B), but... All keys on server A currently represented as is (for example, comment_ids:user_id:10). Question #1: What is the best practice to...

Smart way to evaluate what is the right NoSQL database for me?

There appears to be a myriad of NoSQL databases available these days: CouchDB MongoDB Cassandra Hadoop There's also a boundary between these tools and tools such as Redis that work as a memcached replacement. Without hand waving and throwing too many buzz words - my question is the following: How does one intelligently decide which...

Pros/Cons of storing serialized hash vs. key/value database object in ActiveRecord?

If I have several objects that each have basically a Profile, what I'm using to store random attributes, what are the pros and cons of: Storing a serialized hash in a column for a record, vs. Storing a bunch of key/value objects that belong_to the main object. Code Say you have STI records like these: class Building < ActiveRecord:...

What's the Attraction of Schemaless Database Systems?

I've been hearing a lot of talk about schema-less (often distributed) database systems like MongoDB, CouchDB, SimpleDB, etc... While I can understand they might be valuable for some purposes, in most of my applications I'm trying to persist objects that have a specific number of fields of a specific type, and I just automatically think ...

Computing token counters on huge dataset

I need to go over a huge amount of text (> 2 Tb, a Wikipedia full dump) and keep two counters for each seen token (each counter is incremented depending on the current event). The only operation that I will need for these counters is increase. On a second phase, I should calculate two floats based on these counters and store them. It sh...

NoSQL database and many semi-large blobs

Is there a NoSQL (or other type of) database suitable for storing a large number (i.e. >1 billion) of "medium-sized" blobs (i.e. 20 KB to 2 MB). All I need is a mapping from A (an identifier) to B (a blob), the ability to retrieve "B" given A, a consistent external API for access, and the ability to "just add another computer" to scale t...