Botnik - The Intent Network
Botnik app is kind of an intent network where you just tell the botnik what you wanted and have it figure out how to get it. Botnik does the shouting, connecting and analyzing for you.
MongoDB is designed to be Schema Free that is your code defines the schema. It provides complete freedom to change the data store scheme on the fly by introducing a new field which is quite different from traditional RDBMS, where we had to Alter table which was a very heavy and costly operation.
When selecting MongoDB, there are number of factors that we analyze before selecting a document driven database and Sharding if one of them. Sharding is a simple concept to add a new machine when data operations are creating a bottleneck in terms of I/O for the server. As the need for more space and performance grows, just by adding another Shard using simple steps and configurations it allows us to spread data across machines for better through put.
In most of the cases customers usually don’t have that much data or I/O requirements. But for customers looking for fast data storage using geolocation, realtime messaging, augmented reality, closer-to-realtime-satellite imagery and other meshups, GoodCore preferred choice has been MongoDB.
Using the conventional RDBMS, storing files usually required saving it on a file system and keeping the path reference inside the Database columns. That requires separate data storage on the file disk and in most cases all that data needs to be backed up, asking for more disk space on the server.
MongoDB was designed to store files in Database using GridFS. This is an excellent feature since MongoDB has replication and sharding. Running out of space and all we need to do is create another shard instance with out any downtime.
Easy Data Access
MongoDB has one of the easiest syntax to access data stored in Database. All data is stored in JSON format. So incase you are using a Web server like Node.js, saving data in MongoDB works like a breeze. GoodCore has used the combination well to create fast real time web applications interacting with mobile clients such as BotNik.