UNIDAD I. PERSPECTIVA DE LA ADMINISTRACION DE BASE DE DATOS

 ¿Qué es un Administrador de Base de Datos?

Para empezar con este apartado, debemos tener en cuenta lo que es un Administrador de base de Datos.

Un administrador de base de datos (DBA) es el técnico de información responsable de dirigir o realizar todas las actividades relacionadas con el mantenimiento de un entorno de base de datos exitoso. Un DBA se asegura de que la base de datos de una organización y sus aplicaciones relacionadas funcionen de manera funcional y eficiente.




Importancia de un DBA

Si su organización utiliza un Sistema de Administración de Base de Datos  para cargas de trabajo de misión crítica, es importante emplear uno o más administradores de bases de datos para garantizar que las aplicaciones tengan acceso continuo e ininterrumpido a los datos. La mayoría de las organizaciones modernas de todos los tamaños utilizan al menos un DBMS y, por lo tanto, la necesidad de administradores de bases de datos es hoy mayor que nunca.

El DBA es responsable de comprender y administrar el entorno general de la base de datos. Al desarrollar e implementar un plan estratégico a seguir al implementar bases de datos dentro de su organización, los DBA son fundamentales para la eficacia continua de las aplicaciones modernas que dependen de las bases de datos para el almacenamiento y el acceso a los datos.

Sin la supervisión del DBA, es inevitable que se produzcan interrupciones en las aplicaciones y el sistema, tiempo de inactividad y ralentizaciones. Problemas como estos dan lugar a interrupciones comerciales que pueden afectar negativamente los ingresos, la experiencia del cliente y la reputación de la empresa.

Los DBA son expertos en la materia para los sistemas de administración de bases de datos y todos los temas relacionados, incluida la implementación y configuración de DBMS; diseño de bases de datos; codificación SQL; extracción, transformación y carga de datos (ETL); gestión de datos de prueba; resolución del problema; integridad de los datos; seguridad de la base de datos; mejoramiento; y respaldo y recuperación de bases de datos.

La administración de bases de datos es un componente vital del entorno de TI para cualquier organización que dependa de uno o más sistemas de administración de bases de datos.

Funciones de un DBA

Definir el esquema conceptual: es tarea del administrador de datos decidir con exactitud cual es la información que debe mantenerse en la base de datos, es decir, identificar las entidades que interesan a la empresa y la información que debe registrarse acerca de esas entidades.

Definir el esquema interno: el DBA debe decidir también como se representará la información en la base de datos almacenada. A este proceso suele llamársele diseño físico de la base de datos. Una vez hecho esto el DBA deberá crear la definición de estructura de almacenamiento correspondiente (es decir el esquema interno) valiéndose del DDL interno.

Vincularse con los usuarios: el DBA debe encargarse de la comunicación con los usuarios, garantizar la disponibilidad de los datos que requieren y escribir - o ayudar a los usuarios a escribir- los esquemas externos necesarios, empleando el DDL externo aplicable.

Definir las verificaciones de seguridad e integridad: las verificaciones de seguridad y de integridad pueden considerarse parte del esquema conceptual. El DDL conceptual incluirá los medios para especificar dichas verificaciones.

Definir procedimientos de respaldo y recuperación: cuando una empresa se decide a utilizar un sistema de base de datos, se vuelve dependiente en grado sumo del funcionamiento correcto de ese sistema. En caso de que sufra daño cualquier porción de la base de datos. El DBA debe definir y poner en practica un plan de recuperación adecuado que incluya, por ejemplo una descarga o "vaciado" periódico de la base de datos en un medio de almacenamiento de respaldo, y procedimientos para cargar otra vez la base de datos a partir de vaciado más reciente cuando sea necesario.

Supervisar el desempeño y responder a cambios en los requerimientos: es responsabilidad del DBA organizar el sistema de modo que se obtenga el desempeño que sea "mejor para la empresa", y realizar los ajustes apropiados cuando cambien los requerimientos.

 









En cuanto al PA1, pues se realizo una investigación en el cual se abordaron cuatro puntos los cuales son los siguientes cada uno con sus respectiva información. 





1.1      Administrador de Base de Datos (DBA)

