 So, students in this module we will discuss the common features in number of different NoSQL products. What makes a product a NoSQL? So, there are certain characteristics which we will be discussing in this module. So, here is the module coverage. So, NoSQL databases are what you see schema agnostic. They are schema agnostic and they are not normalized. Not normalized means that they are denormalized. I will discuss more about it. And of course, they work on commodity hardware. So, what is commodity hardware? Commodity hardware are inexpensive machines which don't cost a lot, but collectively they can process and they can store lots of data which an expensive machine can do. So, they are not very specific machines for specialized use. So, they are not expensive and NoSQL databases are highly distributable. It means that the processing is done over disparate servers which are displaced, which are located at other places and of course, there are many benefits for this. So, denormalization which I will go into more detail is undoing the normalization. So, if you go to the course CS614, there are lots and lots of details about denormalization. So, let's now go into more details about schema agnostic feature of the NoSQL. So, unlike the relational databases for NoSQL databases, you don't have to worry about the schema of the database. As a matter of fact, the schema is not required. So, you can just populate the database. Of course, the type of data is different, different as compared to the relational model. You populate the NoSQL database and then you tweak it and then you enhance it later. So, your work is not restricted by first designing a schema and then doing all sort of things. You can just start populating the NoSQL database. No schema at the read time. It means that when you write the query, of course, the query is different in the context of NoSQL. But when you write the query, then you need to know then you what should be doing. So, read to know means read time that at the time of retrieving the data, you need to know what the schema is. Before that, you don't need to know it. And as a benefit, it reduces the development time because if there are any changes in the database with reference to any change in the processing of the data or the process of the business, there is no detailed re architecting, which takes a lot of time, a lot of resources. And then of course, it is a hurdle. It reduces the processing and schema alteration can be done on the go without shutting down the database alteration can be done into the schema. So these are of course, there are some exceptions which are in the notes. So this is one aspect common feature of all NoSQL databases. Next, they are non-relational. Non-relational means that in the classical relational database model, we try to remove the duplication from the processes from the tables, duplication of the data, which results in low maintenance and high performance. But that is for a different type of application. When we say denormalize data storage, it means that the data will be replicated and this will be done by design. And the purpose is to get performance without, without doing the joints, we take a lot of time, okay, and the inter record relationships are not stored, okay. Now this is a flexibility. This is a flexible because if those relationships are stored, okay, that makes the system rigid. And when those relationships are separated, I run a query which looks across those relationships, then I need to perform a join and that join reduces the performance. Goal is not normalization. Some data is replicated. Not all the data is replicated. Some data is replicated when the benefit of data replication is obvious. When you replicate the data, then of course you don't have to go to this table and this table and left and right to get and collect the data. Multiple data views by denormalization multiple data views and it increases the storage space because you are replicating the data and you are making different views of the data which you have and these are denormalized views, denormalized views. And of course, the no SQL databases run on a distributed commodity hardware. Now this hardware instead of a large single server, okay, which has to process hundreds and thousands and maybe more Twitter tweets and Facebook posts, okay. You have the flexibility of working with commodity hardware, it's not very cheap, but of course it's cheaper than specialized hardware. So it costs like 10,000 US dollars and there are multiple search machines. And of course, when this data is replicated across those machines, then those machines can crash, they can burn, they can get out of the system, but the is which is called as graceful degradation of the application. It does not just shuts down. So these are some of the benefits or you can say the common things which are there in a no SQL database. That's all I have for this module.