Open main menu

CDOT Wiki β

Changes

User:Nprakashpanicker/FSOSS 13

1,115 bytes added, 17:22, 8 November 2013
no edit summary
While there are a number of NoSql databases out in the market currently, MongoDB is the leading Open-Source, NoSql database available. Kevin mentioned that MongoDb is the number 6 best database currently.
MongoDB is a document databasewritten in c++, which is '''fully horizontally scalable ''' and is very high performance. MongoDb has a flexible schema, which means that the collections are not bound in a fixed document. The collections in MongoDB are stored in documents called '''BSON or Binary JSON'''. The structure of a BSON document is same as a JSON document, which means that every collection in Mongo is enclosed in curly brackets just like a JSON document. When saying Mongo has a flexible schema it means that when a collection has, for example 4 fields, data with number of fields other than 4 can be added to the same collection. The collections are not schema bounds like relational databases. Being schema-less also means that, common fields in a document's collection can hold different types of data. For example, a field which is used for Name can hold characters, decimal values, integers etc. This does not work in relational databases because, in relational databases when a field is defined as a particular data type it can only hold values of that data type. This illustrates the flexibility of MongoDB.
MongoDB also has full support of '''primary and secondary indexing'''. Indexes support the efficient resolution of queries in MongoDB. Without indexes, MongoDB must scan every document in a collection to select those documents that match the query statement. Fundamentally, indexes in MongoDB are similar to indexes in other database systems. MongoDB defines indexes at the collection level and supports indexes on any field or sub-field of the documents in a MongoDB collection. MongoDB can use indexes to return documents sorted by the index key directly from the index without requiring an additional sort phase.  '''Sharding''' is another feature that Mongo supports. It is the process of storing data records across multiple machines and is MongoDB’s approach to meeting the demands of data growth. As the size of the data increases, a single machine may not be sufficient to store the data nor provide an acceptable read and write throughput. Sharding solves the problem with horizontal scaling. With sharding, you add more machines to support data growth and the demands of read and write operations. Kevin also spoke about '''Replication'''. A replica set in MongoDB is a group of mongod processes that maintain the same data set. Replica sets provide redundancy and high availability, and are the basis for all production deployments. Data can live across multiple boxes in multiple servers.  He then went to talk about installing MongoDB and how easy it was to set it up, he showed the installation process by demoing it to the audience. I already have mongodb installed and set up on my local computer so this part was bit of repetitive to me.
=== OpenCL ===