BSD Vent y Desv

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 4

BSD, REL VS NOREL VENT DESDV

Es muy común entre desarrolladores de aplicaciones encontrarse en una situación de tener que
elegir si se va a usar una base de datos relacional o no relacional. La mayoría no se lo piensa
demasiado y opta por la opción que más conocen y con la que más cómodos trabajan. Tampoco es
una decisión catastrófica; en realidad, ya sea la base de datos relacional o no, se puede construir
cualquier cosa.

Vale, entonces, ¿por qué es importante saber en qué se diferencian y cuál deberíamos usar en
cada caso? Pues porque un buen diseño de base de datos con la tecnología apropiada
indudablemente aporta calidad al proyecto. Dependiendo de la naturaleza de la aplicación,
interesa que la base de datos tenga unas características u otras.

Bases de datos relacionales

El principio de las bases de datos relacionales se basa en la organización de la información en


trozos pequeños, que se relacionan entre ellos mediante la relación de identificadores.

En el ámbito informático se habla mucho de ACID, cuyas siglas vienen de las palabras en inglés:
atomicidad, consistencia, aislamiento y durabilidad. Son propiedades que las bases de datos
relacionales aportan a los sistemas y les permiten ser más robustos y menos vulnerables ante
fallos.

La base de datos relacional más usada y conocida es MySQL junto con Oracle, seguida por SQL
Server y PostgreSQL, entre otras.

Bases de datos no relacionales

Como su propio nombre indica, las bases de datos no relacionales son las que, a diferencia de las
relacionales, no tienen un identificador que sirva de relación entre un conjunto de datos y otros.
Como veremos, la información se organiza normalmente mediante documentos y es muy útil
cuando no tenemos un esquema exacto de lo que se va a almacenar.

La indiscutible reina del reciente éxito de las bases de datos no relacionales es MongoDB seguida
por Redis, Elasticsearch y Cassandra.
Ventajas y Desventajas de SQL:

Ventajas:

Madurez: Dado que tiene ya muchos años de madurez y aceptación por la comunidad de
desarrolladores existe una gran variedad y cantidad de información para poder realizar cualquier
tipo de desarrollo o extracción de información, lo cual esto ayuda increíblemente en la mejora de
tiempos de entrega de cualquier proyecto de software.

Atomicidad: En las operaciones e información, esto quiere decir que cualquier operación realizada
en la base de datos, garantiza que si a la mitad de cualquier operación de base de datos, surgió
algún tipo de problema, la información no se completa, o se realiza al 100% o no se realiza nada.

Estándares bien definidos: Por ejemplo, la creación de tablas, el insertar, eliminar y actualizar
información, consultas, se escriben bajo la misma sintaxis, basados en el estándar de SQL.

Sencillez en la escritura: Su principal aceptación, es su sencillez de escritura ya que se asemeja


mucho al lenguaje humano, la comprensión de las operaciones que se programen puede ser
interpretadas o escritas por personas que no tengan grandes conocimientos de informática.

Desventajas:

Crecimiento: Cuando estas bases de datos tienden a crecer demasiado en el almacenamiento y el


mantenimiento es sumamente difícil y costoso, suelen presentar fallas en tiempo de respuesta.

Cambios en la estructura: En muchas ocasiones, los negocios necesitan realizar cambios, tanto en
sus operaciones como en los sistemas de informática, entonces la base de datos puede verse
afectada a cambios, si el diagrama de Entidad Relación no lo soporta, entonces esto implica, tener
que realizar una modificación en la estructura de la base de datos y posiblemente, detener el
sistema por un tiempo moderado hasta terminar el proceso, esto puede requerir mucho tiempo
en el sistema y tal vez conocimientos avanzados en la persona designada para realizar estos
cambios.

Elección del mas adecuado: En el mercado de RDBMS, se pueden encontrar servicios gratuitos o
comprados, dependiendo de varios factores, como pueden ser, cantidad de información, tiempo
de disponibilidad, fuerza de operación, etc., Cada solución de RDBMS que se presente en el
mercado ofrece también ventajas y desventajas, no precisamente lo mas caro vaya a ser la
solución a todo.

