Diferencias entre las bases de datos relacionales y no relacionales PDF

Title Diferencias entre las bases de datos relacionales y no relacionales
Course Taller de programacion
Institution Universidad Tecnológica del Perú
Pages 10
File Size 420.8 KB
File Type PDF
Total Downloads 7
Total Views 144

Summary

Trabajo grupal...


Description

Universidad Tecnológica del Perú

“Diferencia entre las Bases de Datos Relacionales y No Relacionales” CURSO Taller de Programación DOCENTE Ing. Sánchez Guevara, Omar Antonio INTEGRANTES Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx Xxxxxxxxxx xxxxxxxxxx

Chiclayo 2021

Taller de programación

INDICE INTRODUCCIÓN............................................................................................................................2 1.

TIPOS DE BASES DE DATOS...................................................................................................2

1.1.

¿QUÉ ES UNA BASE DE DATOS SQL?.................................................................................2

1.1.1.

VENTAJAS......................................................................................................................3

1.1.2.

DESVENTAJAS................................................................................................................4

1.2.

¿QUÉ ES UNA BASE DE DATOS NOSQL?............................................................................4

1.2.1.

VENTAJAS......................................................................................................................5

1.2.2.

DESVENTAJAS................................................................................................................6

2.

DIFERENCIAS ENTRE SQL Y NOSQL.......................................................................................6

CONCLUSIONES............................................................................................................................8 RECOMENDACIONES....................................................................................................................8 REFERENCIAS BIBLIOGRAFICAS....................................................................................................9 ANEXOS......................................................................................................................................10

1

Taller de programación

INTRODUCCIÓN El propósito de este informe es dar a conocer sobre, las principales diferencias entre las bases de datos SQL y NoSQL. Actualmente, esto se ha convertido en una necesidad para cualquier software. Los usamos todos los días, ya sea en el ámbito profesional, educativo o comercial. Estos están diseñados para satisfacer características y necesidades específicas, por ende, es necesario saber la diferencia entre las Bases de datos relacionales (SQL) y no relacionales (NoSQL). A continuación, explicaremos estos temas con mayor profundidad.

1.

TIPOS DE BASES DE DATOS

1.1.¿QUÉ ES UNA BASE DE DATOS SQL? Las siglas en inglés SQL se refieren al Lenguaje de Consulta Estructurado, este es un tipo de lenguaje de programación, el cual, ayuda a dar solución a problemas relacionados con la definición, manipulación e integridad de la información que se presenta por ciertos datos almacenados en las bases de datos; éstas han llegado a ser utilizadas por muchos sitios webs populares, como Wikipedia, Google (no búsquedas), Facebook, Twitter, Flickr y YouTube. Este es un modelo que a menudo se enseña en las universidades y que es ampliamente utilizado por sistemas de gestión de contenido populares como WordPress. Este tipo de base de datos nació en la década de 1970 como una solución de almacenamiento de información basada en esquemas que permite mostrar información en forma de tablas, columnas y filas. Estos son los administradores de bases de datos relacionales más populares y más utilizados: 

DB2



Microsoft SQL Server



MySQL



Oracle



PostgreSQL

La integridad de los datos es un factor extremadamente importante al momento de diseñar una base de datos de tipo relacional. Los sistemas RDBMS (Relational Data Base Management System) se rigen por el principio ACID

2

Taller de programación

Atomicity: Cuando se realiza una operación sobre datos, debe ser absoluta, lo que significa que todos los pasos deben realizarse en una sola operación, o no se debe realizar ninguna operación. Consistency: Cualquier operación realizada en la base de datos debe cambiarla de un estado válido a otro, todos los datos deben ser consistentes, por ejemplo, en tipos (cadena, número, boolean). Isolation: Ninguna actividad puede ni debe afectar a otras. Durability: Todas las operaciones realizadas en la base de datos deben ser continuas después de la ejecución, incluso si ocurre un bloqueo inesperado del sistema, los datos deben almacenarse en su último estado conocido

1.1.1.

VENTAJAS



Atomicidad de la información.



Cualquier base de datos relacional debe seguir las pautas de ACID para que los datos sean confiables.



Documentación muy extensa y una comunidad bastante activa. Cualquier duda puede ser resuelta con un poco de investigación.



Los estándares SQL están bien definidos y son ampliamente aceptados.



Más soporte.



Tiene herramientas para evitar la duplicación de registros, para garantizar la integridad referencial.



Posee un sistema estándar bien definido (SQL) está disponible para todas las operaciones de la base de datos, como inserciones, actualizaciones o consultas.

1.1.2.

DESVENTAJAS



Cambios en la estructura.



Complejidad en la instalación.



Dificultades de crecimiento.



La atomicidad de las operaciones juega un papel importante en el rendimiento de la base de datos.



La escalabilidad, aunque probada en muchos entornos de producción, tiende a ser menor que las bases de datos NoSQL en general.

3

Taller de programación

