The Internet of Things (IoT) is delivering new challenges for data management and analysis. There are different NoSQL databases such as MongoDB, CouchDB, Redis. Although both SQL and NoSQL databases are viable for IoT data, different NoSQL databases considered for practical reasons.
Various studies have checked database performance of different databases under workloads and it is concluded that among Apache Cassandra key-value store, the column-oriented Apache HBase, and the MongoDB document store, Cassandra performs better than the rest.
MongoDB in different tests performed the wort. However, of course MongoDB is better than SQL database. As of elasticity of NoSQL databases including HBase, Cassandra, and Riak, HBase is the fastest and the most scalable, Cassandra performs well and scale well in a write-intensive environment. Cassandra is the winner in the, while HBase has the lowest throughput. MySQL is as good as Cassandra for partitioning data horizontally across multiple servers (sharding). Again, experts concludes that MySQL is not as efﬁcient as the NoSQL databases for storing a massive volume of data in write-intensive scenarios.
Internet-of-Things Storage with speciﬁc reference to IoT data, CouchDB, PostgreSQL, Cassandra, and MongoDB are actually good storage solution for sensor readings. MongoDB usually good for single write and PostgreSQL for multiple reads. CouchDB as database server, offers the advantage of RESTful API and other features such as replication, batch processing, and change notiﬁcations. However, CouchDB occupies much more space, around 40 times more than that of MySQL. CouchDB signiﬁcantly outperforms by all the other databases in multi-user read use-case. In general, Redis gives the best results due to its in-memory storage. CouchDB however is poor compared in many aspects compared to Cassandra, not to forget its huge database size. Redis is limited by the database size, data structure, and query capabilities.
Conclusion on Cloud Databases for Internet-of-Things
It is difficult to point out the best cloud database for the IoT, since the use cases is vast. Each database has its own pros and cons and area of application. However, NoSQL databases definitely better than traditional relational database systems. Usually Cassandra or the other big data related database not used for simple works. In that way CouchDB, Cloudant becomes option in most common use case.