Version Controlling & NoSQL

Version Controlling

Chathuranga Dissanayake
3 min readMar 14, 2022

The method of recording and controlling changes to software code is known as version control, sometimes known as source control. Version control systems are software tools that enable software development teams in managing source code changes over time. As a result, one person’s temporary or partial alterations do not interfere with the work of another.

Version control also allows one person to work on a project from various computers, so it’s useful even if you’re working alone.

Version control brings together work done by different team members at the same time.

In most scenarios, you can mix adjustments to several files or even the same file without losing any work. When two persons make contradictory updates to the same line of a file, the version control system will occasionally ask for human help in choosing what to do.

Version control allows you to see previous versions of your project. This is protection against computer failure or data loss. You can go back to a prior version if you make a mistake. A bug report from a previous version of your software can be reproduced and understood. You can also go back and undo particular edits without losing the work done previously.

NoSQL

NoSQL is an approach to database design that enables the storage and querying of data outside the traditional structures found in relational databases, so basically, NoSQL databases are databases that don’t use relational tables to store data.

There are four major types of NoSQL types: key-value store, document store, column-oriented database, and graph.

· Document databases, like JSON objects, store data in documents. Each document has a set of field and value pairs. Strings, numbers, Booleans, arrays, and objects are some of the most common forms of values.

Ex: MongoDB

· Key-value databases are a simpler sort of database that has keys and values for each item.

Ex: Redis, Riak, Memcached.

· Wide-column stores Tables, rows, and dynamic columns.

Ex: Cassandra

· Graph, stores entities (nodes) and relationships (edges). Edges contain information about the relationships between nodes, while nodes store information about objects.

Ex: Neo4j

MongoDB

MongoDB is an open-source document-oriented database that is the most popular NoSQL database. ‘NoSQL’ stands for ‘non-relational’. It indicates that MongoDB isn’t built on the table-like structure of relational databases, but instead uses a completely different technique for data store and retrieval. The data storing format is similar to the JSON format.

MongoDB document Structure

MongoDB has the following features:

· Document Oriented — MongoDB maintains the core subject in the smallest number of documents possible, rather than dividing it up into various relational structures as RDBMS does. For example, it keeps all of a computer’s information in an one document called Computer, rather than in separate relational structures like CPU, RAM, and Hard disk.

· Scalability of MongoDB allows it to scale horizontally.

· Indexing — If there is no indexing a database would have to sift through every document in a collection to find the ones that match the query, which would be inefficient. As a result, indexing is required for efficient searching, and MongoDB utilizes it to analyze large volumes of data in a short amount of time.

· Duplication of information — MongoDB may be distributed across several servers. The data is duplicated in order to keep the system up and running in the event of hardware failure.

· Load balancing — Because data is stored in shards, it has an automatic load balancing setting.

--

--

Chathuranga Dissanayake

Software Engineering undergraduate at Sri Lanka Institute of Information Technology | Tech Lover