Un administrador de bases de datos (también conocido como DBA, en inglés database administrator) es aquel profesional que administra las tecnologías de la información y la comunicación, siendo responsable de los aspectos técnicos, tecnológicos, científicos, inteligencia de negocios y legales de bases de datos, y de la calidad de datos.

Entre sus funciones más destacadas están:

  • Gestión General de Base de Datos: El DBA es la persona con más conocimientos sobre base de datos en una organización. Como tal, debe entender las reglas básicas de la tecnología de base de datos relacional y ser capaz de comunicarlos con precisión a los demás.
  • Modelado de Datos y Diseño de Base de Datos: Un DBA debe ser un profesional experto en la recopilación y análisis de las necesidades del usuario para obtener modelos de datos conceptuales y lógicos. Esta tarea es más difícil de lo que parece. Un modelo conceptual de datos describe los requisitos de datos a un nivel muy alto, un modelo de datos lógico proporciona en profundidad los detalles de los tipos de datos, longitudes, relaciones y cardinalidad. El DBA utiliza técnicas de normalización para ofrecer modelos de datos que reflejen las necesidades de los datos de la empresa.
  • Auditoria: Una de las tareas de un DBA es identificar qué usuarios tienen acceso a insertar, actualizar o eliminar datos, y cuándo. Una auditoría NO sólo podría ser necesaria por un tiempo limitado, para usuarios específicos o datos específicos. También puede ser requerida  24/7 para todos los datos que se introduzcan en el DBMS. Regularmente, para realizar las funciones de autorías los DBAs tienen que trabajar en combinación con los auditores internos y externos de la empresa.
  • Integración con aplicaciones: La mayoría de las empresas hoy en día utilizan aplicaciones de terceros (casi nadie ya desarrolla sus propias aplicaciones in-house), muy pocas de estas aplicaciones funcionan de manera aislada. En otras palabras, las aplicaciones tienen que interconectarse unas con otras, generalmente utilizando base de datos como el medio para compartir los datos. Los DBAs a menudo se involucran en los procesos de integrar las aplicaciones existentes con las bases datos que administran. Esto puede incluir la creación de aplicaciones a medida, scripts, etc.
  • Resguardo y recuperación de datos: Uno de los aspectos más fundamentales del trabajo del DBA es proteger los datos de la organización. Esto incluye hacer copias de seguridad periódicas de los datos y mantenerlos a salvo de la destrucción accidental o intencional. Además, diseñar, implementar y probar un plan de recuperación para que cuando se presenten los problemas, los datos se pueden restaurar rápidamente.
  • Inteligencia de negocios y almacenamiento de datos: Una de las áreas de mayor crecimiento para el DBA es la Inteligencia de Negocios (BI) y almacenamiento de datos. Esto se debe a que cada vez más organizaciones están tratando de extraer toda la información que pueda con el fin de tomar mejores decisiones de negocios.
  • Planificación de capacidad: En la mayoría de las organizaciones, el número y tamaño de las bases de datos crece rápidamente. Es la responsabilidad del DBA gestionar el creciente volumen de datos y diseñar los planes apropiados para administrarlos. Esto incluye también la gestión del hardware donde se almacenan los datos.
  • Administración de cambios: La configuración del servidor SQL Server o MySQL, el esquema de base de datos, el código de Transact-SQL, y muchas otras facetas del ecosistema de aplicaciones cambian con el tiempo. A menudo es la responsabilidad del DBA realizar el análisis de impacto antes de realizar los cambios dentro de una DBMS. Implementar cambios, hacer pruebas piloto y documentar todos los cambios y procedimientos es parte del trabajo de un DBA.
  • Desarrollo de aplicaciones: Muchos administradores de base datos deben de desarrollar aplicaciones y scripts con el objetivo de automatizar tareas relacionadas con la inserción, sustracción o borrado de información dentro del manejador de base de datos. En general, éste debe de colaborar a nivel de integración de sistema con los desarrolladores de aplicaciones, por lo que a veces se ve en la obligación de desarrollar código para casos específicos.

Algunas tareas que ejecutan los DBA tenemos:

  • Implementar, dar soporte y gestionar bases de datos corporativas.
  •  Crear y configurar bases de datos relacionales.
  •  Ser responsables de la integridad de los datos y la disponibilidad.
  •  Diseñar, desplegar y monitorizar servidores de bases de datos.
  •  Diseñar la distribución de los datos y las soluciones de almacenamiento.
  • Garantizar la seguridad de las bases de datos, realizar copias de seguridad y llevar a cabo la recuperación de desastres.
  •  Planificar e implementar el aprovisionamiento de los datos y aplicaciones.
  •  Diseñar planes de contingencia.
  •  Diseñar y crear las bases de datos corporativas de soluciones avanzadas.
  •  Analizar y reportar datos corporativos que ayuden a la toma de decisiones en la inteligencia de negocios.
  •  Producir diagramas de entidades relacionales y diagramas de flujos de datos, normalización esquemática, localización lógica y física de bases de datos y parámetros de tablas.

Los administradores de bases de datos tienen competencias y capacidades en uno o más sistemas de gestión de bases de datos, algunos ejemplos: Microsoft SQL Server, IBM DB2, Oracle MySQL, Oracle database, IBM Informix y SQL Anywhere.




1.2      Análisis de los manejadores de bases de datos

Un Sistema Manejador de Bases de Datos (SGBD) o Data Base Management System (DBMS) es una colección de software muy específico, cuya función es servir de interfaz entre la base de datos, el usuario y las distintas aplicaciones utilizadas. Lo hace mediante una serie de rutinas de software para permitir su uso de una manera segura, sencilla y ordenada. Se trata, en suma, de un conjunto de programas que realizan tareas de forma interrelacionada para facilitar la construcción y manipulación de bases de datos, adoptando la forma de interfaz entre éstas, las aplicaciones y los mismos usuarios.

Manejadores de bases de datos gratuitos

MySQL

Es la base de datos de código abierto más popular del mercado. Gracias a su rendimiento probado, a su fiabilidad y a su facilidad de uso, MySQL se ha convertido en la base de datos líder elegida para las aplicaciones basadas en web y utilizada por empresas web de perfil alto. Gestor de simple instalación que actúa del lado del cliente (servidor) y de código abierto con licencia comercial disponible. Actualmente, pertenece a Oracle Corporation. Gestiona bases de datos relacionales y es multiusuario. Destaca por requerir de poca memoria y procesador para funcionar, dando lugar además a una mayor velocidad en sus operaciones.



PostgreSQL
Es un sistema de gestión de bases de datos relacional orientado a objetos, ya que incluye características de la orientación a objetos, como puede ser la herencia, tipos de datos, funciones, restricciones, disparadores, reglas e integridad transaccional, liberado bajo la licencia BSD. Su desarrollo no es manejado por una empresa o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre o apoyados por organizaciones comerciales.

SQLite

Es una biblioteca escrita en leguaje C que implementa un Sistema de gestión de bases de datos transaccionales SQL auto-contenido, sin servidor y sin configuración. No necesita un proceso separado funcionando como servidor ya que lee y escribe directamente sobre archivos que se encuentran en el disco duro. El formato de la base de datos es multiplataforma e indistintamente se puede utilizar el mismo archivo en sistemas de 32 y 64 bits.



A diferencia de los sistema de gestión de bases de datos cliente-servidor, el motor de SQLite no es un proceso independiente con el que el programa principal se comunica. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo.

FireBird

Es un sistema de administración de base de datos relacional que trabaja con el lenguaje SQL para manipular datos. Dispone de la mayoría de las instrucciones DDL y DML estándar de SQL. Firebird es muy versátil, puede ejecutarse como servicio o aplicación. Es compatible con Windows y Linux. Entre otras funciones, da soporte completo para procedimientos almacenados, transacciones compatibles con las características ACID y métodos de acceso múltiple (nativo, Python, .NET, etc).



Manejadores de bases de datos de pago

Oracle

Es uno de los sistemas de gestión de base de datos relacional más fiable y usado. Pertenece a Oracle Corporation y se desarrolló en 1977. Está construido alrededor de un marco en el que se puede acceder directamente a los objetos a partir del lenguaje de consulta SQL. Oracle es una arquitectura escalable y muy utilizada por las empresas. Tiene su propio componente de red para que pueda haber comunicación a través de las redes. Se ejecuta en casi todas las plataformas (Windows, Unix, Linux, MAC OS…). La principal y peculiar característica de Oracle es que, su arquitectura, se divide entre la lógica y la física. A grandes rasgos, esto permite una mayor flexibilidad en las redes de datos y, a la vez, robustez en la estructura de los datos.


