NoSQL Benchmarks NoSQL use cases NoSQL Videos NoSQL Hybrid Solutions NoSQL Presentations Big Data Hadoop MapReduce Pig Hive Flume Oozie Sqoop HDFS ZooKeeper Cascading Cascalog BigTable Cassandra HBase Hypertable Couchbase CouchDB MongoDB OrientDB RavenDB Jackrabbit Terrastore Amazon DynamoDB Redis Riak Project Voldemort Tokyo Cabinet Kyoto Cabinet memcached Amazon SimpleDB Datomic MemcacheDB M/DB GT.M Amazon Dynamo Dynomite Mnesia Yahoo! PNUTS/Sherpa Neo4j InfoGrid Sones GraphDB InfiniteGraph AllegroGraph MarkLogic Clustrix CouchDB Case Studies MongoDB Case Studies NoSQL at Adobe NoSQL at Facebook NoSQL at Twitter



Mobiles: All content tagged as Mobiles in NoSQL databases and polyglot persistence

Cross-Platform Global High-Score Using Amazon SimpleDB

Timo Fleisch provides a set of requirements for which using Amazon SimpleDB for storing mobile gaming data sound like a good solution:

In this post I am going to describe my solution for a simple global high score that works with WP7, iOS and Android. […] The preconditions for me for the global high score where:

  • It should be easy and fast to implement and maintain.
  • It should use standard web technologies.
  • It should be scaleable.
  • It should use the standard web http protocol.
  • It should be secure,
  • and it should be as cross platform as possible.

SimpleDB definitely fits the bill for these requirements. But there might be some other details that could lead to using a different approach or making things a tad more complex:

  • the Amazon SimpleDB latency
  • the always-connected to the internet requirement

Original title and link: Cross-Platform Global High-Score Using Amazon SimpleDB (NoSQL database©myNoSQL)


Tropo and CouchDB: SMS Voting App in 10 Minutes

Mark Headd:

By pairing Tropo with CouchDB and a CouchApp running in IrisiCouch, you can have an SMS and phone voting app running entirely in the cloud in about 10 minutes. It should actually take you longer to write up the categories for your voting app than it should to deploy this solution.

Code available on GitHub.

Original title and link: Tropo and CouchDB: SMS Voting App in 10 Minutes (NoSQL database©myNoSQL)


MongoDB at Viber Media: The Platform Enabling Free Phone Calls and Text Messaging for Over 18 Million Active Users

Back in November there has been quite a bit of buzz around MongoDB being behind Viber Media’s technology for free phone calls and text messaging. Understandingly so, considering we are talking about a platform with more than 18 million active users talking for more than 11 million minutes every day—and these numbers have probably grown quite a bit over the holiday season.

The nice folks from Viber Media[1] have been kind enough to share more details about their platform and the way MongoDB is used. Here is the complete exchange:

Q: Could you briefly describe how your application works so we could better understand where MongoDB fit into your architecture?

Viber’s mobile clients connect to a central service that can route messages to other such clients. These messages can either be text messages or “signals” for establishing a phone call. These front-end servers use MongoDB as a common data-store. We store variable length documents that include dictionaries.

Q: What were the main reasons that led you to use MongoDB? Were there other solutions that you’ve been tempted to use for your architecture?

We started with a proprietary code, but with the large increase in the number of new registrations per day, we realized that we needed a database that will be both scalable and redundant. At that time, this was the only database that looked like a good fit for both.

Q: The announcement mentioned that currently your clusters run on 130 nodes in the Amazon cloud. Could you describe the deployment and what components of the Amazon cloud are involved?

We have 65 MongoDB shards. Each shard consists of a master and a slave. A single EC2 instance is used for running arbiters for all shards. We are using a RAID5 (moving to RAID10) volume consisting of 6 EBS volumes for each MongoDB machine. All instances are m2x.large but we plan to migrate into larger instances.

More Amazon technology at work:

  • we are using ELB as a front-end for our proprietary load-balancers and for off-loading HTTPS processing
  • we are using S3 for storing pictures sent between users.

Q: How do you monitor your MongoDB cluster? Are there people in your team dedicated to managing the MongoDB cluster?

We have a small team to support our application and MongoDB cluster (we’re looking for MongoDB admins, BTW). We use our own monitoring server to monitor both cluster and a 10Gen MMS (Mongo Monitoring Service) to solely monitor MongoDB.

Q: Your platform has seen amazing growth reaching 18 mil. active users in less than 1 year. What has this growth meant in terms of evolving and managing the MongoDB deployment?

Hard work :). MongoDB has been very useful for increasing our reach to active users. Our exact methods are proprietary and therefore cannot be disclosed.

Q: What were the most notable moments in the evolution of your MongoDB cluster? Has it seen any radical changes over the time? Did you have to migrate your cluster to newer versions of MongoDB, etc.?

We have migrated versions from 1.7.6 to 1.8 and now to 2.0. We are still having a few problems with the last version, but we keep improving all the time.

Q: Were there any (major) bumps in the road with MongoDB? Or differently put, are there areas in which you’d like to see MongoDB improving?

  1. The database of the config server is not recovering (no master-slave). This misunderstanding has caused us to have 24 hours’ downtime with Viber at the beginning.
  2. The memory consumption of MongoDB is too high.

