![]() ![]() So in conclusion, I urge readers to examine the pros and cons of both sides very carefully before making such a decision. Since our app is running on smartphones and tablets, it is by definition single-user, so file locking is not an issue. The LokiJS product handles large data stores, uses indexes, and is fast and reliable. When the client app is updated to start using the new field, it just references it within the stored object and there it is. If a new data field is added to the download object, it doesn't matter if the client is ready to use it or not, it can still be sent and saved without first having to update a table definition on the client. JSON format is much easier to use and less verbose than XML, plus it works better with Javascript. Our web service downloads customers and products data in JSON format, which can be easily stored and accessed by the client app as a JavaScript object in the LokiJS data store. This also was a big source of support issues. Previously, we had a lot of program code dedicated to maintaining the correct table definitions in the client DB, so that data downloads would work correctly. By eliminating the concept of a "schema", NoSQL removes an entire layer of program code on both the server and the client device. The biggest advantage we found in using NoSQL is that it decouples the server from the client in regard to data storage. Our app is server- agnostic, so the server DB may be SQL Server, MySQL, Oracle DBMS, Progress DBMS, Access, or some other DB product. But instead, we chose the LokiJS, which is an "In- memory Javascript Datastore with Persistence", to store the customers, products and other data that we download from the back office server. ![]() ![]() If we had stayed within the world of SQL DBs, then SQLite would have been our choice. We did extensive research into our choice for replacing the single-user SQL DB that we used in the old app. This new version uses HTML5/CSS/JS/Cordova to run on Android and Apple smartphones and tablets. Our company is developing a replacement for our 10+ year old remote sales order entry app that ran on Windows Mobile handhelds. And what do you mean by "eek, JSON"? Sounds like what I say if I see a mouse in the server room. Phil, good article but a bit unbalanced in comparing NoSQL to SQLite. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |