0% encontró este documento útil (0 votos)
25 vistas13 páginas

Introducción a Bases de Datos Distribuidas

El documento describe una base de datos distribuida y las características de MySQL Cluster, incluyendo su alta disponibilidad, escalabilidad y replicación.

Cargado por

Anto Gomez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas13 páginas

Introducción a Bases de Datos Distribuidas

El documento describe una base de datos distribuida y las características de MySQL Cluster, incluyendo su alta disponibilidad, escalabilidad y replicación.

Cargado por

Anto Gomez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Trabajo practico

Base de Datos Distribuidas

 Materia: Sistemas Distribuidos

Análisis de Sistemas – Quinto Semestre – Año 2023


¿Qué es una Base de Datos Distribuida?
Una base de datos distribuida o BDD consiste en varias bases de datos situadas en diferentes
espacios físicos o lógicos, conectadas entre sí por un sistema de comunicaciones.
Se caracterizan por almacenar la información en varias computadoras conectadas entre sí, a
las cuales el usuario puede acceder desde cualquier sitio como si se tratara de una red local.
Algunas de las características de las BDD son:

 Está formada por varias computadoras, a las cuales se les denomina nodos.
 Los nodos se comunican entre sí mediante una red de comunicaciones.
 Cada uno de los ordenadores que forman parte de la red tiene autonomía local.
 Generalmente, la red de computadoras no depende de ningún sitio central.
 Tiene un funcionamiento independiente de su localización.
 Se realizan continuas transacciones de información entre nodos.
 La base de datos funciona independientemente del equipo, sistema operativo o red.

¿Cuáles son las ventajas de una base de datos distribuida?

 Permiten trabajar a cada nodo de la red con autonomía local


 Aumentan la disponibilidad, confiabilidad y eficiencia en el acceso a la información.
 Se pueden expandir de forma indefinida en función de las necesidades de la empresa u
organización.
 Permiten la escalabilidad sin necesidad de grandes inversiones.
 Los recursos se comparten entre nodos, de manera que se puede acceder a toda la
información desde cualquier sitio.

Por su parte, estas son las desventajas de una base de datos distribuidas.

 Resulta más difícil establecer mecanismos para controlar el acceso a los datos y
garantizar la seguridad.
 Los errores en la red pueden tener graves consecuencias para la privacidad de la
información.

Análisis de Sistemas – Quinto Semestre – Año 2023


 Es un sistema más complejo de implementar.
 Conseguir una transparencia optima puede suponer un importante gasto de tiempo y
dinero
 Falta de experiencia y ausencia de estándares en el desarrollo e implementación de
estas bases de datos.
 Posibles problemas de rendimiento o fiabilidad derivados del punto anterior.

MySQL Clúster.

MySQL Clúster es una versión de alta disponibilidad, alta redundancia de MySQL adaptada
para el entorno de computación distribuida. Usa el motor de almacenamiento NDB clúster
para permitir la ejecución de varios servidores MySQL en un Clúster.

MySQL Clúster es la base de datos distribuida que combina escalabilidad lineal y alta
disponibilidad. Proporciona acceso en memoria en tiempo real con consistencia transaccional
en conjuntos de datos particionados y distribuidos. Está diseñado para aplicaciones de misión
crítica.

MySQL Clúster tiene replicación entre clústeres en múltiples sitios geográficos


incorporados. Una arquitectura de nada compartido con conocimiento de la localidad de
datos lo convierte en la opción perfecta para ejecutarse en hardware básico y en
infraestructura de nube distribuida globalmente.

Análisis de Sistemas – Quinto Semestre – Año 2023


MySQL Clúster: Características y beneficios

Rendimiento y escalabilidad

Particionamiento automático (Sharding) La base de datos se divide de forma automática y


transparente en nodos básicos de bajo costo, lo que
permite escalar horizontalmente las consultas de
lectura y escritura, sin necesidad de realizar
cambios en la aplicación.

Replicación multimaestro Cada nodo de datos puede aceptar operaciones de


escritura. Junto con la fragmentación automática,
esto proporciona una escalabilidad de escritura muy
alta.

JOINs distribuidas entre particiones El clúster ejecuta condiciones de unión y filtro


directamente en las particiones de datos distribuidas
donde se ejecutan localmente y paralelamente en
los nodos de datos. Ofrece una vista transaccional
coherente de todo el conjunto de datos distribuido.

Consulta paralela distribuida Las consultas se ejecutan en todas las particiones en


todos los nodos en paralelo e incluso se ejecutan en
paralelo en cada nodo de datos local para obtener el
máximo rendimiento. Las selecciones de puntos y
las búsquedas de clave principal se enrutan de
forma transparente a la partición correcta en el nodo
correcto.

Capacidad de respuesta en tiempo real Baja latencia con tablas e índices en memoria,
punto de control asíncrono al disco y enlace de
subprocesos a CPU

Análisis de Sistemas – Quinto Semestre – Año 2023


API de desarrollador y modelos de datos

.SQL MySQL Server presenta una interfaz SQL estándar


para el clúster, proporcionando conectividad a
través de todos los conectores MySQL estándar
para lenguajes y marcos de desarrollo web, JDBC,
ODBC. NET, etc.

NoSQL usando Memcached Acceso nativo clave-valor, omitir la capa SQL para
servicios web, para almacenamiento de datos sin
esquema y sin esquema

NoSQL usando JavaScript y [Link] Acceso nativo a JavaScript, evitando la capa SQL
para servicios altamente concurrentes, sociales y
móviles

NoSQL usando C++ Acceso nativo a C++, sin pasar por la capa SQL
para una latencia ultra baja

NoSQL usando Java, JPA Acceso nativo Java y JPA, evitando la capa SQL
para servicios empresariales, web y de
telecomunicaciones

NoSQL usando REST Acceso HTTP/REST nativo, omitiendo la capa


SQL mediante Apache mod_ndb

Esquema y modelo de datos sin esquema Modelo de datos relacionales totalmente


estructurado por defecto. Usando la API de
Memcached, cada clave-valor se escribe en la
misma tabla con cada par clave-valor almacenado
en una sola fila de forma predeterminada; o se
puede configurar para escribir en varias tablas
existentes.

Análisis de Sistemas – Quinto Semestre – Año 2023


99.999% de disponibilidad e integridad de datos

Cumple con ACID, Transaccional MySQL Clúster proporciona soporte completo de


transacciones ACID (atómicas, consistentes,
aisladas, duraderas).

Restricciones de clave externa MySQL Clúster aplica automáticamente la


integridad referencial entre tablas.

Arquitectura de nada distribuido y Cada nodo del clúster es redundante y puede


compartido ubicarse en hosts separados para garantizar la
disponibilidad continua en caso de fallo de un
proceso, hardware o red.

No hay un solo punto de falla Cada nodo tiene su propio disco y memoria, por lo
que se elimina el riesgo de un fallo causado por
componentes compartidos como el
almacenamiento.

Replicación sincrónica Los datos dentro de cada nodo de datos se replican


sincrónicamente en al menos otro nodo de datos. Si
un nodo de datos falla, siempre hay al menos otro
nodo de datos que almacena la misma información.

Conmutación por error automática en menos El mecanismo de latido de MySQL Clúster detecta
de un segundo instantáneamente cualquier falla y conmuta
automáticamente, generalmente en un segundo, a
otros nodos del clúster, sin interrumpir el servicio a
los clientes.

Recuperación de auto curación Los nodos con errores pueden autor repararse
reiniciando y re sincronizando automáticamente
con otros nodos antes de volver a unirse al clúster,
con total transparencia de la aplicación.

Replicación geográfica Replica un clúster de un centro de datos a otro, lo


que permite la recuperación ante desastres y reduce
los efectos de la latencia de la red. Cada clúster
puede aceptar operaciones de escritura con control
de conflictos internos para garantizar la coherencia
entre clústeres

Agrupación en clústeres multisitio Los nodos de datos se pueden dividir entre centros
de datos, lo que permite la replicación sincrónica
entre sitios con conmutación por error automática
en caso de que falle un nodo.

Análisis de Sistemas – Quinto Semestre – Año 2023


Operaciones en línea
Actualizaciones de esquemas en línea Admite la adición en línea de columnas y tablas, y
la adición o eliminación de índices

Escalado en línea Los nodos se pueden agregar bajo demanda a un


clúster en ejecución para escalar la capacidad y el
rendimiento. Para mayor elasticidad, los nodos de
aplicación se pueden agregar y eliminar
dinámicamente del clúster.

Mantenimiento on-line Soporte para actualizar o parchear el hardware


subyacente, el sistema operativo y los procesos de
MySQL Clúster

Copia de seguridad en línea La copia de seguridad es una instantánea coherente


de todo el clúster de la base de datos que se puede
archivar y copiar en una ubicación remota y segura.

Flexibilidad de implementación
Infraestructura en la nube Implemente en Docker y entornos virtualizados en
hardware básico e infraestructura en la nube.

Tablas en memoria y basadas en disco Las tablas se pueden configurar para administrarse
exclusivamente en memoria (con registro completo
y puntos de comprobación al almacenamiento
persistente para mayor durabilidad) o almacenarse
en disco.

Hardware básico MySQL Clúster está optimizado para escalar


horizontalmente a través de hardware básico con
almacenamiento local. No se requiere disco
compartido

Análisis de Sistemas – Quinto Semestre – Año 2023


Seguridad, auditoria, gestión y monitoreo
Autenticación empresarial de MySQL Proporciona módulos de autenticación externos
listos para usar para servidores MySQL conectados
al clúster, lo que les permite integrarse fácilmente
dentro de las infraestructuras de seguridad
existentes.

MySQL Enterprise Firewall MySQL Enterprise Firewall protege contra las


amenazas de seguridad cibernética al proporcionar
protección en tiempo real contra ataques específicos
de bases de datos, como una inyección SQL.

Auditoría empresarial de MySQL Proporciona una solución de auditoría basada en


políticas fácil de usar que ayuda a las
organizaciones a implementar controles de
seguridad más sólidos y satisfacer el cumplimiento
normativo.

Administrador de clústeres MySQL* MySQL Clúster Manager simplifica la creación y


administración de la base de datos MySQL Clúster
mediante la automatización de tareas de
administración comunes.

MySQL Enterprise Monitor* Proporciona vistas de un vistazo del estado del


clúster, alertándole de posibles problemas antes de
que afecten al sistema.

Análisis de Sistemas – Quinto Semestre – Año 2023


¿Qué es Oracle base de datos?

Oracle Base de Datos es un sistema de gestión de bases de datos relacionales (RDBMS) de


alta gama utilizado por grandes empresas, organizaciones gubernamentales y organismos de
investigación. Fue desarrollado por Oracle Corporation en los años 70 y se ha convertido en
uno de los sistemas de bases de datos más populares y ampliamente utilizados en todo el
mundo. Oracle Base de Datos tiene como objetivo proporcionar una plataforma confiable y
escalable para aplicaciones empresariales críticas.

Características

 Escalabilidad: Oracle Base de Datos se ha diseñado para ser escalable, lo que significa
que puede manejar grandes cantidades de datos y usuarios simultáneos. Es capaz de
manejar desde pequeñas aplicaciones hasta grandes sistemas empresariales.
 Seguridad: Oracle Base de Datos se ha diseñado para ser altamente seguro y ofrece
diversas funciones de seguridad, como el cifrado de datos, el control de acceso y la
auditoría de datos.
 Confiabilidad: Oracle Base de Datos es muy confiable y ofrece funciones de
recuperación de desastres y alta disponibilidad para garantizar que los datos estén
disponibles en todo momento.
 Flexibilidad: Oracle Base de Datos es muy flexible y puede integrarse fácilmente con
otras aplicaciones y herramientas de desarrollo.
 Rendimiento: Oracle Base de Datos se ha diseñado para ofrecer un rendimiento rápido
y eficiente, lo que la hace ideal para aplicaciones empresariales de alta carga.

Ventajas

 Escalabilidad: Oracle Base de Datos puede manejar grandes cantidades de datos y


usuarios simultáneos.

Análisis de Sistemas – Quinto Semestre – Año 2023


 Alta disponibilidad: Oracle Base de Datos ofrece funciones de recuperación de
desastres y alta disponibilidad para garantizar que los datos estén disponibles en todo
momento.
 Seguridad: Oracle Base de Datos ofrece diversas funciones de seguridad, como el
cifrado de datos, el control de acceso y la auditoría de datos.
 Flexibilidad: Oracle Base de Datos es muy flexible y puede integrarse fácilmente con
otras aplicaciones y herramientas de desarrollo.
 Soporte técnico: Oracle Corporation ofrece soporte técnico las 24 horas del día, los 7
días de la semana, lo que garantiza que cualquier problema se pueda resolver
rápidamente.

Desventajas

 Costo: Oracle Base de Datos es un sistema de bases de datos de alta gama y puede ser
costoso en comparación con otros sistemas de bases de datos.
 Complejidad: Oracle Base de Datos es un sistema complejo que requiere una curva de
aprendizaje empinada.
 Requisitos de hardware: Oracle Base de Datos requiere hardware de alta calidad y
potencia de procesamiento para ejecutar adecuadamente

Análisis de Sistemas – Quinto Semestre – Año 2023


¿Qué es PostgreSQL?

PostgreSQL es un sistema de gestión de bases de datos relacional de código abierto que


ofrece una amplia gama de funcionalidades avanzadas para manejar grandes cantidades de
datos. PostgreSQL es altamente escalable, extensible y seguro, lo que lo hace ideal para
aplicaciones empresariales y de misión crítica. Además, PostgreSQL es compatible con una
amplia gama de plataformas y ofrece una amplia gama de herramientas de administración y
monitoreo, lo que permite a los usuarios administrar eficazmente sus sistemas de bases de
datos.

Características

 Escalabilidad: PostgreSQL es altamente escalable y puede manejar grandes cantidades


de datos y usuarios simultáneos. Es capaz de manejar desde pequeñas aplicaciones
hasta grandes sistemas empresariales.
 Extensibilidad: PostgreSQL es muy extensible y ofrece una amplia gama de
extensiones y módulos que permiten a los desarrolladores personalizar y extender su
funcionalidad.
 Soporte multiplataforma: PostgreSQL se ejecuta en una amplia variedad de
plataformas, incluidas Linux, Windows, macOS y FreeBSD.
 Alta disponibilidad: PostgreSQL ofrece funciones de recuperación de desastres y alta
disponibilidad para garantizar que los datos estén disponibles en todo momento.
 Seguridad: PostgreSQL es altamente seguro y ofrece diversas funciones de seguridad,
como el cifrado de datos, el control de acceso y la auditoría de datos.

Ventajas

 Código abierto: PostgreSQL es un software de código abierto y no tiene costos de


licencia.
 Escalabilidad: PostgreSQL es altamente escalable y puede manejar grandes cantidades
de datos y usuarios simultáneos.

Análisis de Sistemas – Quinto Semestre – Año 2023


 Extensibilidad: PostgreSQL es muy extensible y ofrece una amplia gama de
extensiones y módulos que permiten a los desarrolladores personalizar y extender su
funcionalidad.
 Soporte multiplataforma: PostgreSQL se ejecuta en una amplia variedad de
plataformas, lo que la hace muy flexible.
 Comunidad activa: PostgreSQL cuenta con una comunidad activa de desarrolladores y
usuarios que contribuyen al desarrollo y mejora continua de la base de datos.
Desventajas
 Curva de aprendizaje: PostgreSQL puede tener una curva de aprendizaje empinada
para los usuarios nuevos o aquellos que no tienen experiencia previa en bases de datos.
 Limitaciones de rendimiento: PostgreSQL puede no ser tan rápido como otros
sistemas de bases de datos en algunas operaciones de bases de datos a gran escala
 Limitaciones de compatibilidad: PostgreSQL puede no ser compatible con algunas
aplicaciones comerciales.

Referencias bibliográficas:

Ayuda Ley Protección de Datos. (s.f.). Bases de Datos Distribuida: ¿Qué son?
Características, Ventajas y Desventajas. Recuperado el 19 de abril de 2023, de
[Link]
MySQL. (s.f.). Features of MySQL Cluster. Recuperado el 19 de abril de 2023, de
[Link]
Guebs. (s.f.). MySQL Cluster. Recuperado el 19 de abril de 2023, de
[Link]
Oracle. (s.f.). Oracle Documentation. Recuperado el 19 de abril de 2023, de
[Link]
Oracle. (s.f.). Oracle Database. Recuperado el 19 de abril de 2023, de
[Link]

Análisis de Sistemas – Quinto Semestre – Año 2023


The PostgreSQL Global Development Group. (s.f.). PostgreSQL Documentation.
Recuperado el 19 de abril de 2023, de [Link]

Análisis de Sistemas – Quinto Semestre – Año 2023

También podría gustarte