Wednesday, 10 January 2018

DroneSym, some best alternatives for Firebase

DroneSym is one amazing project which helps users to track drones and locate them. The user will be provided with a dashboard to track the drones and also the ability to add new ones.

So, we have to deal with a real time database, which requires constant monitoring and updating of the database based on the drone locations. This application uses Firebase as it's real time database, which requires to track the co ordinates of the drone and update/track the moment of the drone constantly.

Hence, I have done some research on few of the database alternatives to Firebase. Following are some of the special features of Firebase.

 - Firebase(NoSQL database provides real time database sync every millisecond.
 - It also provides the ability to build serverless apps (But in DroneSym we are using Flask)
 - Firebase also provides awesome offline sync with the data, which uses local storages to store the info and automatically sync to the databases when online

However the free plan for Firebase is very limited and we should definitely think of few alternatives. I came up with three alternative options.

1. Cloudboost

Cloudboost as some better pricing for free users or beginners who are planing to try out small projects. It provides around 500 free connections around devices where as firebase provides only 100 for free subscription. It definitely have some cool features, I'm attaching the following screenshot.

The following is the pricing model.

2. Deployd 

Deployd is an open source solution which provides Ready-made, configurable Resources add common functionality to a Deployd backend, which can be further customized with JavaScript Events.
Following are the feature list provided, (which i picked from their official github doc, here is the link)

    - secure access to database APIs directly from untrusted clients (browser js, mobile apps, etc)
    - notify clients in realtime of events occurring within the database
    - user and session management
    - all APIs exposed over REST / HTTP
    - bundled browser JavaScript client
    - web socket authentication and session management
    - can be hosted by modern cloud platforms
    - support extension through node modules and npm

3. DeltaDB

DeltaDB is an offline-first database designed to talk directly to clients and works great offline and online, which is also an open source solution. 

Following are some amazing features which are comparable to firebase, (I picked these feature list from the original deltadb github repo, here is the link)

 - Works the same whether the client is offline or online
 - NoSQL database that works in your browser and automatically syncs with the database cluster
 - Stores all data as a series of deltas, which allows for smooth collaborative experiences even in
frequently offline scenarios.
 - Uses a simple last-write-wins conflict resolution policy and is eventually consistent
 - Uses a homegrown ORM to speak to underlying SQL databases. (Support for underlying NoSQL databases will be added)
 - Is fast. Clients push their deltas on to the server's queue. The server processes the queue separately and partitions the data so that clients can retrieve all recent changes very quickly.

There will be many other well known alternatives, but i made a research specific to cost effective/free open source solutions. 

No comments:

Post a Comment