Complejidad en la instalación: Algunos RDBMS dependen del sistema operativo donde se vayan a
instalar, no garantizan el buen funcionamiento si no cumplen con los requerimientos mínimos de
instalación.

Ventajas y desventajas de NoSQL


Ventajas

Versatilidad: La principal ventaja por la cual esta nueva tecnología difiere de las demás soluciones
de bases de datos es la versatilidad que ofrece a crecimientos o cambios sobre la forma como
almacena la información, si fuera necesario agregar un nuevo campo sobre una “colección” (en
base de datos relacional se definen tablas), dado que se basa sobre una notación ligera de
intercambio de documentos baso en notación JSON(Java Script Object Notation), simplemente se
agregan sobre el documento y el sistema sigue operando sin agregar configuraciones extras.

Crecimiento Horizontal: Soportan una escalabilidad descentralizada, es decir, soportan estructuras


distribuidas, si durante la operación se ve que el desempeño de los servidores tienden a bajar, se
instalan nuevos nodos operativos para que balanceen la carga de trabajo, a esto le llaman
crecimiento horizontal.

Disponibilidad de Recursos: No se requieren servidores con una gran cantidad de recursos


disponibles para operar, pueden empezar a operar con bajos recursos e ir creciendo dependiendo
de las necesidades sin tener que detener los servicios de operación.

Optimización: Los sistemas NoSQL tienen un algoritmo interno para reescribir las consultas
escritas por los usuarios o las aplicaciones programadas, esto con el fin de no sobrecargar el
rendimiento de los servidores y mantener un nivel optimo en las operaciones.

Desventajas

Atomicidad: No todas las bases de datos contienen la característica de la atomicidad en la


información, esto quiere decir, que la información en ocasiones no es consistente, puede ser
diferente en cada uno de los nodos replicas que se puedan configurar en la arquitectura de base
de datos.

Documentación del Software: Dado que NoSQL, es relativamente nuevo, las operaciones pueden
ser limitadas y se requiera de conocimientos avanzados con el uso de la herramienta y las
personas que se encuentran realizando estos desarrollos en el software tengan que invertir mas
tiempo en los desarrollos.

Estándares en el lenguaje: No se tiene un estándar definido entre los diferentes motores que
ofrecen este servicio, es decir, por ejemplo: DB2 para poder insertar información sobre su base de
datos, el manejo de los objetos JSON no es el mismo como se utiliza en MondosDB y con ellos la
diversidad de conocimientos que se tiene que tener dependiendo de la solución NoSQL se vaya a
utilizar.

Herramientas GUI(Graphical User Interface): Las herramientas que ofrecen para la administración
de estas herramientas, suelen tener acceso por consola, no tienen una interfaz gráfica, se requiere
conocimiento amplio de las instrucciones a utilizar para su mantenimiento.
Conclusiones:

Siempre es bueno evaluar las diferentes alternativas que ofrece el mundo del software, para poder
dar solución a muchas de los requerimientos que se presentan en el medio, pero siempre hay que
considerar que cualquier solución de software que se seleccione va a tener sus ventajas y
desventajas al momento de su desarrollo como también en la operación.

La aparición del nuevo NoSQL es relativamente nueva, todavía le queda mucho tiempo para poder
afirmar si es la solución a muchos de los problemas que hoy en día se presentan en el mundo de la
base de datos, una de las ventajas muy importantes que ofrece NoSQL es que puede manejar
grandes cantidades de información, pudiendo devolver el resultado de una consulta en cuestión
de segundo, cuando un manejador tradicional RDBMS puede tardar 1000 veces mas el tiempo que
el anterior haya resuelto

Antes de tomar la decisión de migrar una base de datos relacional a una no relacional hay que
considerar todos estos puntos ventajas y desventajas para no caer en un punto del cual ya no se
puede regresar y no tener perdidas de información importantes.

También podría gustarte