@unpublished{upm48941, year = {2017}, month = {July}, author = {Jos{\'e} Miguel Rojas Gonzales}, address = {Madrid}, title = {An{\'a}lisis comparativo de bases de datos relacionales y no relacionales}, url = {https://oa.upm.es/48941/}, abstract = {RESUMEN Los sistemas de gesti{\'o}n de bases de datos relacionales han sido la tecnolog{\'i}a predominante para almacenar datos estructurados en aplicaciones web y de negocio. Estos son ampliamente conocidos como bases de datos SQL. Sin embargo, en los {\'u}ltimos a{\~n}os, las bases de datos no relacionales han aumentado dr{\'a}sticamente en popularidad. Estas bases de datos se conocen com{\'u}nmente como bases de datos NoSQL, las cu{\'a}les son claramente diferentes a las bases de datos SQL. Con el aumento de la accesibilidad de Internet y la disponibilidad de almacenamiento barato, una gran cantidad de datos estructurados, semiestructurados y no estructurados son capturados y almacenados para diversas aplicaciones. Estos datos se denominan com{\'u}nmente Big Data. El procesamiento de esta gran cantidad de datos requiere esquemas de velocidad, que sean flexibles y distribuidos. Debido a las limitaciones que tienen las bases de datos relacionales, en muchos casos las bases de datos NoSQL se han convertido en las bases de datos preferidas para satisfacer estos requisitos. El gran n{\'u}mero de bases de datos NoSQL que hay en la actualidad conduce al cliente a un mont{\'o}n de preguntas sobre las diferencias entre cada una de ellas y si cumplen con los requisitos que este necesita para el almacenamiento de sus datos. El objetivo de este trabajo de fin de grado es realizar un estudio de dos de las principales bases de datos NoSQL, MongoDB y Cassandra y comparar el rendimiento y el funcionamiento de estas con dos de las bases de datos SQL m{\'a}s utilizadas en la actualidad, Oracle Database y MySQL. Para ello se analizar{\'a} la arquitectura, el modelo de almacenamiento, las operaciones que se realizan en estas bases de datos, para determinar qu{\'e} beneficios o soluciones aporta cuando se decide utilizar alguna de estas bases de datos para almacenar nuestros datos. Se realizar{\'a} un caso de pruebas en el que se comparar{\'a} el rendimiento de las cuatro bases de datos dependiendo de los tipos de datos que se quiere almacenar y la forma en la que se representar{\'a}n. Todas estas pruebas se realizar{\'a}n en un Sistema Ubuntu y se utilizar{\'a} el compilador Eclipse para realizar la medici{\'o}n de las queries. ABSTRACT Relational database management systems have been the predominant technology to store structured data in web and business applications. These are widely known as SQL databases. However, in recent years, non-relational databases have risen dramatically in popularity. These databases are commonly referred to as NoSQL databases, which are clearly different from SQL databases. With the increase in Internet accessibility and the availability of cheap storage, a lot of structured, semi-structured and unstructured data is captured and stored for many applications. These data are commonly referred to as Big Data. Processing this large amount of data requires speed schemes, which are flexible and distributed. Due to the limitations of relational databases, in many cases NoSQL databases have become the preferred databases to meet these requirements. The large number of NoSQL databases that currently exist leads the customer to a lot of questions about the differences between each of them and if they meet the requirements that this needs for the storage of their data. The goal of this end-of-degree paper is to conduct a study of two of the most important NoSQL databases, MongoDB and Cassandra and compare their performance and function with two of the most commonly used SQL databases, Oracle Database and MySQL. For that reason, the architecture, the storage model and the operations in these databases will be analyzed to determine what benefits or solutions they provide when deciding to use one of these databases to store our data. A test case will be performed to compare the performance of the four databases depending on the types of data to be stored and the way in which they will be represented. All these tests will be performed on an Ubuntu System and the Eclipse compiler will be used to perform the queries measurement.} }