Crear bitácoras para el
sistema ficticio de la tercera unidad ( clinica veterinaria) , utilizando las
herramientas propias del DBMS.
miércoles, 20 de marzo de 2013
Investigar que otras soluciones en la nube existen para manejo de bases de datos y publicar en el blog.
Nube
híbrida
La nube híbrida combina
nubes públicas y privadas y permite a las organizaciones aprovechar los
beneficios de ambas. El ambiente computacional más flexible y rentable de hoy
en día incorpora una federación de nubes públicas y privadas, con las
aplicaciones adecuadas ejecutándose en la nube pública; la mayoría de las
aplicaciones de misión crítica y las que manejan información confidencial se
ejecutan en una nube privada, y algunas aplicaciones se cruzan y usan servicios
de nubes públicas y privadas.
Las cargas de trabajo se
cruzan entre nubes privadas y públicas de dos maneras básicas: cuando los datos
se transfieren entre una aplicación en nube pública y bases de datos o aplicaciones
en nubes privadas, y cuando los servidores y el almacenamiento en nubes públicas
sirven como complementos según demanda de recursos de nubes privadas para manejar
la demanda máxima. Las organizaciones deben considerar y encarar con cuidad la complejidad
adicional de administrar estos intercambios entre nubes.
Microsoft
SQL Server
Es una plataforma de bases
de datos económica para soluciones de alojamiento la cual proporciona
características de valor agregado que los proveedores de alojamiento pueden
utilizar para elevar los ingresos al ofrecer nuevos servicios y capacidades a
sus clientes.
Windows
Azure
Es una plataforma de nube abierta y flexible
que permite compilar, implementar y administrar aplicaciones rápidamente, en
una red global de centros de datos administrados por Microsoft. Puede compilar
aplicaciones en cualquier lenguaje, herramienta o marco. Y puede integrar sus
aplicaciones de nube públicas con el entorno de TI existente.
Windows Azure proporciona
una plataforma en la nube flexible que puede satisfacer los requisitos de
cualquier aplicación. Permite hospedar y ampliar el código de aplicación dentro
de roles de proceso de un modo totalmente confiable. Los datos se pueden
almacenar en bases de datos SQL relacionales, almacenes de tablas NoSQL y
almacenes de blobs no estructurados, y existe la opción de usar la
funcionalidad de Hadoop e Business Intelligence para la minería de datos.
domingo, 17 de marzo de 2013
Actividad #19
Crear espacios de trabajo
para tres usuarios de niveles distintos, con restricciones de almacenamiento
acordes a cada perfil de usuario.
Usuario administrador :( todos los privilegios).
Usuario: médico veterinario: ( con privilegios para borrar, agregar y modificar datos pero no para modificar estructuras de las tablas).
Usuario Asistente: solo tiene privilegios de consulta.
Usuario administrador :( todos los privilegios).
Usuario: médico veterinario: ( con privilegios para borrar, agregar y modificar datos pero no para modificar estructuras de las tablas).
Usuario Asistente: solo tiene privilegios de consulta.
Actividad #18
Implementar el esquema de
base de datos de la clínica veterinaria ( incluir todas las
tablas y datos de 5 pacientes con 2 registros de
visita a la clínica cada uno) .
Actividad #17
Planear y definir la
estructura lógica de la base de datos de acuerdo a los recursos disponibles
–memoria y disco. ( utilice el problema de la Veterinaria) incluya
toda la secuencia, ( esquema conceptual, esquema lógico y esquema físico), calcular
el numero de bytes por registro ( de acuerdo al tipo de datos) y cuantos
bytes aproximados se require para alamacenar los datos de 100 pacientes
con un promedio de 6 consultas al año) deben contener todos los
campos incluidos en la hoja clinica en el diseño.
martes, 12 de marzo de 2013
Crear particiones utilizando diferentes plataformas Mysql y Oracle
Creación de particiones en Mysql:
En MySQL 5.0, se pueden usar particiones de dispositivos en bruto como ficheros de datos del espacio de tablas.
Cuando se crea un nuevo fichero de datos, se debe colocar la palabra clave
2.- Ahora que tenemos la tabla creada vamos a particionar por mes:
Creación de particiones en Oracle:
Basicamente, el particionado se realiza utilizando una clave de particionado (partitioning key), que determina en que partición de las existentes en la tabla van a residir los datos que se insertan. Oracle también permite realizar el particionado de indices y de tablas organizadas por indices. Cada partición ademas puede tener sus propias propiedades de almacenamiento. Las tablas particionadas aparecen en el sistema como una única tabla, realizando el sistema la gestión automatica de lectura y escritura en cada una de las particiones (excepto para el caso de la partición de Sistema introducida en la versión 11g). La definición de las particiones se indica en la sentencia de creación de las tablas, con la sintaxis oportuna para cada uno de los tipos.
En MySQL 5.0, se pueden usar particiones de dispositivos en bruto como ficheros de datos del espacio de tablas.
Cuando se crea un nuevo fichero de datos, se debe colocar la palabra clave
newraw
inmediatamente a continuación del tamaño del fichero de datos en innodb_data_file_path
. La partición deberá ser al menos tan grande como el tamaño que se haya especificado. Nótese que 1MB en InnoDB
significa 1024 * 1024 bytes, en tanto que 1MB, en las especificaciones de los discos, generalmente significa 1.000.000 de bytes. [mysqld] innodb_data_home_dir= innodb_data_file_path=/dev/hdd1:3Gnewraw;/dev/hdd2:2Gnewraw
La próxima vez que se inicie el servidor,
InnoDB
advertirá la palabra clave newraw
e inicializará la nueva partición.
En Windows puede asignarse una partición de disco como fichero de datos de este modo:
[mysqld] innodb_data_home_dir= innodb_data_file_path=//./D::10Gnewraw
Ejemplo:
1.- Creamos la tabla reports:CREATE TABLE reports ( id int(10) NOT NULL AUTO_INCREMENT, date datetime NOT NULL, report TEXT, PRIMARY KEY (id,date) ) ENGINE=InnoDB DEFAULT CHARSET=utf8Como se puede ver hemos añadido como índice de tabla el campo date, esto es necesario si luego queremos particionar por fecha.
2.- Ahora que tenemos la tabla creada vamos a particionar por mes:
ALTER TABLE reports PARTITION BY RANGE(TO_DAYS(date))( PARTITION p201111 VALUES LESS THAN (TO_DAYS("2011-12-01")), PARTITION p201112 VALUES LESS THAN (TO_DAYS("2012-01-01")), PARTITION p201201 VALUES LESS THAN (TO_DAYS("2012-02-01")), PARTITION p201202 VALUES LESS THAN (TO_DAYS("2012-03-01")), PARTITION p201203 VALUES LESS THAN (TO_DAYS("2012-04-01")), PARTITION p201204 VALUES LESS THAN (TO_DAYS("2012-05-01")), PARTITION p201205 VALUES LESS THAN (TO_DAYS("2012-06-01")), PARTITION pDefault VALUES LESS THAN MAXVALUE);La última partición (pDefault) tendrá todos los registros que no entren en las particiones anteriores. De esta manera nos aseguramos que la información nunca dejará de insertarse en la tabla.
Creación de particiones en Oracle:
Basicamente, el particionado se realiza utilizando una clave de particionado (partitioning key), que determina en que partición de las existentes en la tabla van a residir los datos que se insertan. Oracle también permite realizar el particionado de indices y de tablas organizadas por indices. Cada partición ademas puede tener sus propias propiedades de almacenamiento. Las tablas particionadas aparecen en el sistema como una única tabla, realizando el sistema la gestión automatica de lectura y escritura en cada una de las particiones (excepto para el caso de la partición de Sistema introducida en la versión 11g). La definición de las particiones se indica en la sentencia de creación de las tablas, con la sintaxis oportuna para cada uno de los tipos.
- Particionado Range: la clave de particionado viene determinada por un rango de valores, que determina la partición donde se almacenara un valor.
- Particionado Hash: la clave de particionado es una función hash, aplicada sobre una columna, que tiene como objetivo realizar una distribución equitativa de los registros sobre las diferentes particiones. Es útil para particionar tablas donde no hay unos criterios de particionado claros, pero en la que se quiere mejor el rendimiento.
- Particionado List: la clave de particionado es una lista de valores, que determina cada una de las particiones.
- Particionado Composite: los particionados anteriores eran del tipo simples (single o one-level), pues utilizamos un unico método de particionado sobre una o mas columnas. Oracle nos permite utilizar metodos de particionado compuestos, utilizando un primer particionado de un tipo determinado, y luego para cada particion, realizar un segundo nivel de particionado utilizando otro metodo. Las combinaciones son las siguientes (se han ido ampliando conforme han ido avanzando las versiones): range-hash, range-list, range-range, list-range, list-list, list-hash y hash-hash .
- Particionado Interval: En lugar de indicar los rangos de valores que van a determinar como se realiza el particionado, el sistema automáticamente creara las particiones cuando se inserte un nuevo registro en la b.d. Las técnicas de este tipo disponible son Interval, Interval List, Interval Range e Interval Hash (por lo que el particionado Interval es complementario a las técnicas de particionado vistas anteriormente).
- Particionado System: se define la tabla particionada indicando las particiones deseadas, pero no se indica una clave de particionamiento. En este tipo de particionado, se delega la gestión del particionado a las aplicaciones que utilicen la base de datos (por ejemplo, en las sentencias sql de inserción deberemos de indicar en que partición insertamos los datos).
lunes, 11 de marzo de 2013
viernes, 8 de marzo de 2013
Bitácora
¿Qué es?
Las bitácoras son fundamentales en lo que es la administración de
bases de datos, pues con estas se puede tener un registro físicamente de todos
los usuarios u objetos que se encuentren en determinada base de datos así como
la información de las operaciones de las transacciones . Está
almacenada en disco de forma que no es afectada por ningún tipo de fallo salvo
error del propio disco o catástrofe.
· En caso de pérdida de usuarios u
objetos y sus dueños así como los roles que desempeñan dentro del gestor nos
sirven como respaldo de la información.
· Para permitir la recuperación de
transacciones fallidas, el sistema mantiene un fichero de bitácora o diario
(también llamado fichero log ó journal). BD. Esta información puede necesitarse
para recuperar desde transacciones fallidas.
Bitácora en
mysql:
mysql -hlocalhost
-uroot --tee=C: "Bitacora.txt"
c=Letra del dispositivo de almacenamiento
"Bitacora.txt=nombre de la bitacora
Bitácora en Oracle:
Para crear una bitácora en oracle es necesario el uso de triggers.
CREATE OR REPLACE TRIGGER "AUDIT_EMPSALES_VALUES"
AFTER
update of "SALARY" on "EMPLOYEES"
for each row
begin
INSERT INTO audit_record_tb1
VALUES(sys_context('userenv','current_user'),
sysdate, :old.employee_id, :old.salary, :new.salary);
end;
/
ALTER TRIGGER "AUDIT_EMPSALES_VALUES" ENABLE
/
AFTER
update of "SALARY" on "EMPLOYEES"
for each row
begin
INSERT INTO audit_record_tb1
VALUES(sys_context('userenv','current_user'),
sysdate, :old.employee_id, :old.salary, :new.salary);
end;
/
ALTER TRIGGER "AUDIT_EMPSALES_VALUES" ENABLE
/
http://blearning.itmina.edu.mx/dep/sada/carreras/Ingenieria%20en%20Sistemas%20Computacionales/5to%20Semestre/Taller%20de%20Base%20de%20Datos/taller_bd/admonbd.pdf
http://www.javamexico.org/foros/java_standard_edition/crear_una_bitacora_con_java_y_oracle
jueves, 7 de marzo de 2013
Comparacion entre partición de disco y sistema de archivos
Las particiones son divisiones de tamaño fijo del disco
duro..
Un sistema de archivos son los métodos y estructuras de
datos que un sistema operativo utiliza para seguir la pista de los archivos de
un disco o partición; es decir, es la manera en la que se organizan los
archivos en el disco.
La diferencia entre un disco o partición y el sistema de
archivos que contiene es importante. Unos pocos programas (incluyendo,
razonablemente, aquellos que crean sistemas de archivos) trabajan directamente
en los sectores crudos del disco o partición; si hay un archivo de sistema
existente allí será destruido o corrompido severamente. La mayoría de programas
trabajan sobre un sistema de archivos, y por lo tanto no utilizarán una
partición que no contenga uno (o que contenga uno del tipo equivocado).
Particionar un disco duro es realizar una división en él
de modo que, a efectos prácticos, el sistema operativo crea que tienes varios
discos duros, cuando en realidad sólo hay un único disco físico dividido en
varias partes.Mientras que los sistemas de archivos indican el modo en que se
gestionan los archivos dentro de estas particiones.
Partición de disco, su importancia y como particionar un disco
Las particiones son
divisiones de tamaño fijo del disco duro. partición del disco duro puede tener
un sistema de archivos (sistema operativo) distinto. Cada disco duro constituye
una unidad física distinta. Sin embargo, los sistemas operativos no trabajan
con unidades físicas directamente sino con unidades lógicas . Dentro de una
misma unidad física de disco duro puede haber varias unidades lógicas. Cada una
de estas unidades lógicas constituye una partición del disco duro. Esto quiere
decir que podemos dividir un disco duro en, por ejemplo, dos particiones (dos
unidades lógicas dentro de una misma unidad física) y trabajar de la misma
manera que si tuviésemos dos discos duros (una unidad lógica para cada unidad
física).
Existen tres tipos de
particiones: particiones primarias , particiones extendidas y unidades lógicas.
Importancia de las Particiones:
Son dos los motivos
fundamentales por los que se han de realizar particiones en un disco o bien
disponer físicamente de al menos dos de ellos.
(DT, AGENCIAS) En primer lugar, permitirá mantener los datos personales en un lugar independiente a donde se encuentra el sistema operativo. En caso de que éste no pueda arrancar, será mucho más fácil acceder a ellos.
Por otro lado, el acceso a los datos es más rápido y las operaciones sobre los discos que efectúe el programa que se estén utilizando se realizarán de forma más eficaz.
(DT, AGENCIAS) En primer lugar, permitirá mantener los datos personales en un lugar independiente a donde se encuentra el sistema operativo. En caso de que éste no pueda arrancar, será mucho más fácil acceder a ellos.
Por otro lado, el acceso a los datos es más rápido y las operaciones sobre los discos que efectúe el programa que se estén utilizando se realizarán de forma más eficaz.
miércoles, 6 de marzo de 2013
Actividad 1. Instancia de un SGBD
Cada vez que se inicia una base de datos, se reserva espacio para un área global de sistema (SGA, System Global Area) y se inician los procesos background de Oracle. El área global del sistema es un área de memoria utilizada para guardar la información de la base de datos compartida por los usuarios de la base de datos. A la combinación de procesos de background y de búfers de memoria se le denomina instancia de Oracle.
Una instancia Oracle tiene dos tipos de procesos: procesos de usuario y procesos
de Oracle.
• Un proceso de usuario ejecuta el código de un programa de aplicación (p.e. una consulta).
• Los procesos de Oracle son procesos del servidor que realizan el trabajo necesario para responder a los procesos de usuario, y también son los encargados de realizar las tareas de mantenimiento del Servidor Oracle.
Instancias de un SGBD
Instancia Oracle
-Conjunto de estructuras de memoria y procesos que acceden a los archivos de una BD.
-Distintas instancias pueden acceder a la misma BD.
-Componentes:
*Área Global del Sistema (System Global Area, SGA): Área de memoria con la
información de la BD que pueden compartir los usuarios. Se crea cuando se
empieza a usar una BD. Puede verse alguna información desde SQL*PLUS, usando
el comando ShoW SGA.
Esta compuesta por:
Caché de BD: bloques de datos de la BD más recientemente accedidos - para reducir los
accesos a disco.
Buffer del registro de rehacer: para el fichero de redo log (se utiliza para la recuperación).
Memoria compartida: para consultas SQL y otros procesos.
*Área Global de Programa (Program Global Area, PGA): Buffer de memoria con
información sobre los procesos.
*Procesos de Usuario: Aplicaciones que ejecuta el usuario.
*Procesos de Oracle: Procesos del servidor (para atender a los usuarios) y
Suscribirse a:
Entradas (Atom)