1.2.¿QUÉ ES UNA BASE DE DATOS NOSQL? Las bases de datos NoSQL están diseñadas específicamente para tipos de datos específicos y tienen esquemas maleables para implementar nuevas aplicaciones. Estas bases de datos se valoran por su viabilidad de desarrollo, funcionalidad y rendimiento, incluidos los recursos que promueven distinciones notables entre las bases de datos y su uso. Sin embargo, la diferencia entre estas dos bases de datos radica en su concepto y uso, ya que tratan situaciones que se excluyen mutuamente. Contrariamente a la creencia popular, este tipo de base de datos no es un reemplazo de una base de datos relacional, sino un reemplazo que ha surgido para satisfacer las necesidades de aplicaciones cada vez más complejas y actualizadas. La principal diferencia entre este tipo de base de datos y una base de datos relacional es que no necesitamos dedicar demasiado tiempo a diseñar una estructura porque podemos almacenar datos no estructurados y manipularlos libremente. Dentro de las bases de datos no relacionales también existen diferentes tipos, cada uno con un propósito diferente. Almacenamiento tipo llave-valor: Son sistemas simples que te permiten obtener el valor asociado a una clave conocida; por ejemplo, Amazon Dynamo DB o Redis. Se prefiere este tipo de almacenamiento cuando los datos no son demasiado complejos y la velocidad de consulta es un factor importante. Almacenamiento Wide Column: Esta solución está diseñada para ser altamente escalable y gestionar de forma transparente grandes cantidades de datos (petabytes). Este sistema utiliza una variante de SQL llamada CQL para definir y manipular datos, lo que lo hace familiar hasta cierto punto con los sistemas relacionales. Almacenamiento de documentos: Estos son sistemas sin esquema el más popular de los cuales es MongoDB, su popularidad radica en el hecho de que los dos stacks más famosos y entre ellos, ya lo he dicho, MERN y MEAN usan el sistema para el desarrollo del backend. Los registros individuales no requieren una estructura uniforme, pueden contener muchos tipos diferentes de valores y se pueden anidar. Esta flexibilidad los hace especialmente adecuados para la gestión de datos semiestructurados en sistemas distribuidos. Grafos: Almacena datos como una estructura de red con nodos u objetos interconectados para facilitar la visualización y el análisis de datos en tiempo real. La próxima vez que inicie sesión en Facebook, piense en su lista de amigos como una cuadrícula de gráficos que a su vez contienen otras redes.

4

Taller de programación

1.2.1.

VENTAJAS

 Apoyan el crecimiento horizontal, es decir, al admitir texturas distribuidas, se pueden instalar nuevos nodos activos para equilibrar las cargas de trabajo. Es más fácil de escalar debido a esta escala horizontal.  Fáciles de respaldar, basta con hacer una copia del archivo.  La base de datos NoSQL de código abierto no requiere tarifas de licencia y no requiere un hardware muy potente para funcionar.  Los datos pueden adaptarse a otro tipo de sistema de manera sumamente sencilla ya que no presentan un esquema definido.  Optimiza las consultas de la base de datos para grandes cantidades de datos.  Realizan consultas utilizando JSON (JavaScript Object Notation, formato sencillo de intercambio de texto).  Son bases de datos de uso general que le permiten agregar información o realizar cambios en el sistema sin agregar configuración adicional.  Tolerantes al fallo.

1.2.2. 

DESVENTAJAS

Software poco documentado: al ser un software relativamente nuevo, NoSQL puede tener operaciones limitadas debido a la falta de información sobre las herramientas y su funcionalidad. Esto puede resultar en importantes inversiones de tiempo y dinero para aquellos que no tienen un conocimiento profundo de la industria.



Baja estandarización: No existen criterios completamente definidos entre las herramientas utilizadas en este tipo de base de datos. Los idiomas tienden a variar según el tipo de base de datos utilizada.



Herramientas GUI: La mayoría de las bases de datos NoSQL no contienen una GUI para admitir la herramienta. Se requieren conocimientos especiales para poder realizar algunos de ellos, lo cual es muy limitado para aquellos que son nuevos en este mundo.



Atomicidad: Algunas de estas bases de datos no integran la característica de atomicidad de la información. Esto puede causar inconsistencias en la información entre nodos, lo que puede crear problemas en el análisis de criterios.

5

Taller de programación

2.

DIFERENCIAS ENTRE SQL Y NOSQL

Para ilustrar una de las diferencias entre las bases de datos SQL y NOSQL, tomaremos un ejemplo. Imagina por un momento la ciudad de Chiclayo (Perú), donde todos hablan el mismo idioma. Por lo tanto, es la única forma que tienen todos los residentes de socializar e interactuar. Si se cambia este idioma, todos los residentes resultan heridos. Por lo tanto, las bases de datos relacionales utilizan lenguajes de consulta estructurados para manipular datos, que se componen de filas, columnas y registros y se almacenan en tablas. Para manejar datos en SQL, primero debe determinar la estructura de estos datos, si se modifica la estructura de un dato, esto puede bloquear todo el sistema, porque las tablas están vinculadas entre sí. A continuación, se explicarán las diferencias puntuales de las dos bases de datos.