Microsoft SQL Server

Es un sistema de manejo de bases de datos del modelo relacional, desarrollado por la empresa Microsoft. El lenguaje de desarrollo utilizado (por línea de comandos o mediante la interfaz gráfica de Management Studio) es Transact-SQL (TSQL), una implementación del estándar ANSI del lenguaje SQL, utilizado para manipular y recuperar datos (DML), crear tablas y definir relaciones entre ellas (DDL). Integra un conjunto de programas que añaden características, como pueden ser el tratamiento de errores y excepciones, procesamiento de datos, extracción de datos directos de Web, uso de distintos lenguajes de programación, etc… y más características que hacen de SQL Server un gestor muy completo. Además, destaca por su carácter administrativo  tanto en sus funciones y seguridad como en la flexibilidad de las bases de datos.


DB2

Es una marca comercial, propiedad de IBM, bajo la cual se comercializa el sistema de gestión de base de datos. Utiliza XML como motor, además el modelo que emplea es el jerárquico en lugar del modelo relacional que utilizan otros gestores. Permite el manejo de objetos grandes (hasta 2 GB), definición de datos y funciones por parte del usuario, el chequeo de integridad referencial, SQL recursivo, soporte multimedia: texto, imágenes, video, audio; queries paralelos, commit de dos fases, backup/recuperación on−line y offline.



Microsoft Access

Es un sistema de gestión de bases de datos Relacional creado por Microsoft (DBMS) para uso personal de pequeñas organizaciones. Se ha ofrecido siempre como un componente de la suite Microsoft Office aunque no se incluye en el paquete “básico”. Una posibilidad adicional es la de crear ficheros con bases de datos que pueden ser consultados por otros programas. Entre las principales funcionalidades reseñables podemos indicar que: Ofrece un entorno de programación a través de VBA y puede realizar llamadas a la API de Windows. 


1.3.Consideraciones para elegir un SGBD

 Pasos importantes para configurar una base de datos para una empresa dada.

 

·Identificar entidades, atributos y relaciones entre ellos.

·Realizar la especialización

·Llevar acabo la normalización

· Crear base de datos 

·Introducir datos.

Diferencia entre independencia de datos física y lógica.

La independencia fisica permite realizar estructuras de almacenamiento de datos en forma independiente de su estructura lógica mientras que la independencia logica permite independencia entre los datos vistos por las aplicaciones y la estructura lógica de ellos en la realidad.

 Cinco Responsabilidades del Sistema Gestor de la Base de Datos.  

·Gestor de autorización e integridad, comprueba que se satisfagan las restricciones de integridad y la autorización de los usuarios para acceder a los datos. 

·Gestor de transacciones, asegura que la base de datos quede en un estado consistente (correcto) a pesar de los fallos del sistema, y que las ejecuciones de transacciones concurrentes ocurran si conflictos.

·Gestor de archivos, gestiona la reserva de espacio de almacenamiento de disco y las estructuras de datos usadas para representar la información almacenada en disco.

·Gestor de memoria intermedia, es responsable de traer los datos del disco de almacenamiento a memoria principal y decidir qué datos tratar en memoria caché.

·Respaldo y recuperación, constantemente saca respaldos para en dado caso en que la bd sea dañada o alterada puedan recuperarse los datos.

Cual es la disponibilidad de soporte de este gestor de bases de datos

Es factible que encuentre personal capacitado facilmente para resolver problemas en mi gestor de bases de datos, por ejemplo veamos la capacidad de personas a tu alrrededor que usan Oracle, SQL Server, PosgreSQL, MySQL, etc., las entidades educativas de mi entorno dictan cursos del gestor de base de datos y cuales son estos gestores, si es posible determianr el costo de un especialista en dicho gestor de base de datos.

