Best for mobile CloudantUnspecified7.286101
Victor Pease Solano profile photo
Updated February 21, 2019

Best for mobile

Score 10 out of 101
Vetted Review
Verified User
Review Source

Overall Satisfaction with IBM Cloudant

Cloudant is the database for all our mobile applications with offline-first architecture, and it's the best option to keep everything synced and secure.

This is the best way to use CouchDB, because Cloudant adds the authorization layer required for a real live app, and also the infinite capacity with the flexibility to grow from $0 to whatever is required according to the amount of users you need to support.

Also, we have now using Cloudant as the main database for data capture apps and the source for all our catalogs in order to free resources from our rdbms system.

Finally, considering CouchDB is part of Bluemix, you will have the chance to grow, adding on more services for your app.
  • Authentication improved with the API keys
  • Synchronization with https, which means secure and trustable syncs
  • Scale in a transparent way
  • Free start with the $50 allowance makes Cloudant the best way to start
  • It would be nice to have a way to import bulk data
  • There must be a better way to check usage. There are a lot of transactions not shown in the actual report
  • There must be a way to reset a db -- a way to set the actual data as the base and eliminate all deleted docs
First, the strong synchronization engine. There is nothing like that in relational world.
Second, the flexible data model is perfect when you need to have a base framework for several apps.
Finally, the incredible scalability of NoSQL is a no brainer, considering you can start from no budget and grow to any size.
Yes. The database is no longer a point of concern, something that just works and grows with my needs.

The storage management is mostly automatic, the authentication is as simple as creating a new API key. Of course you have to deal with scripts for synchronization and some index definitions in order to use the Cloudant query, but that is just the first time.

Cloudant is excellent for mobile applications specially in those environments where the connectivity is uncertain.

Cloudant has a synchronization engine capable of keep track of all the changes in remote devices under uncertain network conditions what is the key for mobile applications.

For example, you can have an application capable to work with no network connection at all, or always up to date in regular network conditions.

For the development point of view, Cloudant can work with some IBM apis to have a database in the local device and keep all the sync required. The easiest and open option for me is to use PouchDB which is an open source project of a database in javascript that can sync with Cloudant or any other CouchDB based synchronization engine. Under this schema, you can access to open technologies like Apache Cordova, NativeScript or any other Javascript based framework to develop your mobile app.

Lets talk about a sales app in the mobile capable to access the product catalog even in no coverage areas like basements or country, capturing sales that are transmitted once the agent returns to a coverage area. All these with a minimal coding and options like filtered replication to allow data partition.

In a mobile world, even with 4g or faster technologies, the network is uncertain and that’s why we need to elements: a local database, a synchronization engine. Cloudant has both options and is open enough to accept local databases alternatives like PouchDB in order to help you to implement a “Offline First” Application in order to provide the fastest user experience (with fasters queries to a local database) and data always up to date (with the synchronization engine)

  • Positive: you can start your app at 0$ cost. After that, you can combine Cloud data with local Couchdb servers for heavy operations as export to RDBMS
  • Negative: moving from lite to standard pricing plan requires to restart your app
Cloudant is a hosted solution so it works better for me. Also, it includes a better authentication layer than CouchDB.
As for Couchbase, it has membase but the hosted options are much more expensive.
In the SQL world, I tried several sync solutions but the configuration and flow is not as smooth as the built-in capability in Cloudant.
Cloudant is best suited for offline first apps, with a library on the client -- you can have a completely synced environment in no time with data isolation per user and everything.

It is not so good for report apps or to handle too much structured data, because the Cloudant query can turn in something tricky, specially if your data model gets complicated.

Using IBM Cloudant

50 - this is a way to say that almost everybody use Cloudant in some way inside the organization.
Direct use is just for developers, who integrate their services in our applications that most of the time are combined with Couchdb/PouchDb on the edge in order to control the cloud usage and gain Offline first in our apps.
Indirect use, are all of our internal users because they use an app with cloudant services inside
2 - In order to support Cloudant, we have people with HTTP protocol understanding, JavaScript and NodeJS. They work with the network team in order to check firewall rules that is the most common problem that we face.
NodeJS because they need to understand and modify the scripts to load info to Cloudant. And finally javascript just to maintain views
  • Catalog server. All "combos" and list in apps are calling data from a Cloudant/PouchDb
  • Data capture database. Apps for data input, use Cloudant/Pouchdb as the first storage server
  • data segmentation. Some apps access only to the data they need
  • Data Capture, because Cloudant write operations are faster. After that, we use the /changes feed to get the info back to our RDBMS
  • As a Cache, kind of distributed redis service in order to free up resources in our main rdbms server
  • we combine Cloudant and couchdb/pouchdb in order to minimize the use of cloud services, mainly for /changes feed access
  • Cloudant partitioned will allow us to consolidate several Dbs in one
  • search indexes is something we are evaluating

IBM Cloudant Implementation

The performance and cost are both over our expectations
Yes - phase 0: data modeling, using the db as a key-value repository
phase 1: synchronization scripts, configuring how to transfer data to the client
phase 2: secondary indexes, setting new ways to query the data using map/reduce mechanism
phase 3: cloudant query, ease complicated queries using this kind of indexes
Change management was a minor issue with the implementation - Git is a critical component on your development when using NoSQL because data structure and rules are no longer in your server. The best way is to declare a global library to handle data objects across all your apps and reuse them to save time and ensure data rules
  • Data rules must be well coordinated between several components to avoid data inconsistency
  • Synchronization rules must be tested "out" because there is nothing like a sandbox

IBM Cloudant Training

  • Online training
  • Self-taught
online resources are good enough to understand but there is nothing like testing. In our case, we discovered some not documented behavior that we take in count now. Also, the experience in NodeJs is critical. Also, take in count that most of the "good practices" with cloudant are not in online courses but in blogs and pages from independent developers.
Yes, Cloudant is easy to understand without trainning. This is the suggested approach to start. The formal trainning will give you the order how to proceed with your project. Anyway, consider not just the formal education. There are a lot of projects and examples how to use Cloudant not just in lab environments that you can use as is and then modify to your needs.

Using IBM Cloudant

cloudant adds some features to improve security and data query like tokens and cloudant query that really adds a lot of power to these features over the standard CouchDB. also you can integrate your data into a relational schema using ibm dashdb for data analysis. everything is in the right place
Like to use
Relatively simple
Easy to use
Well integrated
Quick to learn
Feel confident using
  • replication
  • data browsing
  • query via http interfase
  • security settings on database
  • filtered replication rules
  • data events rules

IBM Cloudant Reliability

Because of the offline-first architecture, most of the transactions are handled on the client, requiring less power on the server. Also, because it's plain http, the overload on the client is almost nothing.

Cost and performance is in balance using Cloudant as a backend compared with other hosted solutions.