SQL

NoSQL

Permite compaginar eficientemente tablas No

permite compaginar

eficientemente

diferentes para así poder sacar información

tablas diferentes o nos limita realizar la

con relación. Facilita repartir

acción. Permite

las

bases

de

datos

repartir

vastas

cantidades

de

relacionales Permite administrar datos adjuntos con

información. No existe esas utilidades.

relaciones auténticas entre sí. El escalar es complicado

No existen inconvenientes en un escalado horizontal, debido a su capacidad de repartición.

Anexo 1 Tipos de bases de datos

6

Taller de programación

Anexo 2 Ejemplos de NoSQL y SQL

CONCLUSIONES En conclusión, la diferencia entre una base de datos relacionales y no relacionales son muy diferentes, pero a la vez muy útiles, pero por razones y casos de uso contrastantes. Uno no es necesariamente mejor que el otro y tanto las bases de datos relacionales como las no relacionales tienen su lugar. Si trabaja con datos bien estructurados, más o menos constantes, una base de datos SQL será una mejor opción. Mantiene su información organizada y le ahorrará espacio de almacenamiento. Sin embargo, si tiene que manejar varios tipos de datos, tiene que adecuarse para las actualizaciones y el mantenimiento desafiantes de la base de datos. Además, es una opción ideal para organizaciones de alto nivel y seguridad confiable. De lo contrario, puede decidir utilizar una base de datos NoSQL, que almacena todos los datos disponibles como archivos. Sí, está menos estructurado, pero se necesita mucho menos tiempo para crear y mantener una base de datos de este tipo. No tiene que pensar en cómo configurar conexiones entre diferentes tablas o dividir los datos no estructurados para que se ajusten a filas y columnas.

RECOMENDACIONES De acuerdo con lo investigado en el presente trabajo dejaremos algunas recomendaciones para el uso de las bases de datos relacionales (SQL) y no relacionales (NoSQL):  Estar atento, auditar y registrar las acciones y movimientos sobre los datos permite saber quién, qué, cuándo y cómo ha manipulado la información.

 Investiga sobre el estándar para nombrar las tablas.

7

Taller de programación

 La base de datos debe estar en un servidor que no tenga acceso directamente desde internet, esto para que no quede expuesta a ciertos peligros.

 Limita el acceso a la base de datos: Un riguroso control de acceso permite mantener a los atacantes lejos de tu información, también se puede limitar el uso de los procedimientos importantes para que solo accedan usuarios autorizados.

 Optimizar los índices, ya que tener una buena relación de índices entre tablas es básico para las búsquedas relacionales funcionen correctamente. Se deben agregar índices a las tablas y, sobre ellas, utiliza las sentencias de consulta.

 Cifrar la información, se puede utilizar algoritmos fuertes para cifrar los datos.

REFERENCIAS BIBLIOGRAFICAS A. (2020). Cinco recomendaciones para optimizar la base de datos de nuestra página web. Blog de arsys.es. Recuperado de https://www.arsys.es/blog/programacion/optimizar-base-de-datos/ Bases de datos en AWS: la herramienta correcta para el trabajo adecuado. (2018). Amazon Web Services, Inc. Recuperado de https://aws.amazon.com/es/nosql/ Herrera, H. A.; Rueda, C. (2015). https://revistas.udistrital.edu.co/index.php/tia/article/view/8649/pdf. NoSQL, la nueva tendencia en el manejo de datos, 3(2), [147-150] L. (2021). Base de datos: SQL y NoSQL. ILIMIT. Recuperado de https://www.ilimit.com/blog/base-de-datos-sql-nosql/

8

Taller de programación

Pollo Cattaneo, M. F., López Nocera, M., & Daián Rottoli, G. (2015). Rendimiento de tecnologías NoSQL sobre cantidades masivas de datos. Cuaderno Activa, 6(1), 11–17. Recuperado de https://ojs.tdea.edu.co/index.php/cuadernoactiva/article/view/197 Ramos, P. (2018). Qué es y para qué sirve SQL. Styde.net. Recuperado de https://styde.net/que-es-y-para-que-sirve-sql/ Team, P. F. (2021). NoSQL vs SQL; principales diferencias y cuándo elegir cada una de ellas. Pandora FMS - The Monitoring Blog. Recuperado de https://pandorafms.com/blog/es/nosql-vs-sql-diferencias-y-cuando-elegir-cadauna/ Vergara, A. (2016, 26 julio). SQL vs NoSQL ¿Cuál debo usar? Tech blog for developers | Facilcloud. Recuperado de https://www.facilcloud.com/noticias/sql-vs-nosqlwhich-one-should-i-use/#:%7E:text=Diferencias%3A,distribuir%20bases%20de %20datos%20relacionales.

ANEXOS Anexo 1 Tipos de bases de datos ................................................................................................7 Anexo 2 Ejemplos de SQL y NoSQ...............................................................................................6

9...


Similar Free PDFs