SGBD - Sistema Gestor De Base de Datos
Un sistema gestor de base de datos o SGBD es un software que permite administrar una base de
datos. Esto significa que mediante este programa se puede utilizar, configurar y extraer información
almacenada.
Base de Datos
Es aquel conjunto de datos almacenados y estructurados según sus características o tipología para
ser utilizados o consultados posteriormente
Tipos de Bases de Datos
Los continuos desarrollos en la tecnología de información y sus aplicaciones empresariales han
dado como resultado la evolución de varios tipos importantes de bases de datos.
Bases de datos operacionales: Estas bases de datos almacenan datos detallados que se requieren
para respaldar las operaciones de toda la organización. También se denominan bases de datos de
áreas supeditadas, bases de datos de transacciones y bases de datos de producción. Algunos
ejemplos son una base de datos de clientes, de personal, de inventario y otras bases de datos que
contienen datos generados por operaciones empresariales.
Bases de datos analíticas: Estos bases de datos almacenan datos e información que
se extraen de bases de datos operacionales y externas seleccionadas. Estas se
componen de los datos y la información resumida que más necesitan los gerentes de
una organización y otros usuarios finales. Las bases de datos analíticas también
reciben el nombre de bases de datos gerenciales o bases de datos de información.
Éstas también se denominan bases de datos multidimencionales, ya que con
frecuencia utilizan una estructura de bases de datos multidimencional para organizar
los datos. Éstas son las bases de datos que se accesan mediante los sistemas de
procesamiento analítico en línea, sistema de apoyo a las decisiones y sistemas de
información ejecutiva.
Bodega de datos: Una bodega de datos almacena datos del año en curso y de años
anteriores, que han sido extraídos de las diversas bases de datos operacionales de una
organización . Ésta es una fuente central de datos que ha sido seleccionada, editada,
estandarizada e integrada, de manera que los gerentes y otros profesionales que son
usuarios finales puedan utilizarla para una variedad de formas de análisis empresarial,
investigación de mercado y respaldo a las decisiones. Las bodegas de datos pueden
subdividirse en plazas de datos, que contienen subconjuntos específicos de datos
provenientes de la bodega de datos. Un uso importante de las bases de datos de
bodegas de datos es la extracción de datos, que consiste en que los datos de una
bodega de datos se procesan con el fin de identificar factores y tendencias clave en
patrones históricos de la actividad empresarial. Esto puede utilizarse para ayudar a los
gerentes en la toma de decisiones sobre cambios estratégicos en operaciones
empresariales para obtener ventaja competitivas en el mercado. Véase la figura 5.
Bases de datos distribuidas: Muchas organizaciones reproducen y distribuyen
copias o partes de bases de datos a servidores de red localizadas en una variedad de
sitios. Estas bases de datos distribuidas pueden residir en servidores de red en la
WWW, en intranets o extranets corporativas o en otras redes de la empresa. Las bases
de datos distribuidas pueden ser copias de bases de datos operacionales o analíticas,
bases de datos hipermedia o de discusión o cualquier tipo de base de datos. La
reproducción y distribución de bases de datos se realiza con el fin de mejorar el
desempeño y la seguridad de la base de datos. Garantizar que todos los datos en las
bases de datos distribuidas de una organización se actualizan constantemente y al
mismo tiempo constituye un desafío importante de la administración de bases de
datos distribuidas.
Bases de datos externas: El acceso a una abundante información en una base de
datos externas está disponible en los servicios comerciales en línea mediante el pago
de una cuota de ingreso, y también con o sin costo en las muchas fuentes en Internet,
especialmente en la WWW. Los sitios web proporcionan una variedad infinita de
páginas hiperenlazadas de documentos multimedia en bases de datos para que el
usuario pueda accesarlas. Los datos se encuentran disponibles en la forma de
estadísticas sobre actividad económica y demográfica de los bancos de datos
estadísticos. O usted puede visualizar o bajar resúmenes o copias incompletas de
cientos de periódicos, revistas , boletines, artículos sobre investigaciones y otro
material publicado, y otras publicaciones periódicas de bases de datos bibliográficas
y de texto completo.
¿Qué son?
Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos
lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios
lógicos e interconectados por una red de comunicaciones. Dichas BDD tienen la
capacidad de realizar procesamiento autónomo, esto permite realizar operaciones
locales o distribuidas.
Los Sistemas de Bases de Datos Distribuidas representan más naturalmente
la estructura geográficamente descentralizada de una organización, aumentan la
disponibilidad de los datos, reducen el tráfico de comunicación y es justificable,
además, por el abaratamiento de los costos en el equipamiento y la infraestructura
de comunicaciones de las redes de computadoras. El diseño de las Bases de Datos
Distribuidas posee las fases del diseño centralizado y cuenta, además, con dos nuevos
problemas que caracterizan el proceso de distribución de datos, e incluyen la
determinación de: cómo dividir la base de datos en componentes para localizarlos en
diferentes sitios, qué cantidad de datos debe ser replicados y cómo deben los
fragmentos replicados ser localizados.
Arquitectura
Un sistema distribuido de bases de datos se almacenan en varias computadoras. Los
principales factores que distinguen un SGBD de un sistema centralizado son los
siguientes:
Hay múltiples computadores, llamados sitios o nodos.
Estos sitios deben de estar comunicados por medio de algún tipo de red de comunicaciones
para transmitir datos y órdenes entre los sitios.
La principal característica de la arquitectura de las bases de datos distribuidas es
que está formando por varios equipos físicos distribuidos geográficamente y
conectados entre ellos mediante una infraestructura de red, configurado de
manera óptima para que proporcionen el mismo servicio a distintos usuarios.
Tipos de Almacenamiento
Una de las decisiones más importantes que el diseñador de bases de datos
distribuidas debe tomar es el posicionamiento de la data en el sistema y el esquema
bajo el cuál lo desea hacer. Para esto existen cuatro alternativas principales:
centralizada, replicada, fragmentada, e híbrida.
Centralizada
Es muy similar al modelo de Cliente/Servidor en el sentido que la BDD está
centralizada en un lugar y los usuarios están distribuidos. Este modelo solo brinda la
ventaja de tener el procesamiento distribuido ya que en sentido de disponibilidad y
fiabilidad de los datos no se gana nada.
Replicadas El esquema de BDD de replicación consiste en que cada nodo debe
tener su copia completa de la base de datos. Es fácil ver que este esquema tiene un
alto costo en el almacenamiento de la información. Debido a que la actualización de
los datos debe ser realizada en todas las copias, también tiene un alto costo de
escritura, pero todo esto vale la pena si tenemos un sistema en el que se va a escribir
pocas veces y leer muchas, y dónde la disponibilidad y fiabilidad de los datos sea de
máxima importancia.
Particionadas
Este modelo consiste en que solo hay una copia de cada elemento, pero la
información está distribuida a través de los nodos. En cada nodo se aloja uno o más
fragmentos disjuntos de la base de datos. Como los fragmentos no se replican esto
disminuye el costo de almacenamiento, pero también sacrifica la disponibilidad y
fiabilidad de los datos. Algo que se debe tomar en cuenta cuando se desea
implementar este modelo es la granularidad de la fragmentación.
Ejemplos de uso
El mayor ejemplo de uso para las bases de datos distribuidas es cuando a un servidor
acceden una gran cantidad de personas, distribuir el uso de la base de datos para
balancear la carga con recursos de varios servidores, o el de tener servidores de
respaldo. También puede servir para acelerar el acceso a las bases de datos
desde distintos puntos geográficos, para no tener centralizado un servidor y cuanto más
lejos estés más lento irá, podemos distribuir la base de datos de modo que
proporcionamos el mismo acceso rápido a puntos distintos.
¿Qué es la replicación de datos?
La replicación de datos es el proceso de hacer múltiples copias de datos y almacenarlos en
diferentes ubicaciones con fines de respaldo, tolerancia a fallas y para mejorar su
accesibilidad general a través de una red . Similar a la duplicación de datos, la replicación de
datos se puede aplicar tanto a computadoras individuales como a servidores. Las réplicas de datos
se pueden almacenar dentro del mismo sistema, hosts en el sitio y fuera del sitio, y hosts basados en
la nube. Las tecnologías de bases de datos comunes en la actualidad tienen capacidades integradas o
utilizan herramientas de terceros para lograr la replicación de datos. Si bien Oracle Database y
Microsoft SQL admiten de forma activa la replicación de datos, es posible que algunas tecnologías
tradicionales no incluyan esta función de fábrica. La replicación de datos puede ser síncrona, lo que
significa que se replicarán todos los cambios realizados en los datos originales, o asíncrona, lo que
significa que la replicación se inicia solo cuando se pasa la instrucción Commit a la base de datos.
Beneficios de la replicación de datos
Si bien la replicación de datos puede ser exigente en términos de costos, computación y requisitos
de almacenamiento, las empresas utilizan ampliamente esta técnica de administración de bases de
datos para lograr uno o más de los siguientes objetivos:
[Link] la disponibilidad de datos
[Link] la velocidad de acceso a los datos.
[Link] el rendimiento del servidor
[Link] la recuperación ante desastres
Mejorar la disponibilidad de datos Cuando un sistema en particular experimenta una falla
técnica debido a malware o un componente de hardware defectuoso, aún se puede acceder a los
datos desde un sitio o nodo diferente. La replicación de datos mejora la resiliencia y la confiabilidad
de los sistemas mediante el almacenamiento de datos en varios nodos de la red.
Aumentar la velocidad de acceso a los datos En organizaciones donde hay varias
sucursales repartidas por todo el mundo, los usuarios pueden experimentar cierta latencia al acceder
a los datos de un país a otro. La colocación de réplicas en servidores locales proporciona a los
usuarios un acceso a los datos y tiempos de ejecución de consultas más rápidos.
Mejore el rendimiento del servidor La replicación de la base de datos reduce efectivamente
la carga en el servidor principal al distribuirla entre otros nodos en el sistema distribuido, mejorando
así el rendimiento de la red. Al enrutar todas las operaciones de lectura a una base de datos réplica,
los administradores de TI pueden guardar el servidor principal para las operaciones de escritura que
exigen más potencia de procesamiento.
Lograr la recuperación ante desastres Las empresas a menudo son susceptibles a la pérdida de
datos debido a una violación de datos o un mal funcionamiento del hardware. Durante una catástrofe de
este tipo, los datos valiosos de los empleados, junto con la información del cliente, pueden verse
comprometidos. La replicación de datos facilita la recuperación de datos perdidos o corruptos al mantener
copias de seguridad precisas en ubicaciones bien supervisadas, lo que contribuye a mejorar la protección
de datos.
¿Cómo funciona la replicación de datos?
Las aplicaciones modernas utilizan una base de datos distribuida en el back-end, donde los datos se
almacenan y procesan utilizando un grupo de sistemas, en lugar de depender de un sistema en
particular para lo mismo. Supongamos que un usuario de una aplicación desea escribir un dato en la
base de datos. Estos datos se dividen en múltiples fragmentos, y cada fragmento se almacena en un
nodo diferente en todo el sistema distribuido. La tecnología de base de datos también es responsable
de recopilar y consolidar los diferentes fragmentos cuando un usuario desea recuperar o leer los
datos. En tal arreglo, una sola falla del sistema puede inhibir la recuperación de todos los datos.
Aquí es donde la replicación de datos salva el día. La tecnología de replicación de datos puede
almacenar varios fragmentos en cada nodo para optimizar las operaciones de lectura y escritura en
la red. Las herramientas de replicación de datos aseguran que los datos completos aún puedan
consolidarse desde otros nodos en todo el sistema distribuido durante el evento de una falla del
sistema.
Tipos de replicación de datos
Dependiendo de las herramientas de replicación de datos empleadas, existen múltiples tipos de
replicación practicados por las empresas en la actualidad. Algunos de los modos de replicación
populares son los siguientes
1.Réplica de tabla completa
[Link]ón transaccional
[Link]ón de instantáneas
[Link] replicación
[Link]ón incremental basada en claves
Réplica de tabla completa
La replicación completa de la tabla significa que se replican todos los datos. Esto incluye datos nuevos,
actualizados y existentes que se copian del origen al destino. Este método de replicación generalmente se
asocia con costos más altos ya que los requisitos de potencia de procesamiento y ancho de banda de la red
son altos.
Sin embargo, la replicación completa de la tabla puede ser beneficiosa cuando se trata de la recuperación
de datos eliminados de forma permanente, así como datos que no poseen claves de replicación, que se
analizan más adelante en este artículo.
Replicación transaccional
En este método, el software de replicación de datos hace copias iniciales completas de los datos desde el
origen hasta el destino, luego de lo cual la base de datos del suscriptor recibe actualizaciones cada vez que
se modifican los datos. Este es un modo de replicación más eficiente ya que se copian menos filas cada
vez que se modifican los datos. La replicación transaccional generalmente se encuentra en entornos de
servidor a servidor.
Replicación de instantáneas
En la replicación de instantáneas, los datos se replican exactamente como aparecen en un momento dado.
A diferencia de otros métodos, la replicación de instantáneas no presta atención a los cambios realizados
en los datos. Este modo de replicación se utiliza cuando los cambios realizados en los datos tienden a ser
poco frecuentes; por ejemplo, realizar sincronizaciones iniciales entre editores y suscriptores
Fusionar replicación
Este tipo de replicación se encuentra comúnmente en entornos de servidor a cliente y permite que tanto el
editor como el suscriptor realicen cambios en los datos de forma dinámica. En la replicación de mezcla,
los datos de dos o más bases de datos se combinan para formar una sola base de datos, lo que contribuye a
la complejidad del uso de esta técnica.
Replicación incremental basada en claves
Esta técnica, también denominada captura de datos incremental basada en claves, solo copia los datos
modificados desde la última actualización. Las claves pueden verse como elementos que existen dentro de
las bases de datos que desencadenan la replicación de datos. Dado que solo se copian unas pocas filas
durante cada actualización, los costos son significativamente bajos.
Sin embargo, el inconveniente radica en el hecho de que este modo de replicación no se puede utilizar para
recuperar datos eliminados de forma permanente, ya que el valor de la clave también se elimina junto con
el registro.
Replicación de datos en DBMS
La replicación de datos en DBMS (servidores de distribución) puede llevarse a cabo utilizando un
esquema de replicación adecuado. Los esquemas de replicación ampliamente adoptados son los siguientes:
[Link]ón completa de datos
[Link]ón parcial de datos
[Link] replicación
Replicación completa de datos
La replicación completa significa que la base de datos completa se replica en cada sitio del sistema
distribuido. Este esquema maximiza la disponibilidad y la redundancia de los datos en una red de
área amplia. Por ejemplo, los usuarios de una red entre países tienen acceso a la base de datos
completa desde un servidor con base en Asia si el servidor europeo o norteamericano experimenta
una dificultad técnica. La replicación completa también contribuye a una ejecución más rápida de
las consultas globales, ya que los resultados se pueden obtener desde cualquier servidor local. La
desventaja de la replicación completa es que el proceso de actualización tiende a ser más lento. Esto
hace que mantener copias actualizadas de los datos en cada ubicación sea todo un desafío.
Replicación parcial de datos
La replicación parcial ocurre cuando solo se replican ciertos fragmentos de la base de datos en
función de la importancia de los datos en cada ubicación. Aquí, el número de copias puede variar
desde uno hasta el número total de nodos en el sistema distribuido. En un entorno empresarial, este
modo de replicación puede ser útil para los miembros de los equipos de ventas y marketing donde
se almacena una base de datos parcial en computadoras personales y se sincroniza regularmente con
el servidor principal.
Caracteristicas de los SGBDM
Se usa para crear, recuperar, actualizar y eliminar bases de datos distribuidas.
Sincroniza la base de datos periódicamente y proporciona mecanismos de acceso en virtud de los cuales
la distribución se vuelve transparente para los usuarios.
Asegura que los datos modificados en cualquier sitio se actualicen universalmente.
Se utiliza en áreas de aplicación donde numerosos usuarios procesan y acceden grandes volúmenes de
datos simultáneamente.
Está diseñado para plataformas de bases de datos heterogéneas.
Mantiene la confidencialidad y la integridad de los datos de las bases de datos.
Por qué las bases de datos distribuidas
Aquí están las razones básicas por las cuales muchas organizaciones están dejando el modelo
centralizado a favor de la distribución de bases de datos:
Fiabilidad: crear una infraestructura es similar a invertir: diversifíquese para reducir sus posibilidades de
pérdida. Específicamente, si ocurre una falla en un área de la distribución, toda la base de datos no
experimenta un retroceso.
Seguridad: puede otorgar permisos a secciones individuales de la base de datos general, para una mejor
protección interna y externa.
Rentable: los precios del ancho de banda disminuyen porque los usuarios acceden a datos remotos con
menos frecuencia.
Acceso local: al igual que en el punto 1 anterior, si hay una falla en la red general, aún puede obtener
acceso a su parte de la base de datos.
Crecimiento: si agrega una nueva ubicación a su negocio, es simple crear un nodo adicional dentro de la
base de datos, lo que hace que la distribución sea altamente escalable.
Velocidad y eficiencia de los recursos: la mayoría de las solicitudes y otras formas de interactividad con la
base de datos se realizan a nivel local, lo que también reduce el tráfico remoto.
Responsabilidad y contención: debido a que fallas técnicas o fallas ocurren localmente, el problema está
contenido y puede ser manejado por el personal de TI designado para maneja
PostgresSQL nos o
frece la posibilidad de sincronizar dos servidores de base de datos mediante Replicación de manera nativa.
Existen distintos tipos de replicación de servidores, en este caso, configuraremos un esquema Maestro-
Esclavo, en el que mi servidor Maestro, recibe y ejecuta todas las transacciones y, además, actualiza a mi
servidor Esclavo, que, únicamente, utilizo para realizar consultas.
El maestro, es el nodo que ejecuta todas las transacciones de base de datos, digamos que puede realizar
todas las operaciones CRUD.
PostgreSQL
Ventajas y Desventajas de PostgreSQL
Como ya conocéis, PostgreSQL es el motor de base de datos de la actualidad. Lo
que lo hace el Sistema Gestor de Bases de Datos de Código libre más potente y
robusto del mercado.
Hay muchas formas de describir las principales características de PostgreSQL
(ventajas y desventajas, versatilidad, seguridad, rendimiento, funcionalidad…).
Ventajas de PostgreSQL
• Instalación ilimitada y gratuita: Podemos instalarlo en todos los equipos que
queramos. Independientemente de la plataforma y la arquitectura que usemos,
PostgreSQL está disponible para los diferentes SO, Unix, Linux y Windows, en
32 y 64 bits. Ésto hace de PostgreSQL un sistema multiplataforma y también
hace que sea más rentable con instalaciones a gran escala.
• Gran escalabilidad: Nos permite configurar PostgreSQL en cada equipo según
el hardware. Por lo que es capaz de ajustarse al número de CPU y a la
cantidad de memoria disponible de forma óptima. Con ello logramos una
mayor cantidad de peticiones simultáneas a la base de datos de forma
correcta.
• Estabilidad y confiabilidad: Tiene más de 20 años de desarrollo activo y
en constante mejora. No se han presentado nunca caídas de la base de
datos. Ésto es debido a su capacidad de establecer un entorno de Alta
disponibilidad y gracias a Hot-Standby, que permite que los clientes puedan
realizar consultas de solo lectura mientras que los servidores están en modo de
recuperación o espera. Así podemos hacer tareas de mantenimiento o
recuperación sin bloquear completamente el sistema.
• PgAdmin: Se trata de una herramienta gráfica con la que podemos
administrar nuestras bases de datos de forma fácil e intuitiva. Podemos
ejecutar sentencias SQL, e incluso crear copias de seguridad o realizar tareas de
mantenimiento.
• Estándar SQL: Implementa casi todas las funcionalidades del estándar
ISO/IEC 9075:2011, así pues, resulta sencillo realizar consultas e incluir scripts
de otros Motores de Bases de Datos.
• Potencia y Robustez: PostgreSQL cumple en su totalidad con la característica
ACID Compliant. ACID es un acrónimo de Atomicity, Consistency, Isolation y
Durability (Atomicidad, Consistencia, Aislamiento y Durabilidad en español). Por
ello permite que las transacciones no interfieran unas con otras. Con ello se
garantiza la información de las Bases de Datos y que los datos perduren en el
sistema.
• Extensibilidad: Tenemos a nuestra disponibilidad una gran variedad de
extensiones distribuidas por el grupo de desarrolladores de PostgreSQL.
También por terceros o incluso nosotros mismos podemos crear nuestras
propias extensiones. Estas extensiones pueden ser lenguajes de
programación, tales como, Perl, Java, Python, C++ y muchos más.
Desventajas de PostgreSQL
• Es relativamente lento en inserciones y actualizaciones en bases de datos
pequeñas, PostgreSQL está diseñado para ambientes de alto volumen. Ésto
hace que la velocidad de respuesta pueda parecer lenta en comparación con
bases de datos de pequeño tamaño.
• Soporte oficial: No cuenta con un soporte en línea o telefónico. PostgreSQL
cuenta con foros oficiales donde los usuarios pueden exponer sus dudas que
responden otros usuarios de la comunidad. También,disponemos soporte
empresarial como EnterpriseDB o TodoPostgreSQL. Cabe resaltar que
la comunidad de usuarios PostgreSQL es una de las más activas en el mercado.
• La sintaxis de algunos de sus comandos o sentencias puede llegar a no ser
intuitiva si no tienes un nivel medio de conocimientos en lenguaje SQL.
Modelo Maestro-Esclavo El maestro es el que inicia un requerimiento de servicio. El
requerimiento inicial puede convertirse en múltiples requerimientos de trabajo a través de
redes LAN o WAN. La ubicación de los datos o de las aplicaciones es totalmente
transparente para el maestro. Y el esclavo es cualquier recurso de cómputo dedicado a
responder a los requerimientos del maestro [9]. Los servidores esclavos pueden proveer a
los servidores maestros de varios servicios tales como impresión, acceso a bases de
datos y procesamiento de imágenes. Durante la investigación este modelo será utilizado
para establecer la comunicación donde los dispositivos de campo que se simularán se
comportarán como esclavos.