 Welcome to the session on the SQL, NoSQL and NoSQL. In this session, we will be learning about all these one, talking about the learning outcomes of this session, you will be able to define NoSQL and compare and differentiate between all these three. Let us move ahead, here we are comparing SQL and NoSQL, what is exactly the difference and how we can compare these one. Now SQL, all of us are knowing that it is a relational database, whereas NoSQL, it is not supporting the relational database and it is basically used for distributed database. Now SQL is supporting the relational model, whereas NoSQL, it is totally a modelless approach. Here, no relational model is applied. In SQL, the predefined schemas are there, already we know the table schema, the format of it, the attributes and all that, whereas in NoSQL, there is not such a schema or any of the attributes, you can see. And SQL is as it is a schema based one, it is of the table based one where rows and columns are there, the data is stored in rows and columns, whereas in NoSQL, there is variety of the format, actually it is supporting the unstructured data, therefore it may support key value pairs are used for storing the data or document based storage is there, column oriented is there, graph based database is there. So these types already we have discussed in my earlier video. Now SQL, it is vertically scalable, why it is called as vertically scalable? Because as on the system resources we are incrementing or we are increasing that it is scaling, whereas the NoSQL, it is horizontally scalable, why? Because as on the cluster, the commodity machines are increasing, the processing power increases and the speed increases that will happen, so that is what therefore NoSQL is a horizontally scalable one. Now talking about what SQL is doing, obviously it is using SQL, whereas this NoSQL, it is totally supporting unstructured query language which is called as un-SQL, it is supporting unstructured query language. SQL is not at all supporting the large data sets, it may work on that but the speed of the execution matters, the size matters, the storage matters there, whereas in NoSQL it is specially preferred for the large data sets only. Now for NoSQL, it is best fit for all the hierarchical storage, why? Because it is supporting key value pair and all that, even it is supporting the JSON format also, so it is best fit for that one, whereas SQL it is not at all fitting for the hierarchical data construct, why? It is supporting the tabular data we can see. Obviously SQL is emphasizing all the asset properties whereas NoSQL, it is supporting the Briewell's theorem, CAP theorem, where only any two of them are available, okay? We cannot support all three things like consistency, availability and partition tolerance in a single one, okay? Any two of them are working according to the Briewell's theorem. Now SQL as it is totally a database management system, okay? It is totally, the support is from the vendors. As on the requirements are there, based on that the vendors can provide the things. Whereas in NoSQL, it is totally supporting the community things are coming in this one, okay? So it is heavily supported by the community. NoSQL, it is not have good support for complex querying, okay? Simple querying we are working on that, whereas SQL it is basically used for complex querying, okay? It is according to the needs, okay? The queries you can increase or you can, it can support all the types of complex queries, okay? It is strongly configured for strong consistency whereas for NoSQL, okay? Support is there for strong consistency in the type of MongoDB or somewhere. But others, those are eventually having the consistency there, okay? So that doesn't, that is a major thing here, that is like Cassandra, okay? It is eventually providing the consistency. So few examples of SQL are what the normal relational databases like Oracle, DB2, MySQL, PostgreSQL and all those. Whereas NoSQL, there are many, many more types are there like MongoDB is there, HBase is there, Cassandra is there, CouchDB is there, okay? Neo4j is there, everyone is having its own different format there for storing the data as it is supporting the unstructured part. What is this NoSQL? We have just seen the difference between SQL and NoSQL, that how they are supporting and all. But talking about the NoSQL, what exactly this NoSQL is? It is you can say the combination of SQL and NoSQL, okay? It is a new approach where both possible words like the modern programming language as well as which one is not available earlier, okay? And but it is combining ACID also, ACID properties also which are there in the SQL, okay? It is providing the scalability, it is providing the high performance, okay? The combination of that one, we you can say, okay? What it is combining? It is combining ACID properties as well as providing the high performance like NoSQL. So, it is having the scalable performance of NoSQL and also support ACID property of traditional databases. So, you can say that new SQL is a combination of these two. Pause the video and think about what exactly this new SQL is, then how we can manage it? Because as we are saying that it's a combination of SQL and NoSQL, okay? How it is working? Basically, we know that it is supporting the programming language, the proper programming, query programming language, as well as it is supporting the facilities of NoSQL. Talking about the characteristics of new SQL, SQL interface is for application interaction, okay? It is using the SQL like interface for application interaction because SQL like interaction is interfaces used by many of the RDBMS management systems. It is supporting ACID properties, okay? For any kind of transactions, then as on the nodes are increasing, the performance is increasing for the RDBMS solution. Because usually we know that RDBMS solutions are not having that much performance based one as on the data increases, okay? As it is vertically scalable, okay? But this architecture is providing higher per node performance with regard to the RDBMS one generally. And it is totally based on the share nothing architecture, so it is scaling out based on the share nothing architecture. Concurrency control mechanism, it is totally supporting non-locking concurrency control mechanism. So whatever the real time reads are there, those are not conflicting with the rights. Why? Because it is supporting non-locking concurrency control. In this one. Now, here we will see the comparison of SQL, no SQL and new SQL. Few characteristics we have defined here, like adherence to ACID properties, OLTPO labs, scalability, distributed computing, adherence to data model, schema rigidity and community support. Let us see one by one all these one that how, where SQL is supporting, where no SQL is there and where new SQL is there. So adherence to ACID properties, SQL is supporting that all of us are knowing that it is supporting and new SQL is also supporting. Whereas, no SQL is not supporting ACID property because it is supporting CAP Theorem, BVS Theorem. OLTP and online analysis processing, these one are supported by SQL as well as new SQL whereas, no SQL is not supporting OLAP or OLTP. Talking about the scalability, for scalability, scaling out is there. Horizontal scaling is proposed by no SQL and new SQL. Whereas, SQL is supporting vertical scaling. Why? Because horizontal scaling is applied to both no SQL as well as new SQL. So, commodity hardware, commodity support is also available in this one. And distributed computing, yes, all of these three are supporting distributed computing. But highly, the proper distributed computing is used by no SQL. And later on, new SQL and then SQL. The data model, talking about the adherence to data model, it is totally relational model, database model in SQL. Whereas, no SQL is not supporting any kind of data model, okay? It is not supporting that whereas, new SQL, it is supporting the data model, okay? We cannot say directly the relational model, but it is supporting the data model. Why it is a combination of SQL and no SQL? Talking about the schema rigidity, in SQL, yes, it is rigid because we know that the schema-oriented data is there, okay? Rows and columns, in rows and columns, the data is available in this one. The data is stored. Therefore, the rigidity is available for SQL. Whereas, for no SQL, there is no such rigidity because it is not supporting schema-oriented data, okay? New SQL, we may say, it is providing rigidity in this one for schema, okay, or it is not providing because it depends upon, as it is a combination of both, it depends upon the type of schema we are using in this one. For community software or support, you can say that SQL is having a huge support because it is providing the vendor support also in this one. Whereas, in no SQL, the community support is growing day by day. And for new SQL, it is slowly growing. So, these are few, you can say, the comparisons of this one. So, in this video, we have learned the new thing as new SQL and then we have compared SQL, no SQL, as well as, finally, we have seen the comparison of all these three. So, this is all about this video. These are my references. Thank you.