Si las aplicaciones que van a consumir esos datos son de mision critica y se requiere alta disponibilidad y soluciones rapidas, no es recomendable usar un DBMS poco conocido en el mercado y mucho menos que sea nuevo como los gestores non-SQL ya que nadie los conoce y si mi gestor de base de datos sufre una caida, Quien, cuando y cuanto va a costar repararlo ya que a pesar de poseer una muy buena politica de backups, puede que el msimo servidor se dañe (hardware) y si no consigo alguien que lo ponga en liena lo mas rapido posible estare en problemas pues la empresa va a tener una larga caida que se representara en dinero y falta de productividad.

Cual es la carga de transacciones que va a soportar esa base de datos 

Si voy a necesitar una alta carga de transacciones (mayores a 200 usuarios conectados al mismo tiempo) es necesario que se vaya pensando en algo robusto y bien probado en el mercado servidores como cualquier version express (SQL Servr, DB2, etc.) no es aceptable, si lo que se desea es algo libre pues PostgreSQL es la respuesta (personalmente no recomiendo MySQL y es solo por gusto personal y por que aun no veo un buen futuro ahora en las manos de ORACLE)

Que sistema operativo se planea implementar

Esta comprobado que SGBD diseñados en opensource corren mucho mas rapido en entornos operativos basados en UNIX que sobre Windows, asi que aqui deberia de tenerse encuenta el sistema operativo, si no se ha tomado la desicion entonces elegir el sistema operativo del servidor dependiendo del SGBD,  he revizado algunos foros y en especial el foro oficial de posgreSQL y alli en mas de una oprtunidad la gente que ha realizado pruebas de este SGBD indican que se tiene un 25% de optimizacion corriendo sobre LINUX que sobre Windows.

Si no se tiene un sistema operativo en el servidor seria recomendable elegirlo en base al SGBD y esto tambien tendria consideraciones como la operatividad y la capacidad de administracion de un servidor en tal o cual SO y los gastos que implicarian su mantenimiento.

En caso de un apicativo WEB cuales seran las consideraciones

No hay muchas consideraciones que tomar en cuanto al aplicativo ya que si esta hecho sobre PHP,  IIS en sus ultimas versiones implementa un soporte que es algunas veces superior al que implementa Apache, pero lo optimo seria que la aplicacion se pudiera adecuar a cualquier SGBD tal cual lo hace algunos CMS que puedne instalarse en varios SGBD.

Siempre y por siempre seria la disponibilidad y la carga de trabajo que va a tener el servidor de datos y si es posible la capacidad de alta disponibilidad, aqui entrarian a tratar tambien terminos como Cloud, Private cloud que tratare en otro momento.



1.4 Nuevas tecnologías y aplicaciones de los sistemas de bases de datos

Los sistemas orientados a los datos se caracterizan porque los datos no son de una aplicación sino de una Organización entera que los va a utilizar; se integran las aplicaciones, se diferencian las estructuras lógicas y físicas.

El concepto de relación cobra importancia. Originalmente las aplicaciones cubrían necesidades muy específicas de procesamiento, se centraban en una tarea específica. Las bases de datos evitan las inconsistencias que se producían por la utilización de los mismos datos lógicos desde distintos archivos a través de procesos independientes.

 

 

·                     El mundo real considera interrelaciones entre datos y restricciones semánticas que deben estar presentes en una base de datos. No solo debe almacenar entidades y atributos, sino que también debe almacenar interrelaciones entre datos.

 

·                     La redundancia de datos debe ser controlada, pero si se admite cierta redundancia física por motivos de eficiencia.

 

·                     Pretenden servir a toda la organización.

 

·                     La independencia de los tratamientos sobre los datos y estos mismos, ha tenido una enorme influencia en la arquitectura de los SGBD.


 

·                     La definición y descripción del conjunto de datos contenido en la base debe ser única e integrada con los mismos datos.

 

·                     La actualización y recuperación de las bases de datos debe realizarse mediante procesos incluidos en SGBD, de modo que se mantenga la integridad, seguridad y confidencialidad de la base.

 

Las limitaciones de los sistemas orientados a archivos puramente secuenciales no los privaron de ser herramientas eficaces para producir pagos, facturas y otros informes una o dos veces al mes. Sin embargo, para ejecutar muchas tareas rutinarias en los negocios se necesita el acceso directo a los datos -La capacidad de tener acceso y procesar directamente un registro dado sin ordenar primero el archivo o leer los registros en secuencia.

