1.1. Administrador de Base de Datos (DBA)
Un administrador de bases de datos (o DBA) tiene la responsabilidad de mantener y operar las bases de datos que conforman el sistema de información de una compañía.
Debido a la importancia de los datos que están a su cargo, el administrador de bases de datos debe ser experto en TI (tecnología de la información), teniendo particular conocimiento de DBMS (sistemas de administración de bases de datos) y el lenguaje de consulta SQL. También debe tener conocimiento de varios tipos de lenguaje de programación para poder automatizar ciertas tareas.
Una de sus tareas es la de asegurar la integridad del sistema de información de la compañía. Además, es necesario que posea un buen entendimiento de DBMS para optimizar las consultas, ajustar la configuración de DBMS o para sincronizar en forma precisa las herramientas de control del acceso a las bases de datos.
Es posible que el administrador de bases de datos tenga que brindar asistencia técnica a usuarios de las aplicaciones cliente o equipos de desarrollo para solucionar problemas, dar consejos o ayudar a resolver consultas complicadas.
Al trabajar con el jefe de seguridad, el administrador de bases de datos debe crear copias de seguridad, planes y procedimientos de restauración para preservar los datos de los cuales es responsable.
Además de estas habilidades técnicas, el administrador de bases de datos debe poseer un buen entendimiento de las aplicaciones de la compañía y estar dispuesto a atender las necesidades de los usuarios cuando desarrolla o edita una base de datos. En el mejor de los casos, debe tener experiencia en diseño de sistemas de información y modelos UML (Lenguaje unificado de modelos).
El salario de un administrador de bases de datos puede variar entre 32.000 y 55.000 euros anuales, en función de la importancia y la complejidad del sistema de información y de las responsabilidades que deberá asumir.
1.1.1 Funciones de un DBA
Los DBA realizan pruebas de rendimiento, pruebas de impacto, pruebas funcionales, pruebas de código, pruebas de carga de datos, pruebas de implementación y pruebas de integración en proyectos Investigación, desarrollo e innovación. Para la ejecución de pruebas es necesario aplicar las metodologías basadas en Ingeniería del software, sus aplicaciones funcionales y los requerimientos de calidad, añadiendo las líneas base de la ingeniería requerimientos en la inteligencia de negocios y las tecnologías de la información. Algunas de las actividades más relevantes de un DBA son:
- Analistas de datos.
- Analistas de sistemas.
- Analistas de programación.
- Administradores de bases de datos.
- Consultores de sistemas.
- Consultores de tecnologías de la información.
- Consultores de aplicaciones.
- Consultores de programación.
- Programadores de bases de datos.
- Programadores de procesos de negocio.
- Integradores de datos.
- Ingenieros de datos.
- Ingenieros estadísticos.
- Jefes de centros de datos.
- Coordinadores de área
1.1.2 Relación del DBA con otras áreas de la Sistemas.
En sistemas muy complejos cliente/servidor y de tres capas, la base de datos es sólo uno de los elementos que determinan la experiencia de los usuarios en línea y los programas desatendidos. El rendimiento es una de las mayores motivaciones de los DBA para coordinarse con los especialistas de otras áreas del sistema fuera de las líneas burocráticas tradicionales. Uno de los deberes menos respetados por el administrador de base de datos es el desarrollo y soporte a pruebas, mientras que algunos otros encargados lo consideran como la responsabilidad más importante de un DBA. Las actividades de soporte incluyen la colecta de datos de producción para llevar a cabo pruebas con ellos; consultar a los programadores respecto al desempeño; y hacer cambios a los diseños de tablas de manera que se puedan proporcionar nuevos tipos de almacenamientos para las funciones de los programas.
1.2. Análisis de los manejadores de bases de datos
El sistema manejador de bases de datos es la porción más importante del software de un sistema de base de datos. Un DBMS es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea específica.
Microsoft SQL Server al igual que Oracle DB y MySQL Server son sistemas de gestión o manejadores de base de datos, existen muchos como:
- MySQL
- PosgreSQL
- Microsoft SQL Server
- Oracle
- Microsoft Access
- Microsoft Visual Fox Pro
- Firebird
- mSQL (mini SQL)
- IBM DB2
- IBM Informix
- SQLite
- Sybase ASE
- Paradox
- dBase
Pero existen algunas ventajas y desventajas que los hace diferentes para la gestión de la base de datos. Estas diferencias son importantes para las grandes organizaciones y empresas pequeñas elegir el de mayor beneficio, confiabilidad y seguridad en la administración de los datos.
Analizaremos las ventajas y desventajas de Microsoft SQL Server, Oracle DB y MySQL Server, por ser los más usados y los más comunes.
MySQL server a diferencia de Microsoft SQL server es un servidor multi-hilo popular de base de datos de código abierto, confiable, compacto, poderoso y multiplataforma, podemos hacer las bases de datos a código abierto, una gran ventaja es que se puede utilizar gratis y su código fuente esta siempre disponible.
Las principales ventajas de MySQL Server son:
- Software gratuito.
- La velocidad y robustez.
- Multiproceso, es decir que puede usar varias CPU si éstas están disponibles.
- Multiplataforma, es decir que puede trabajar en distintos Sistemas Operativos.
- Sistema de contraseñas y privilegios muy flexibles y seguros.
- Microsoft SQL server constituye la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos como son Oracle, Sybase ASE, PostgreSQL, Interbase, Firebird o MySQL
- Las principales ventajas de SQL Server son:
- Soporte de transacciones.
- Escalabilidad, estabilidad y seguridad.
- Soporta procedimientos almacenados.
- Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el servidor y las terminales o clientes de la red sólo acceden a la información.
- Además permite administrar información de otros servidores de datos.
- Una desventaja de SQL Server es que es costoso.
- Oracle es un sistema desarrollado por Oracle Corporation. Se considera a Oracle como uno de los sistemas de bases de datos más completos.
- Las principales ventajas son:
- Soporte de transacciones.
- Estabilidad.
- Escalabilidad.
- Soporte multiplataforma.
- Una desventaja de este son las políticas de seguridad en el suministro de parches de actualización
Debido a que en el mercado mundial existen muchos manejadores de bases de datos es importante tomar en cuenta algunas consideraciones de importancia para elegir cuál es el que más conviene a nuestros intereses. Por ejemplo:
+ Cual es la disponibilidad de soporte de este gestor de bases de datos
Es factible que encuentre personal capacitado fácilmente para resolver problemas en mi gestor de bases de datos, por ejemplo veamos la capacidad de personas que usan Oracle, SQL Server, PosgreSQL, MySQL, etc., las entidades tienen que ser gestionadas por un Administrador de bases de datos, de igual manera debe considerarse si es posible determinar el costo de un especialista en dicho gestor de base de datos o si el gestor nos brinda soporte en línea o vía remota.
Si las aplicaciones que van a consumir esos datos son de misión critica y se requiere alta disponibilidad y soluciones rápidas, 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 caída, quien, cuándo y cuánto va a costar repararlo ya que a pesar de poseer una muy buena política de backups, puede que el mismo servidor se dañe (hardware) y si no consigo alguien que lo ponga en línea lo mas rápido posible estaré en problemas pues la empresa va a tener una larga caída 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 versión express (SQL Servr, DB2, etc.) no es aceptable, si lo que se desea es algo libre pues PostgreSQL es la respuesta .
+ Que sistema operativo se planea implementar
Está comprobado que SGBD diseñados en opensource (Código abierto) corren mucho más rápido en entornos operativos basados en UNIX que sobre Windows, así que aquí debería de tenerse en cuenta el sistema operativo, si no se ha tomado la decisión entonces elegir el sistema operativo del servidor dependiendo del SGBD, en foros como los de PosgreSQL, por ejemplo, la gente que ha realizado pruebas de este SGBD indican que se tiene un 25% de optimización corriendo sobre LINUX que sobre Windows.
Si no se tiene un sistema operativo en el servidor sería recomendable elegirlo en base al SGBD y esto también tendría consideraciones como la operatividad y la capacidad de administración de un servidor en tal o cual SO y los gastos que implicarían su mantenimiento.
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.
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. 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
2.- Arquitectura e instalación del SGBD
2.1 Estructura de memoria y procesosde la instancia
La memoria se puede estructurar en las siguientes partes:
Área Global del sistema (SGA), la cual se comparte entre todos los servidores y
los procesos en segundo plano.
Áreas globales de programas (PGA), que es privada para cada servidor y proceso
en segundo planos; a cada proceso se asigna un PGA.
Área de Ordenaciones (Sort Areas).
Instancia de una Base de Datos
Cada instancia está asociada a una base de datos. Cuando se inicia una base de
datos en un servidor (independientemente del tipo de computadora), se le asigna
un área de memoria (SGA) y lanza uno o más procesos. A la combinación del
SGA y de los procesos es lo que se llama instancia. La memoria y los procesos de
una instancia gestionan los datos de la base de datos asociada de forma eficiente
y sirven a uno o varios usuarios.
Cuando se inicia una instancia El DBMS monta la base de datos, es decir, asocia
dicha instancia a su base de datos correspondiente. En un misma computadora
pueden ejecutarse varias instancias simultáneamente, accediendo cada una a su
propia base de datos física.
Únicamente el administrador de la base de datos puede iniciar una instancia y
abrir una base de datos. Si una base de datos está abierta, entonces el
administrador puede cerrarla y, cuando esto ocurre, los usuarios no pueden
acceder a la información que contiene.
2.1.2 Estructuras físicas de la base de datos
En una base de datos almacenamos información relevante para nuestro negocio u
organización y desde el punto de vista físico, la base de datos está conformada
por dos tipos de archivos:
- Archivos de datos: contiene los datos de la base de datos internamente, está compuesto por páginas enumeradas secuencialmente que representa la unidad mínima de almacenamiento. Cada página tiene un tamaño de 8kb de información. Existen diferentes tipos de páginas, a tener en cuenta:
Páginas de datos: es el tipo principal de páginas y son las que
almacenan los registros de datos.
Páginas de espacio libre (PFS Page Free Space): almacenan
información sobre la ubicación y el tamaño del espacio libre.
Paginas GAM and SGAM: utilizadas para ubicar extensiones.
Páginas de Mapa de Ubicaciones de índices (IAM – Index Allocation
Map): contiene información sobre el almacenamiento de páginas de
una tabla o índice en particular.
Páginas Índices: Utilizada para almacenar registros de índices.
- Archivo de Registro de Transacciones: El propósito principal del registro de transacciones es la recuperación de datos a un momento en el tiempo o complementar una restauración de copia de respaldo completa (full backup). El registro de transacciones no contiene páginas, sino entradas con todos los cambios realizados en la base de datos, como son las modificaciones de datos, modificaciones de la base de datos y eventos de copia de seguridad y restauración. El acceso a datos es secuencial, ya que el registro de transacciones se actualiza en el mismo orden cronológico en el que se hacen las modificaciones. Este archivo no puede ser leído por herramientas de usuario de SQL auqnue existen herramientas de terceros que leen este archivo para recuperar los cambios efectuados. Dependiendo de la versión el registro de transacciones se utiliza para otros propósitos como por ejemplo bases de datos espejo (mirror) y transporte remoto de transacciones (log shipping). Para muchos de los administradores de bases de datos, la imagen anterior representa la parte lógica y la parte física, donde:
Data File:
Los datafiles son los archivos físicos en los que se almacenan los objetos que
forman parte de un tablespace. Un datafile pertenece solamente a un tablespace y
a una instancia de base de datos. Un tablespace puede estar formado por uno o
varios datafiles. Cuando se crea un datafile, se debe indicar su nombre, su
ubicación o directorio, el tamaño que va a tener y el tablespace al que va a
pertenecer. Además, al crearlos, ocupan ya ese espacio aunque se encuentran
totalmente vacíos, es decir, Oracle reserva el espacio para poder ir llenándolo
poco a poco con posterioridad. Por supuesto, si no hay sitio suficiente para crear
un archivo físico del tamaño indicado, se producirá un error y no se creará dicho
archivo.
Cuando se van creando objetos en un tablespace, éstos físicamente se van
almacenando en los datafiles asignados a dicho tablespace, es decir, cuando
creamos una tabla y vamos insertando datos en ella, estos datos realmente se
reparten por los archivos físicos o datafiles que forman parte del tablespace. No se
puede controlar en qué archivo físico se almacenan los datos de un tablespace. Si
un tablespace está formado por 2 datafiles y tenemos una tabla en ese
tablespace, a medida que vamos insertando filas éstas se almacenarán en
cualquiera de los dos datafiles indistintamente, es decir, unas pueden estar en un
datafile y otras en otro.
El espacio total disponible en un tablespace es lógicamente la suma de los
tamaños que ocupan los archivos físicos o datafiles que lo forman. Como hemos
indicado estos datafiles, al crearlos, están totalmente vacíos, simplemente es un
espacio reservado y formateado por Oracle para su uso. A medida que se van
creando objetos en ellos como tablas, índices, etc. y se van insertando registros
en estas tablas, los datafiles se van llenando o, lo que es lo mismo, el tablespace
se va llenando.
Tienen las siguientes características:
- Un archivo sólo puede estar asociado con una base de datos.
- Los archivos de datos tienen atributos que permiten reservar automáticamente para ellos extensiones cuando se acaba el espacio.
- Uno o más archivos de datos forman una unidad lógica de almacenamiento llamada tablespace
Os Block:
Conocidos como Disk Block, estos mapean a los data blocks. A la hora de crear
una nueva base de datos se debe indicar cuántos bloques de sistema operativo
formarán un bloque de datos.
2.1.3 Requerimientos para instalación
Las siguientes secciones presentan los requisitos mínimos de hardware y software
para instalar y ejecutar SQL Server 2008 R2. Para obtener más información
acerca de los requisitos para Analysis Services en modo integrado de SharePoint,
vea Requisitos de hardware y software (PowerPivot para SharePoint).
En las ediciones de 32 o de 64 bits de SQL Server 2008 R2 se aplica lo siguiente:
SQL Server 2008 R2 Datacenter está disponible para su evaluación durante un
período de prueba de 180 días. Para obtener más información, vea el sitio
web SQL Server: How to Buy.
Microsoft recomienda ejecutar SQL Server 2008 R2 en equipos con el formato de
archivo NTFS. Para las actualizaciones a SQL Server 2008 R2, los sistemas de
archivos FAT32 no se bloquearán.
La instalación de SQL Server bloqueará las instalaciones en unidades de disco de
solo lectura o comprimidas.
Para obtener información acerca del uso de herramientas de SQL Server 2008 R2
para preparar una actualización a SQL Server 2008 R2, vea Usar el Asesor de
actualizaciones para preparar las actualizaciones.
SQL Server no instala el kit de desarrollo de software (SDK) de .NET Framework
3.5. Sin embargo, el SDK contiene herramientas que son útiles cuando se usa
.NET Framework para desarrollo de SQL Server. Puede descargar el SDK de
.NET Framework desde el sitio web de .NET Framework.
Requisitos de reinicio de equipos durante la instalación de SQL Server: la
instalación de .NET Framework requiere un reinicio del sistema operativo. Si la
instalación de Windows Installer también requiere un reinicio, el programa de
instalación esperará hasta que se hayan instalado los componentes de .NET
Framework y Windows Installer antes de reiniciar.
UNIDAD 3 Configuración y administración del espacio en disco
3.1.1 Definición de Almacenamiento de Bases de Datos
Las bases de datos suelen ser creadas para almacenar grandes cantidades de datos de forma permanente. Por lo general, los datos almacenados en éstas suelen ser consultados y actualizados constantemente.
La mayoría de las bases de datos se almacenan en las llamadas memorias secundarias, especialmente discos duros, aunque, en principio, pueden emplearse también discos ópticos, memorias flash, etc.
Las razones por las cuales las bases de datos se almacenan en memorias secundarias son:
· En general, las bases de datos son demasiado grandes para entrar en la memoria primaria.
· La memoria secundaria suele ser más barata que la memoria primaria (aunque esta última tiene mayor velocidad).
· La memoria secundaria es más útil para el almacenamiento de datos permanente, puesto que la memoria primaria es volátil.
3.1.2.- Definición y Creación del Espacio Asignado para cada Base de Datos
Las bases de datos se almacenan en ficheros o archivos. Existen diferentes formas de organizaciones primarias de archivos que determinan la forma en que los registros de un archivo se colocan físicamente en el disco y, por lo tanto, cómo se accede a éstos.
Las distintas formas de organizaciones primarias de archivos son:
· Archivos de Montículos (o no Ordenados): esta técnica coloca los registros en el disco sin un orden específico, añadiendo nuevos registros al final del archivo.
· Archivos Ordenados (o Secuenciales): mantiene el orden de los registros con respecto a algún valor de algún campo (clave de ordenación).
· Archivos de Direccionamiento Calculado: utilizan una función de direccionamiento calculado aplicada a un campo específico para determinar la colocación de los registros en disco.
· Árboles B: se vale de la estructura de árbol para las colocaciones de registros.
· Organización Secundaria o Estructura de Acceso Auxiliar: Estas permiten que los accesos a los registros de un archivo basado en campos alternativos, sean más eficientes que los que han sido utilizados para la organización primaria de archivos.
El DBMS asigna espacio de almacenamiento a las bases de datos cuando los usuarios introducen create database o alter database. El primero de los comandos puede especificar uno o más dispositivos de base de datos, junto con la cantidad de espacio en cada uno de ellos que será asignado a la nueva base de datos.
Si se utiliza la palabra clave default o se omite completamente la cláusula on, el DBMS pone la base de datos en uno o más de los dispositivos predeterminados de base de datos especificados en master.sysdevices.
Para especificar un tamaño (por ejemplo, 4MB) para una base de datos que se va a almacenar en una ubicación predeterminada, se utiliza: on default = size de esta forma:
create database newpubs on default = 4
3.3 Bitácoras
La estructura más ampliamente usada para grabar las modificaciones de la base de datos es la Bitácora. Cada registro de la bitácora escribe una única escritura de base de datos y tiene lo siguiente:
1. Nombre de la transacción: Nombre de la transacción que realizó la operación de escritura.
2. Nombre del dato: El nombre único del dato escrito.
3. Valor antiguo: El valor del dato antes de la escritura.
4. Valor nuevo: El valor que tendrá el dato después de la escritura
3.4 Particiones
Una partición es una división de una base de datos lógica o sus elementos constituyentes en partes independientes. La partición de bases de datos se hace normalmente por razones de mantenimiento, rendimiento o manejo.
Una aplicación popular y favorable es en un Sistema de Administración de Base de Datos Distribuida. Cada partición puede ser extendida hasta múltiples nodos, y los usuarios en el nodo pueden hacer transacciones locales en la partición. Esto aumenta el rendimiento en sitios que tienen transacciones regularmente involucrando ciertas vistas de datos, y manteniendo la disponibilidad y la seguridad.
Esta partición puede hacerse creando bases de datos más pequeñas separadas (cada una con sus propias tablas, índices, y registros de transacciones) o dividiendo elementos seleccionados, por ejemplo, solo una tabla.
Partición horizontal consiste en poner diferentes filas en diferentes tablas. Por ejemplo, clientes con códigos postales menores que 50000 están almacenados en la tabla ClientesEste, mientras que los clientes con códigos postales mayores o iguales a 50000 están almacenados en la tabla ClientesOeste. Las dos tablas de partición son entonces ClientesEste y ClientesOeste, mientras que una vista con una unión podría ser creada con las dos tablas para poder dar una vista completa de todos los clientes.
Partición vertical consiste en crear miles de tablas con miles de columnas y crear tablas para poner las columnas restantes.
Se puede particionar una tabla de 5 maneras diferentes:
Por rango: para construir nuestras particiones especificamos rangos de valores. Por ejemplo, podríamos segmentar los datos en 12 particiones: una para los contratos de 1950 a 1960, otra para los años 60, los 70, 80, 90, la década del 2000 y la década actual
3.5 Espacios privados
Un «espacio privado» permite que los administradores y redactores gestionen el conjunto de datos del sitio. Algunas bases de datos tienen estos espacios privados llamados comúnmente paneles de control, que son formularios que aparecen al abrir la base de datos.
Los paneles de control sirven de "puerta principal" o "recibidor" de una base de datos en el sentido de que dirigen a las personas hacia determinadas tareas, como introducir o buscar datos. Sirven también para mantener alejados a los usuarios de las tablas que contienen los datos en tiempo real.
Cuando reciba una base de datos, debe adentrarse más allá del panel de control para averiguar cómo están estructurados los datos, pero merece la pena echar un vistazo inicial al panel de control. Le puede ofrecer algún indicio sobre las tareas que el diseñador de la base de datos consideró que realizarían los usuarios habitualmente con los datos.
Puede hacer clic en los vínculos del panel de control para ver qué objetos, como formularios e informes, abren.
3.6 Espacios para objetos
Espacios Para Objetos
Los DBMS se basan en archivos para almacenar datos, y estos archivos, o conjuntos de datos, residen en medios de almacenamiento, o dispositivos. Una buena parte del trabajo del DBA implicará la planificación para el almacenamiento real de la base de datos.
Algunas tecnologías de almacenamiento son más adecuadas que otras. Sin embargo, la naturaleza mecánica de la unidad de disco los hace más vulnerables al fracaso de los componentes de otro equipo. Además, las formas en que las unidades de disco son utilizados por las bases de datos pueden hacer que la gestión del almacenamiento impredecibles, como la barra lateral "Modern DBMS de uso de disco“ Puede usarse RAID para mejorar la seguridad de los datos.
Operación y Mantenibilidad
Trata acerca de como se hacen las bitacoras.
Que funcion tienen y porque son tan importantes, ademas es necesario conocer porque son importante a la hora de realizar cambios o conocr un poco mas del sistema de base de datos que se esta manejando.
4.1 Bitacoras de trabajo del DBMS.
En muchos DBMS la bitácora incluye todo tipo de consulta incluyendo aquellas que no modifican los datos.
La operación ROLLBACK está basada en el uso de una bitácora. El DBMS (Sistema Manejador de Bases de Datos) mantiene una bitácora o diario en cinta o en disco, comúnmente, en el cual se registran los detalles de todas las operaciones de actualización, en particular, los valores iniciales y final del objeto modificado. Por tanto, si resulta necesario anular alguna modificación específica, el sistema puede utilizar la entrada correspondiente de la bitácora para restaurar el valor original del objeto restaurado.
4.1. Funciones especifica de las bitacoras.
La estructura más ampliamente usada para grabar las modificaciones de la base de datos es la Bitácora. Cada registro de la bitácora escribe una única escritura de base de datos y tiene lo siguiente.
Es fundamental que siempre se cree un registro en la bitácora cuando se realice una escritura antes de que se modifique la base de datos.
También tenemos la posibilidad de deshacer una modificación que ya se ha escrito en la base de datos, esto se realizará usando el campo del valor antiguo de los registros de la bitácora.
Los registros de la bitácora deben residir en memoria estable como resultado el volumen de datos en la bitácora puede ser exageradamente grande.
4.2 Recuperacion rollback
En tecnologías de base de datos, un rollback es una operación que devuelve a la base de datos a algún estado previo. Los Rollbacks son importantes para la integridad de la base de datos, a causa de que significan que la base de datos puede ser restaurada a una copia limpia incluso después de que se han realizado operaciones erróneas. Son cruciales para la recuperación de crashes de un servidor de base de datos; realizando rollback(devuelto) cualquier transacción que estuviera activa en el tiempo del crash, la base de datos es restaurada a un estado consistente.
En SQL, ROLLBACK es un comando que causa que todos los cambios de datos desde la última sentencia BEGIN WORK, o START TRANSACTION sean descartados por el sistema de gestión de base de datos relacional (RDBMS), para que el estado de los datos sea "rolled back"(devuelto) a la forma en que estaba antes de que aquellos cambios tuvieran lugar.
Una sentencia ROLLBACK también publicará cualquier savepoint existente que puediera estar en uso.
En muchos dialectos de SQL, ROLLBACKs son específicos de la conexión. Esto significa que si se hicieron dos conexiones a la misma base de datos, un ROLLBACK hecho sobre una conexión no afectará a cualesquiera otras conexiones. Esto es vital para el buen funcionamiento de la Concurrencia.
4.1.3 Permanencia commit
En cualquier momento, el programa podría decidir que es necesario hacer fallar la transacción, con lo que el sistema deberá revertir todos los cambios hechos por las operaciones ya hechas. En el lenguaje SQL se denomina COMMIT a aplicar_cambios y ROLLBACK a cancelar_cambios.
Las transacciones suelen verse implementadas en sistemas de bases de datos y, más recientemente, se han visto incorporadas a como gestiona un sistema operativo la interacción con un sistema de archivos (como varias características de las bases de datos, debido a que son muy similares arquitectónicamente).
Una sentencia COMMIT en SQL finaliza una transacción de base de datos dentro de un sistema gestor de base de datos relacional (RDBMS) y pone visibles todos los cambios a otros usuarios. El formato general es emitir una sentencia BEGIN WORK, una o más sentencias SQL, y entonces la sentencia COMMIT. Alternativamente, una sentencia ROLLBACK se puede emitir, la cual deshace todo el trabajo realizado desde que se emitió BEGIN WORK. Una sentencia COMMIT publicará cualquiera de los savepoints(puntos de recuperación) existentes que puedan estar en uso.
En términos de transacciones, lo opuesto de commit para descartar los cambios "en tentativa" de una transacción, es un rollback.
4.3 Comandos de activacion de los modos de operacion
Los índices son "estructuras" alternativa a la organización de los datos en una tabla. El propósito de los índices es acelerar el acceso a los datos mediante operaciones físicas más rápidas y efectivas. Para entender mejor la importancia de un índice pongamos un ejemplo; imagínate que tienes delante las páginas amarillas, y deseas buscar el teléfono de Manuel Salazar que vive en Alicante. Lo que harás será buscar en ese pesado libro la población Alicante, y guiándote por la cabecera de las páginas buscarás los apellidos que empiezan por S de Salazar. De esa forma localizarás más rápido el apellido Salazar. Pues bien, enhorabuena, has estado usando un índice.
4.4. Manejo de indices
En MySQL se tienen dos tipos de índices, los cuales son:
Índices agrupados.
Los índices agrupados, definen el orden en que almacenan las filas de la tabla (nodos hoja/página de datos de la imagen anterior). La clave del índice agrupado es el elemento clave para esta ordenación; el índice agrupado se implementa como una estructura de árbol b que ayuda a que la recuperación de las filas a partir de los valores de las claves del índice agrupado sea más rápida. Las páginas de cada nivel del índice, incluidas las páginas de datos del nivel hoja, se vinculan en una lista con vínculos dobles. Además, el desplazamiento de un nivel a otro se produce recorriendo los valores de claves.
4.4.2 Reorganizacion de indices
Un paquete puede usar la tarea Reorganizar índice para reorganizar los índices de una base de datos individual o de varias bases de datos. Si la tarea solo reorganiza los índices de una base de datos individual, puede elegir las vistas o las tablas cuyos índices reorganiza la tarea. La tarea Reorganizar índice también incluye la opción de compactar datos de objetos grandes. Los datos de objetos grandes son datos de tipo image, text, ntext, varchar(max), nvarchar(max), varbinary(max) o xml.
La tarea Reorganizar índice encapsula la instrucción ALTER INDEX de Transact-SQL. Si elige compactar datos de objetos grandes, la instrucción utiliza la cláusula REORGANIZE WITH (LOB_COMPACTION = ON); en caso contrario, se establece LOB_COMPACTION en OFF
Dentro de las tareas habituales de Mantenimiento de las Bases de Datos se encuentran aquellas destinadas al control y respaldo de las mismas como ser: Control de Integridad, Chequeo de Consistencia, Copias de Seguridad o Compactación de las bases.
Pero también es necesario ejecutar trabajos de mantenimiento cuyos objetivos sean el de mantener la performance de las bases de datos y evitar su degradación.
Esos trabajos son la Reorganización de Índices y la Actualización de Estadísticas.
Estos trabajos son independientes del estado de la base de datos. Puede ocurrir que a la base le falten estudios de optimización pero, al menos, mantendremos la performance actual.
Si la base se encuentra optimizada, entonces más aún, son necesarios para evitar la degradación producto del uso continuo.
Cualquiera de estos trabajos deben realizarse fuera de línea por motivos de: alto consumo de recurso y bloqueo de las tablas en el momento de ejecución.
Las tablas que contienen índices al ser actualizadas o por inserción de nuevos datos, generan fragmentación de estos índices. Estas fragmentaciones conllevan a la pérdida de performance al acceder a ellas.
La instrucción DBCC DBREINDEX reorganiza el índice de una tabla o todos los índices definidos para una tabla. La reorganización de realiza dinámicamente sin necesidad de conocer la estructura de la misma o las restricciones que ella tenga. Por lo tanto no es necesario conocer si una tabla tiene clave primaria o si esta clave es única y además pertenece a algún índice, ya que la reorganización no necesita eliminar y recrear éstas restricciones para realizar su trabajo.
4.4.3 Reconstruccion de indices
Es importante periódicamente examinar y determinar qué índices son susceptibles de ser reconstruidos. Cuando un Índice está descompensado puede ser porque algunas partes de Éste han sido accedidas con mayor frecuencia que otras. Como resultado de este suceso podemos obtener problemas de contención de disco o cuellos de botella en el sistema. Normalmente reconstruimos un Índice con el comando ALTER INDEX.
Es importante tener actualizadas las estadísticas de la base de datos. Para saber si las estadísticas se están lanzando correctamente podemos hacer una consulta sobre la tabla dba_indexes y ver el campo last_analyzed para observar cuando se ejecutaron sobre ese Índice las estadísticas.
5.1 Respaldo y Recuperación
Es posible generar periódicamente copias de respaldo y conservar una serie de versiones anteriores. Cada copia de respaldo estará identificada por tiempo y fecha y por la última transacción incluida. Una copia de respaldo debe generarse mientras la base de datos esta en reposo, ya que las actualizaciones durante el copiado pueden provocar que la copia se inconsistente.
A continuación se presentaran una serie de pasos que podrán seguirse cuando se presente una falla en el sistema y se desee recuperar la información:
Detección del error.- el proceso de recuperación se inicia al detectarla existencia de un error. Es posible distinguir una variedad de puntos de entrada en le proceso de recuperación. Se considerarán fallas desistemas detectadas por falta de acción del sistema o por verificaciones irrecuperables de redundancia y salida incorrecta observada por un usuario.
Detección del error.- el proceso de recuperación se inicia al detectarla existencia de un error. Es posible distinguir una variedad de puntos de entrada en le proceso de recuperación. Se considerarán fallas desistemas detectadas por falta de acción del sistema o por verificaciones irrecuperables de redundancia y salida incorrecta observada por un usuario.
5.2 Activación de espejeo en un DBMS
1. Asegúrese de que las versiones de MySQL instalado en el maestro y en el esclavo son compatibles, debe usar la versión más reciente de MySQL en maestro y servidor.
Por favor no reporte bugs hasta que ha verificado que el problema está presente en la última versión de MySQL.
2. Prepare una cuenta en el maestro que pueda usar el esclavo para conectar. Este cuenta debe tener el privilegioREPLICATION SLAVE . Si la cuenta se usa sólo para replicación (lo que se recomienda), no necesita dar ningún privilegio adicional. (Para información sobre preparar cuentas de usuarios y privilegios.
Suponga que su dominio es mydomain.com y que quiere crear una cuenta con un nombre de usuario de replque puedan usar los esclavos para acceder al maestro desde cualquier equipo en su dominio usando una contraseña de slavepass. Para crear la cuenta, use el comando GRANT:
5.1.1.3 Creación de espacios de disco con espejo
Una vez preparados los discos, para crear el RAID, y si hemos seguido la misma estructura de mi ejemplo, usaremos las siguientes órdenes, suponiendo que los discos nos los ha identificado como sda, sdb, sdc y sdd:
mdadm --create --level=raid1 --raid-devices=2 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm --create --level=raid5 --raid-devices=4 /dev/sda3 /dev/sdb3 /dev/sdc3 /dev/sdd3
La primera orden nos creará un RAID de tipo RAID1 con sólo 2 componentes activos, empleando para ello la primera partición de cada disco. Como le indicamos menos dispositivos de raid (2) que dispositivos físicos, lo que hace es poner los otros dos como spares.
La segunda orden nos creará un RAID5 con la tercera partición de todos los discos indicados. En este caso, el parámetro --raid-devices=4 es superfluo y se podría omitir, ya que si no decimos nada sobreentiende que queremos usar todos los discos.
Se implementa a través de soluciones
como los sistemas RAID o los Sistemas de
Copia de Seguridad Remota.
La información “nunca” se pierde.
5.1.1.3 Creación de espacios de disco con espejo
Espejeado de disco significa que se conectan dos unidades de disco al mismo controlador de disco. Las dos unidades se mantienen idénticas cuando el servidor escribe en una unidad (la primaria), posteriormente se escribe en (la secundaria). Si durante la operación falla, la unidad primaria, en su lugar se utiliza la secundaria. Si la secundaria falla, no importa. En ambos casos los usuarios experimentan una breve pausa mientras el servidor se asegura que la unidad está muerta, y luego se regresa al servicio normal
5.1.1.3 Creación de espacios de disco con espejo
Espejeado de disco significa que se conectan dos unidades de disco al mismo controlador de disco. Las dos unidades se mantienen idénticas cuando el servidor escribe en una unidad (la primaria), posteriormente se escribe en (la secundaria). Si durante la operación falla, la unidad primaria, en su lugar se utiliza la secundaria. Si la secundaria falla, no importa. En ambos casos los usuarios experimentan una breve pausa mientras el servidor se asegura que la unidad está muerta, y luego se regresa al servicio normal
5.1.3 Métodos de respaldo de un DBMS En mySQL existen varios métodos para la realización de un backup y esto se debe principalmente a que mySQL guarda las tablas como archivos y al tipo de tablas que se este manejando (InnoDB, MyISAM, ISAM). Así por ejemplo para la presente práctica se utilizó el tipo de tabla InnoDB y el método de backup utilizado es el que funciona con este tipo de tablas. InnoDB es una de las tecnologías de almacenamiento que utiliza mySQL, es de codigo abierto. Entre sus características principales estan que soporta transacciones con características ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad), tiene bloque de registros e integridad referencial (cosa que no maneja ISAM, ni myISAM). Esta última es una de sus características más importantes pues una base de datos sin integridad referencial, es nada mas un conjunto de datos que no denotan infomación.
5.1.3.1 Elementos y frecuencia de respaldo
Normalmente cuando uno plantea que va a respaldar los datos de su PC a una persona en una compañía uno tiene que definir muy bien cual es la información crítica para la empresa, por ejemplo la música que guarde un empleado en su PC no es crítica para las actividades de la empresa ni lo son las fotos de su última fiesta. En cambio su correo electrónico, proyectos, informes y papeles administrativos si lo suelen ser y tener un respaldo de estos es clave para el funcionamiento de la empresa en caso de cualquier eventualidad.
5.1.3.1 Elementos y frecuencia de respaldo
Normalmente cuando uno plantea que va a respaldar los datos de su PC a una persona en una compañía uno tiene que definir muy bien cual es la información crítica para la empresa, por ejemplo la música que guarde un empleado en su PC no es crítica para las actividades de la empresa ni lo son las fotos de su última fiesta. En cambio su correo electrónico, proyectos, informes y papeles administrativos si lo suelen ser y tener un respaldo de estos es clave para el funcionamiento de la empresa en caso de cualquier eventualidad.
5.1.3.2 Comandos para respaldo de datos
Para hacer un respaldo de una base de datos MySQL desde nuestro consola o mediante comandos shell podemos usar el comando mysqldump como lo ejemplificamos en la siguiente liga. Comando: mysqldump -u "usuario" -p"contraseña" nombre-de-la-base-de-datos > nombre-del-respaldo.sql NOTA: Las comillas deben omitirse tanto en el usuario como en la contraseña. Para restaurar un respaldo de una base de datos MySQL usamos el siguiente comando Comando: mysql -u "usuario" -p"contraseña" nombre-de-la-base-de-datos < nombre-del-respaldo.sql NOTA: Al igual que en el ejemplo anterior las comillas deben omitirse tanto en el usuario como en la contraseña. Para Respaldar o Restaurar una Base de datos remota usamos los mismos comandos que de manera local, con la única diferencia de agregar la opción "-h" con la cual especificaremos el nombre o dirección del host en donde se encuentra nuestra base.
5.1.3.3 Métodos de recuperación de un DBMS
La recuperación consiste en tres pasos principales: Análisis: Identifica las páginas sucias y el conjunto de transacciones activas en el momento de la caída y el punto del log apropiado para empezar la operación REHACER Rehacer: se replican las operaciones del log. Deshacer: Se recorre el log hacia atrás y se deshacen las transacciones activas en el momento de la caída, o iniciadas después, de las que no se ha encontrado confirmación. Recuperación en Oracle Red Log Files: dos o más archivos donde se registra cualquier modificación transaccional de una memoria intermedia de la BD. Archivos de control: metadatos necesarios para operar en la base de datos, incluyendo información sobre copias de seguridad.
5.1.4 Comandos para recuperación
Cada vez que se ejecuta una tarea de copia de seguridad, CA ARCserve Backup registra la información en la base de datos sobre los equipos, directorios y archivos de los que se ha realizado copia de seguridad y los medios utilizados. Esto permite localizar archivos para cuando sea necesario restaurarlos. El comando de recuperación de base de datos (ca_recoverdb) es una opción de protección propia que permite recuperar una base de datos de CA ARCserve Backup si se ha perdido y se ha realizado copia de seguridad mediante el dominio de CA ARCserve Backup que está utilizando la base de datos. La utilidad ca_recoverdb sólo se utiliza para recuperar una base de datos de ARCserve (ASDB) en el mismo equipo o dominio de ARCserve en el que se ha realizado la copia de seguridad de ASDB. Si desea realizar la copia de seguridad de ASDB en un equipo y recuperarla en otro (los dos equipos no se encuentran en el mismo dominio de ARCserve), no se puede utilizar este comando. Ante esta situación dispone de dos soluciones: Solución 1: Realizar una copia de seguridad de recuperación de desastres desde el equipo A y después recuperarla en el equipo B. Esta solución necesita que esté instalada la opción de recuperación de desastres (DR, Disaster Recovery) . Solución 2: 1. Instale CA ARCserve Backup en ambos equipos: equipo A y equipo B. 2. Realice una copia de seguridad de ASDB en el equipo A. 3. Mueva la cinta al equipo B y envíe una tarea combinada para combinar la información de la cinta en CA ARCserve Backup en el quipo B. 4. En el equipo B, abra el Gestor de restauración (opción Resta.
5.4 migracion de la base de datos
urar por árbol) y busque la "base de datos de CA ARCserve Backup". 5. Haga clic con el botón derecho del ratón en "base de datos de CA ARCserve Backup" y en el menú desplegable seleccione "Opciones del Agente". 6. Desde el cuadro de diálogo Opciones de restauración del Agente, seleccione las siguientes opciones: Aplicación forzosa de la restauración en la base de datos o archivos existentes Utilizar la base de datos de ARCserve actual como ubicación original Conservar miembros del dominio de ARCServe actual Para enviar la tarea de restauración.2 Migración de la Base de Datos La migración de bases de datos es generalmente una tarea compleja que no sólo supone transferir datos entre tipos de almacenaje y formatos de un servidor de base de datos a otro; sino que también supone reescribir sentencias SQL o incluso procedimientos (SPL) de lógica de negocio. En comparación con los esquemas estándares de migración a mano, ofrecemos una potente gama de herramientas desarrolladas de probada eficacia en complejos módulos de bases de datos relacionales. Estas herramientas y nuestros especialistas pueden asegurar que las transiciones de las bases de datos se realicen perfectamente, independientemente de la naturaleza del sistema. Desde la experiencia, estamos familiarizados con la complejidad, el coste que supone una larga migración de bases de datos y los problemas que aparecen durante el proceso cuando se emplean métodos inapropiados; ya que siempre comprobamos con los clientes potenciales que el uso de nuestras herramientas y métodos pueda ofrecer una ventaja significativa. HERRAMIENTAS DE MIGRACIÓN En comparación con la consultoría estándar de migraciones, la cual puede ofrecer poco más que soporte a la base de datos, nosotros tenemos gran experiencia en escribir grandes aplicaciones para empresas en sintaxis de la base de datos nativa y cross. Además, enseñamos a los equipos de las empresas una metodología y les proporcionamos una potente gama de herramientas para reducir costes y optimizar el proceso de migración.
Unidad 6 Monitoreo
El término Monitoreo es un término no incluido en el diccionario de la Real Academia Española (RAE). Su origen se encuentra en monitor, que es un aparato que toma imágenes de instalaciones filmadoras o sensores y que permite visualizar algo en una pantalla. El monitor, por lo tanto, ayuda a controlar o supervisar una situación.
Esto nos permite inferir que monitoreo es la acción y efecto de monitorear, el verbo que se utiliza para nombrar a la supervisión o el control a través de un monitor. Por extensión, el monitoreo es cualquier acción de este tipo, más allá de la utilización de un monitor.
MÓDULOS REALIZADOS
Tablas del sistema
No hay comentarios.:
Publicar un comentario