Thanks guys and good luck growing your platform!

  1. My thanks also to Meghan Gill and Darah Roslyn which helped getting this interview.  

Original title and link: MongoDB at Viber Media: The Platform Enabling Free Phone Calls and Text Messaging for Over 18 Million Active Users (NoSQL database©myNoSQL)

TouchDB: Embeddable Lightweight CouchDB-compatible

Jens Alfke:

If CouchDB is MySQL, then TouchDB is SQLite.

By “CouchDB-compatible” I mean that it can replicate with CouchDB and Couchbase Server, and that its data model and high-level design are “Couch-like” enough to make it familiar to CouchDB/Couchbase developers. Its API will not be identical and it may not support some CouchDB features (like user accounts) that aren’t useful in mobile apps. Its implementation is not based on CouchDB’s (it’s not even written in Erlang.) It does support replication to and from CouchDB.

In my books a perfect solution must:

  1. be small
  2. be fast
  3. reuse the target platform technologies (so it feels at home)
  4. support bi-directional synchronization with CouchDB
  5. provide an API that is either similar to the target platform APIs or is similar to CouchDB API

Data story

Original title and link: TouchDB: Embeddable Lightweight CouchDB-compatible (NoSQL database©myNoSQL)


Storing High Scores in Amazon SimpleDB

This article highlights the benefits of connecting mobile devices to the cloud while also presenting an Amazon SimpleDB use case. Amazon SimpleDB is a highly available, flexible, and scalable non-relational data store that offloads the work of database administration. The app described here demonstrates how to store a high score list or leader board in SimpleDB. The app enables the user to view the high scores sorted by name or score, add and remove scores, and more.

What it doesn’t highlight is what happens with your application if your mobile device is disconnected.

Original title and link: Storing High Scores in Amazon SimpleDB (NoSQL database©myNoSQL)


What Are the Benefits of Building CouchApps?

Bradley Holt[1]:

Streamlining of your codebase (no middle tier), replication, the ability to deploy/replicate an application along with its data, and the side benefits that come with going “with the grain” of how the web works are some of the benefits of building CouchApps.

The interview mentions also the potential of using CouchDB on Android and iOS platforms. CouchOne released back in September CouchDB for Android and then 6 months later—and after the merger with Membase—iOS Mobile Couchbase.

  1. Bradley Holt is author of 2 CouchDB Books: Scaling CouchDB and Writing and Querying MapReduce Views in CouchDB.  

Original title and link: What Are the Benefits of Building CouchApps? (NoSQL database©myNoSQL)


Using CouchDB in an iOS Application

A guide of using mobile Couchbase Xcode project templates by Marty Schoch. It takes only 5 minutes to get started.

Mobile Couchbase for iOS iPhone and iPad Beta Release

Mobile Couchbase for iOS is delivered as an embeddable library with seamless Apple Xcode IDE integration, ensuring a familiar development experience for developers building iPhone and iPad apps.

PR announcement

2 months after the confirmation that Apple will accept it and only 8 months after the CouchDB for Android.

Update: From the official post:

On the horizon for Mobile Couchbase is a feature we think will be crucial for adoption with more apps: ObjC Map Reduce. With ObjC Map Reduce we can make the Spidermonkey dependency optional, thus cutting the overall download size contribution of Mobile Couchbase by roughly half.

Original title and link: Mobile Couchbase for iOS iPhone and iPad Beta Release (NoSQL databases © myNoSQL)

iOS Mobile Couchbase

What iOS Mobile Couchbase gives you:

  • You can embed the rock solid distributed database, Mobile Couchbase, on your iOS device.
  • Your iOS apps can use Apache CouchDB’s well-proven synchronization technology.
  • If you <3 CouchApps, you can deploy them as iOS apps.

CouchDB has been available on Android for 6 months. But it is great to hear that Apple will allow it on iOS.

Original title and link: iOS Mobile Couchbase (NoSQL databases © myNoSQL)


Developing with CouchDB on Android

So you know why CouchDB on mobile is an awesome fit, but getting CouchDB working on the device is only the first step, for it to be useful CouchDB needs to provide an easy and convenient way to be used on mobile devices. This is the first in a series of introductions to CouchDB on Android.

In this post I will take a very basic CouchApp and turn it into a native Android App.

I was planning to post this link over the weekend to allow enough time for setting things up. But after reading about what you need to go through to develop on some other platform, I concluded you’ll get up to speed with CouchDB on Android in no time.

Original title and link: Developing with CouchDB on Android (NoSQL databases © myNoSQL)


Thanksgiving Weekend Crash Course - Android, Sencha Touch, PhoneGap and CouchDB

Horace Lin having fun with some cool frameworks and tools, including CouchDB:

The goal of this project was to display the Sencha list view on Android device with user names, user’s icons and pop out the game the user paying on facebook if the arrow button pushed. All the users information will be stored on CouchDB and retrieve by JavaScript codes through Ajax.

Christmas is getting closer, so you can come up with fun projects too.

Original title and link: Thanksgiving Weekend Crash Course - Android, Sencha Touch, PhoneGap and CouchDB (NoSQL databases © myNoSQL)