Los archivos de acceso directo permiten la recuperación de los registros aleatoriamente, a diferencia de los de acceso secuencial. Sin embargo, los archivos de acceso directo solamente proporcionaron una solución parcial. Para lograr una solución más completa a estos problemas fue necesario introducir los sistemas de gestión de bases de datos.

Los usuarios cada vez necesitamos más recursos en tecnología, es por eso que surgen las evoluciones de sistemas, y por ende de las bases de datos, es impresionante ver como la información se procesa en microsegundos, mientras se realizan transacciones al mismo tiempo en la misma base de datos en lugares y estados diferentes, la importancia de la información es lo que ha llevado a que las empresas y otras instituciones inviertan para la seguridad de sus datos, el futuro de la tecnología es incierto debido a que algunas proyecciones de tecnología estimadas hace 5 años y proyectadas hasta los próximos 10 años ya son una realidad, la tecnología avanza a pasos agigantados es por eso que no debemos quedarnos atrás y apostar a las nuevas tecnologías que sin duda harán más fácil la vida de las personas que tratamos con la administración y seguridad de la información.

 

Tanto en uno como en otro papel, la tecnología de bases de datos se ve sometida a numerosos cambios tanto desde el punto de vista empresarial como tecnológico. Las nuevas aplicaciones están llevando hasta el límite a los sistemas de bases de datos disponibles, al incorporar documentos multimedia. Imágenes, series temporales, datos activos, grandes cantidades de información (no olvidemos que los datos se expanden hasta llenar el espacio disponible), etc.

Por otro lado la mejora espectacular en el número de instrucciones de máquina ejecutables en un segundo, coste de procesador, coste de la unidad de memoria secundaria y de memoria principal, numero de bits transmitidos por unidad de coste y por segundo, obligan a los SGBD a evolucionar para aprovechar estos avances en el hardware y las comunicaciones. En este sentido la explosión de Internet, el World Wide Web, y las “autopistas de la información” (informationhighWay), cuya utilización crece a un ritmo vertiginoso, están imponiendo un nuevo escenario para el desarrollo de los sistemas de información.

Los sistemas de bases de datos, como elemento clave de los sistemas de información. Deben jugar un papel fundamental en esta explosión de información, si no quieren "ser arrollados en /as autopistas de la información”, como advertía David De Witt. En el VLDB de 1995.Las bases de datos terminarán siendo como el teléfono: fáciles de usar (en cuanto interfaces, rendimiento, etc.), conectado con cualquier otra cosa alrededor del mundo, con estándares reconocidos en todas partes, consistentes y fiables y con mayores funcionalidades. Las nuevas tecnologías de bases de datos permitirán hacer realidad aplicaciones hoy en día inimaginables tanto por el volumen de datos que manejarán (serán auténticasVLDB2) como por las facilidades para su explotación.

La independencia  de  los  tratamientos sobre  los  datos  y  estos  mismos,  ha  tenido  una  enorme influencia  en  la  arquitectura  de  los  SGBD  (conjunto  de  programas  que  permiten  el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información usando herramientas específicas de consulta y de generación de informes, o bien mediante aplicaciones al efecto).

 La definición y descripción del conjunto de datos contenido en la base debe ser única e integrada con los mismos datos. La actualización y recuperación de las bases de datos debe realizarse mediante procesos incluidos en SGBD, de modo que se mantenga la integridad, seguridad y confidencialidad de la base.

 Los usuarios cada vez necesitamos más recursos en tecnología, es por eso que surgen las evoluciones de sistemas,  y por ende de las  bases de datos,  es  impresionante ver  como  la información se procesa en microsegundos, mientras se realizan transacciones al mismo tiempo en la misma base de datos en lugares y estados diferentes, la importancia de la información es lo que ha llevado a que las empresas y otras instituciones inviertan para la seguridad de sus datos, el futuro de la tecnología es incierto debido a que algunas proyecciones de tecnología estimadas hace 5 años y proyectadas hasta los próximos 10 años ya son una realidad, la tecnología avanza a pasos agigantados es por eso que no debemos quedarnos atrás y apostar a las nuevas tecnologías que si duda harán más fácil la vida de las personas que tratamos con la administración y seguridad de la información.



 


No hay comentarios:

Publicar un comentario