My father is always hesitant when making expensive transactions online. He is always afraid that the machine will make a mistake. Just imagine that you transfer all your financial assets from one account to another and, due to some data error, is transferred to someone else's account. But nevertheless, no dudo ni un segundo en realizar cualquier tipo de transactionThe "transaction" refers to the process by which an exchange of goods takes place, services or money between two or more parties. This concept is fundamental in the economic and legal field, since it involves mutual agreement and consideration of specific terms. Transactions can be formal, as contracts, or informal, and are essential for the functioning of markets and businesses.... online. What has made such a big difference in our perceptions? Probably the reason is the high precision in such transactions that I have witnessed since my early age. What makes these myriad transactions carried out in banks, with airlines, with e-commerce are as accurate?
To a large degree, this is due to RDBMS, that strictly adheres to ACID principles (atomicidad, consistency, insulation and durability). But over time due to the high pressure of growing data, we have started using NoSQL databases. NoSQL eliminates the need for a schema, Thus, empuja la capacidad de manejo de datos por un gran marginMargin is a term used in a variety of contexts, such as accounting, Economics and printing. In accounting, refers to the difference between revenue and costs, which allows the profitability of a business to be evaluated. In the publishing field, The margin is the white space around the text on a page, that makes it easy to read and provides an aesthetic presentation. Its correct management is essential.. al comprometer el ACID. But nevertheless, with precise support applications implemented, NoSQL provides a good combination of high data handling capabilities with good precision. In this article we will discuss popular NoSQL databases.
Image Credit: http://www.tomsitpro.com
NoSQL full form?
NoSQL doesn't actually have a complete form or even a real meaning. The term was accidentally coined at an event by Johan Oskarsson to discuss the open source distributed network.. The "#NoSQL" was just a Twitter hash tag to host this meeting. Later, algunas personas de la databaseA database is an organized set of information that allows you to store, Manage and retrieve data efficiently. Used in various applications, from enterprise systems to online platforms, Databases can be relational or non-relational. Proper design is critical to optimizing performance and ensuring information integrity, thus facilitating informed decision-making in different contexts.... en esta reunión encontraron este hashtag apropiado para nombrar estas bases de datos no relacionales. We don't really have a strict definition for NoSQL. But nevertheless, Here are some common features of NoSQL databases:
1. They are not relational
2. Mainly open source
3. All are suitable for clusters
4. They are less schemes
5. They emerged from the web world of the 21st century.
But nevertheless, we often refer to NoSQL as schemaless, this does not mean that these databases do not adhere to any kind of schema. For instance, consider the following NoSQL expression:
Tab1[“Revenue” ] * Tab1[“Total count”]
NoSQL has an implicit schema, which may not be constant throughout the database. Such a thing is both a blessing and a curse. The basic thing is that every time we want to modify a field we need to understand this implicit scheme. The good thing is that with a changing scheme, much less effort is required to add this database compared to RDBMS. What's more, RDBMS is not great with a distributed network, what is not the case with NoSQL.
NoSQL database types
But nevertheless, in the literature NoSQL has been divided into 4 main types, I found a very interesting way suggested by Martin Fowler to categorize NoSQL. Based on the way NoSQL stores data, It is mainly of two types:
1. Added database
2. Graph-based database
The main difference between the two is that in the aggregate type, the database tries to store all the information for a particular id (it can be a person, a transaction or a product, etc.) as a single object. While the chart type follows the exact opposite philosophy. The graphical database tries to cut the data into very granular information and stores it with all shared relationships or edges. We will discuss the added databases, that are more common today, in this article.
Aggregate databases
Let's take an example to understand this aggregate database concept. Here's what an article on analyticsvidhya looks like:
If we were using RDBMS to store our data for DataPeaker, we would have created relational tables. One can be for information related to the author, another may be about the information related to the article and yet another may correspond to each category. But when we open an article, we need all this information together. Therefore, we are more interested in aggregate information than in such granular information. But nevertheless, granular information could have given me a better scope of analysis, so you might be more interested in minimizing the loading time of the web page. Therefore, we need a database in which all this information is stored in one place. This can be called aggregate-oriented databases.
Key value databases / Document databases :
Key value databases and document databases are very similar. You can think of document databases as a nested form of key value databases. Then, a simple key-value database is displayed:

Image Credit: http://nosql.rishabhagrawal.com
Now, if I want to get information on an Ipod from 16 GB, I just need to provide the KET “13a2” to the database. Here's what a document database will look like:

Keep in mind that in each document we have aggregated information about that identification. Link this with our analyticsvidhya example. In our case, we will have all the author's name, title name, etc. as key-value pairs in each document. Now I can extract the whole document at once, since it is stored in the same object.
Column-oriented databases :
Suppose you have an RDBMS order table with 1 million rows and 100 columns. Now you want to extract all the names of customers with orders of more than $ 500. Basically, need a command in only two columns, but to make this query, you will essentially have to navigate the 100 columns. Column-oriented databases provide a solution to this problem. A detailed discussion of this type of database is beyond the scope of this article., but what you need to understand is just the underlying concept. Here is a simple example of a row and column oriented database:

Image Credit: www.timestored.com
Column-oriented database stores each column in a separate location, which allows us to reach only those columns that are necessary for us. This makes queries much faster in search and filtering operations.
Final notes
NoSQL databases are pushing our limits for storing and analyzing data. With such structures without schema, they also allow us to change variables / attributes at any time. They are exceptionally fast to run queries on these aggregate entities. But nevertheless, this statement comes with a title that in case the operation should not be done at the aggregate level of the table, becomes more complicated compared to RDBMS. For instance, if we have data stored for each order in aggregate NoSQL database. Any inquiries regarding these Order IDs will be exceptionally quick. But in case you need information at the customer or product level, these tables may not be very efficient. For such processes, necesitará escribir consultas de MapReduceMapReduce is a programming model designed to efficiently process and generate large data sets. Powered by Google, This approach breaks down work into smaller tasks, which are distributed among multiple nodes in a cluster. Each node processes its part and then the results are combined. This method allows you to scale applications and handle massive volumes of information, being fundamental in the world of Big Data..... Therefore, it all depends on the type of use as to which database suits you best.
Was the article helpful to you? Share with us your experiences with different types of NoSQL databases. Let us know your thoughts on this item in the box below..


