Best for mobile
Updated August 29, 2019

Best for mobile

Victor Pease Solano | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User

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
  • 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
the flexibility of NoSQL allow us to modify and upgrade our apps very fast and in a convenient way. Having the solution hosted by IBM is also giving us the chance to focus on features and the improvement of our apps. It's one thing less to be worried about.

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
ProsCons
Like to use
Relatively simple
Easy to use
Well integrated
Consistent
Quick to learn
Feel confident using
Familiar
None
  • 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.