Overall Satisfaction with IBM Cloudant
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
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.
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.
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
- CouchDB and Couchbase Server
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.
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
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
- 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
IBM Cloudant Implementation
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
IBM Cloudant Training
Using IBM Cloudant
Like to use
Easy to use
Quick to learn
Feel confident using
IBM Cloudant Reliability
Cost and performance is in balance using Cloudant as a backend compared with other hosted solutions.