Database, NoSQL : SQL vs. NoSQL
Thank you so much for joining my presentation today. My topic is nosql concepts and evolution. Thats the umbrella topic and my project partners are marta coden and taylor white, and i will be going on going over later on what they will be discussing. So my specific topic is sql versus nosql. What are the differences and what is sql and what is nosql and ill also be going over the different types of nosql databases. So to begin, what is a database, so databases are used by organizations to store data, just like, as you may assume, in the past, data was stored on paper and written by hand, which would be very time consuming. There were a lot of mistakes and it was hard to go back to data that was required and find different things. So today everything is online on computers and the databases today provide an easier and more efficient way to store data than ever before so whats sql sql stands for structured query language, and this is a language that communicates with databases to pull the desired data from that Database using the language, so what is an sql database? An sql database uses the sql language to define and manipulate data. The sql database is relational and table based well go over later on more into the relational sql. Databases are better for multi row. Transactions such as the accounting systems, and they also require pre defined schemas and a very important characteristic – is that theyre vertically scalable, so to increase a load on a single server.
You would increase the cpu ram or ssd, which is like adding floors to a building. I will show a picture later on to help you visualize what vertical scaling really means. So, like i said, sql databases are relational, which means that the tables all relate to each other and rely on each other, so customers place orders, as you can see on this page and orders contain products, so the orders table relies on the customers. Table products rely on the orders and so on. So this is good for managing data, but its also hard to scale, which is why we will go on to nosql databases in a second but its good to remember that thats. A big reason why theyre hard to scale they also require a lot of memory and computing power, which is also a limitation. So this is a great visual, so you can kind of imagine what is a vertical scale scaling. So we have um its kind of if you imagine a building and were just adding levels so its getting higher and higher and at some point these relational databases, cant, handle the load of scaling vertically its only possible, to a certain extent, this vertical scaling and as You can see the horizontal scaling were adding if you imagine these are. Buildings were adding more buildings rather than adding stories to the building. So horizontal scaling is in fact more powerful. So no sql databases now sql stands for not only sql, which means it can do more than sql.
So nosql is more powerful. It processes large volumes of multi structured data, and it has the capability to work at the big data scale, which is unlike the relational databases such as sql and then a big factor. A big characteristic of the nosql database is that its horizontal horizontally scalable, like i mentioned before, so, if you imagine those buildings, you can add more servers to the database, which is like adding more buildings to the community, more powerful overall heres. Another image you can it can help you visualize what that really means in terms of scalability. This is a very, very important factor in sql and nosql. So, as you can see here in the vertical scalability were building up and theres, like i said theres only so much you can go up, whereas horizontal scalability, no sql can scale not only horizontally, add more buildings, but also vertically. So it has just a lot more capabilities to grow and be powerful. There are, however, some downsides to know: sql, nosql, trades, atomicity, consistency, isolation and durability, compliance for performance and scalability. So, in order to be a great performance and highly scalable, these are some of the things that lacks the acid a c id. Another downside is that many of these many of these databases lack mature management in monitoring tools. However, both of these downsize downsides are in the process of being overcome in the industry, so people are working on eliminating these downsides.
So here are some of the nosql databases available. Today we have hbase cassandra, mongodb kumulo, rio couch to be dynamodb, and these are some of the logos of these databases, so you can kind of get familiar with what they look like. There are also more now i will get into the difference between sql and osql. So i mentioned them separately and now to put them side by side, so you can get an overview of the difference. So, like i mentioned before, sql is a relational database, whereas nosql is non. Relational. Sql also uses the structured query, language sql and has a predefined schema, whereas nosql has dynamic schemas for unstructured data. Sql, as i mentioned before, is vertically scalable, whereas nosql is horizontally scalable and all these make a big difference in the uses of of these databases. For example, sql is data table based and nosql has different options. We have the document key value graph, key value. We have the graph and then we have the column stores which i will go over later on. Finally, sql is better for multi row transactions, whereas nosql is better for unstructured data like documents or json. Okay. These are the four types of nosql databases and ill be going over these. The first one is document databases. The second one is graph databases. The third one is key value stores and the fourth one is column, oriented databases. Now the first two document and graph databases.
My group partners, taylor white, will go over the document and marta coden will go over the graph databases in order to avoid overlap. I will not be discussing these further, however, if you want to learn more about the document and grab databases you should head on over to their presentation to learn more, so i will go over. The other two key value stores are the simplest way. Sorry, the simplest type of database, okay, so like a relational its like a relational database with only two columns which make it very simple. Every data element is stored as a key value pair, so kind of like as we used in tableau and how professor discussed the attribute name, which is the key, and then we have a value. So, as you can see in this image, the key, for example, is city which corresponds to the value grand forks. Then we have another key state which corresponds to north dakota. Then we have another attribute name, the key country which corresponds to usa and thats just kind of how it will look. The last thing i will be going over is the column oriented databases. This is a database management system which storms dat, which stores data by column. Rather than by row, so why do we use columns? Well, columns can be more precise and you can more precisely access the data to answer a query rather than scanning and discarding unwanted data in rows. So what does that mean in raw store when you access data? You get the entire row and if you dont need several parts of that data, then you get unnecessary information.
However, in the column store it, you get more precise, um information that you want and therefore you can eliminate the discarded unwanted you dont need you dont get the unwanted data, which is better for memory, data and overall, more effective and efficient. So, thank you so much for coming to my presentation. I hope i made that clear. If you have any questions, please feel free to email me and i will be happy to clarify anything in this video. Thank you.