No SQL is a new buzz word in conventional computing technique. Basic information can be referred from here. It is all together new way to create, manipulate and delete the conventional relational database. Though now day’s smartphones are one of mainstream computing devices, there is a good amount of curiosity for No SQL to be ported on the same.
Let us try to evaluate different ways & pro-cons for the same.
Still MySQL is always first choice for app developers but there are key advantages of No SQL which make it important that one cannot ignore it.
– Keep it simple, NoSQL is best known to avoid database design. App dev team can say good bye to DB designer.
– It works best in a use case to dump server response for offline access.
– Performance of database operation is very critical for app. It works lot faster than conventional MySQL.
– Cheap storage — it required very little size to store. For mobile devices with limited memory size it suits.
– Flexible Data Model — It can grasp any level of data set change at it doesn’t care about database design.
On counter side it does have few hick ups, let us try to evaluate and find the answer.
– Maturity — NoSQL is new technology comparatively, API, tools, expertise & support around it is bit less than conventional SQL. It is not advisable to use the same in mission critical or time critical apps.
– Analytics & Query — It does not support conventional query mechanism. Only better way to query the database is by doing free text search. There are good amount of efforts done to port few free text search engine i.e. — Lucene.
Show me the code!
Let us try to identify API implementation of NoSQL in an app.
Well there are little options available for smartphone but these are good enough to write industry standard apps. These options are,
- TouchDB porting for iOS native is one of the best solutions at this time. Here is more information.
- PouchDB is web based porting for NoSQL. It works well for any cross platform app which all are phonegap based. Here is more information.
- CouchDB is an Apache effort to port NoSQL into smartphones like iOS and Android. It is open source, most matured version in my opinion. For Android they have ported Lucene as a query engine as an optional package. It is also known for its synchronization capabilities. Here is more information.
- LevelDB is not actually DBMS but it uses same NoSQL concepts, it is blazing fast. It just uses the key value pairs for data persistence. Worth to use in any smartphone app. Here is more information for the same
It is no doubt that NoSQL will play bigger role for persistence mechanism in smart phone devices. I won’t be surprise if future versions of Andorid, iOS or Windows platform will have pre load version for NoSQL. Till the time, above API will keep on emerging to serve developers need.
On top of that, to realize the concept and verify the performance, we can use standard SQLite to store key value pairs. Of course it is not best way to do but it can be good start towards NoSQL.