Sie sind auf Seite 1von 46

Apache Derby

EMBEBIDO
El motor de base de datos es integrable. Esto significa que en lugar de correr como un proceso separado, el software de motor de base de datos puede ser parte de la aplicacin para que la misma y el motor de base de datos se ejecuten en la JVM (Mquina Virtual Java). Con un motor de base de datos integrada, la aplicacin utiliza la API JDBC (Base de Datos Java de Conectividad) para acceder a la base de datos.

CLIENTE/SERVIDOR
Es Posible implementar Derby como un tradicional Cliente /Servidor de Base de Datos. Derby incluye un servidor de red, pero tambin puede ejecutar una infraestructura del servidor de su eleccin.

PERSISTENCIA DE DATOS
Derby proporciona la persistencia de datos mediante el almacenamiento de datos en archivos de discos. Un motor de Derby puede manejar uno o ms archivos de base de datos, pero cada archivo de base de datos, solo se puede acceder por un nico motor de Derby. Los Datos en el disco de archivos de base de datos, se almacenan de una forma porttil, por lo que las bases de datos pueden ser fcilmente transportadas de una mquina a otra, independientemente de la arquitectura de CPU de cada mquina

FLEXIBILIDAD
Derby proporciona una gran flexibilidad para los diseadores del sistema. Cada Instancia de Derby puede gestionar mltiples base de datos, las cuales pueden estar en diversos medios de comunicacin, y no hay nada para detener la aplicacin de la conexin a otros SMBD.

Apache Derby

Organizacin de archivos
Apache Derby, es un Sistema Gestor de Base de Datos Relacional, basado en n tuplas, donde una tupla al contrario que un segmento, permite representar tanto entidades como interrelaciones N:M.

Organizacin de archivos
Adems, la Organizacin de Archivos de Derby, es de tipo Organizacin Indexada Secuencial, debido a que Derby implementa ndices secundarios de SQL como BTrees (Estructura de rbol B), especficamente implementa el algoritmo estndar de rbol B+ (Donde los nodos de la hoja, estn enlazados, lo cual ofrece un acceso ordenado a los registros segn el campo de bsqueda).

Organizacin de archivos
A nivel de hoja, Apache Derby puede vincular las pginas padres, derecha e izquierda, ya que estas estn contenidas por una clase pblica llamada INDEXROWS, la cual es una implementacin bsica que permite colocar los ndices a los nodos.

ORGANIZACIN INDEXADA SECUENCIAL CON ESTRUCTURA DE DATOS RBOL B

Apache Derby

Concurrencia
En base al Diccionario en lnea de la lengua espaola(RAE), la concurrencia se define como acaecimiento o coincidencias de varios sucesos o cosas en un mismo tiempo. ahora bien, el control de concurrencia en los SMBD, es la forma de controlar la ejecucin de transacciones que operan en paralelo, accesando a informacin compartida y, por lo tanto, interfiriendo potencialmente unas con otras.

Concurrencia
As mismo, el SGBD Apache Derby, maneja el acceso de concurrencia con un sistema de Cierre de Pginas (Punto Muerto), el cual consta en la interrupcin de operaciones, en espera de un bloqueo. Cuando Derby aborta y/o deshace una transaccin, la misma recibe un SQLEXCEPTION (un mensaje de advertencia o error), el cual se muestra de tres maneras.

Concurrencia
Un valor cero (0), significa la anulacin de una transaccin en cualquier momento si de inmediato no puede obtener un bloqueo que lo solicite. Un valor negativo (-), significa un tiempo de espera infinito, para obtener el bloqueo. Un valor mayor a cero (>0), significa que no se realizar ninguna comprobacin de punto muerto (cierre de pginas).

Concurrencia
En este sentido, Derby como se mencion en el parrafo anterior utiliza en el control de concurrencia la tcnica de bloqueo; especificamente el Bloqueo Exclusivo, el cual se utiliza para operaciones de modificacin de datos, como INSERT, UPDATE o DELETE, garantizando que no pueden realizarse varias actualizaciones simultneamente en el mismo recurso.

Concurrencia
De acuerdo a que Apache Derby posee un estructura de datos de tipo rbol B, los interbloqueos de cierre de pginas se organizan de arriba hacia abajo y de izquierda a derecha. Si se ejecutan varias transacciones a la vez, derby al momento de implementar el control de concurrencia de cierre de pginas a un nodo padre y a uno secundario, el nodo primario tiene que ser liberado, para as cumplir con el bloqueo exclusivo.

Apache Derby

Optimizacin de consultas
Al hablar de optimizacin de consultas nos referimos a mejorar los tiempos de respuesta en un sistema de gestin de base de datos relacional, pues la optimizacin es el proceso de modificar un sistema para mejorar su eficiencia o tambin el uso de los recursos disponibles. El sistema gestor de base de datos Apache Derby, implementa el mecanismo de optimizacin llamado Aqua Data Studio, el cual, es una herramienta de consulta de datos, que permite crear, editar y ejecutar de forma rpida consultas y scripts SQL.

Optimizacin de consultas Adems con esta herramientas se pueden exportar e


importar datos, tanto dentro como fuera de la base de datos Apache Derby. La herramienta Aqua Data Studio, es ventajosa, ya que, accede a mostrar estadsticas en una ejecucin de consultas, presentando detalles de scripts de forma grfica.

Aqua Data Studio

Las funciones de Aqua Data Studio, se explican a continuacin: - Plan de explicacin visual: Permite la optimizacin de consultas, para su mejora y para el rendimiento del servidor. - Scripts parametrizados: Requiere valores de parametros antes de ejecutar scripts. - Finalizacin automtica: Aligera el establecimiento de scripts con funcin finalizacin automtica para tablas y columnas. - Resalte de la sintaxis: Colorea automticamente las palabras primarias SQL. - Consultas y grficos: Muestra grficas de las consultas en 2D y 3D. - Entre otras funciones importantes, tales como cruzar tablas, editar datos, guardar en archivos excel.

Aqua Data Studio

Apache Derby

Diccionario y Directorio de datos

Ahora bien, cuando hablamos de Diccionario y/o Directorios de Datos, nos referimos a un archivo que contiene metadatos, es decir, "Datos acerca de los datos". Este archivo se consulta antes de leer y modificar los datos reales en el sistema de base de datos. Una base de datos Derby diccionario, contiene objetos como tablas, columnas, ndices y archivos jar; tambin puede almacenar su propia informacin de configuracin.

Diccionario y Directorio de datos

Adems, Apache Derby implementa el directorio de datos, en base a un sistema que contiene las propiedades especficas del mismo, en un archivo de propiedades llamado Derby.Properties, el cual, es un archivo de texto que contiene la definicin de los atributos y parmetros de configuracin que son vlidos para todo el sistema. Los directorios y archivos que utiliza la base de datos Derby, son los siguientes:

Diccionario y Directorio de datos


- Registro de la Gua: Contiene los archivos que componen los registros de transacciones de la base de datos, de uso interno para la recuperacin de datos. - Seg0 Directorio: Contiene un archivo para cada tabla de usuario, tabla del sistema y el ndice. - Service. Properties Archivo: Contiene un archivo de texto con la informacin de configuracin interna. - TMP de la Gua: Directorio temporal utilizado por Derby, utilizado para variedad de sentencias SQL. - Jar de la Gua: Contiene un directorio donde se almacenan los archivos jar cuando se utiliza la clase de carga de base de datos.

Diccionario y Directorio de datos

Apache Derby

Seguridad e Integridad
Cuando hablamos de seguridad e interigridad en una base de datos, nos referimos, a que la informacin de la base de datos debe estar protegida contra accesos no autorizados, destruccin o alteracin con fines indebidos y la introduccin accidental de inconsistencia. Pero la seguridad e integridad total de los datos puede conservarse permitiendo el acceso a distintos campos de una base de datos, solamente a usuarios autorizados para ello.

Seguridad e Integridad
Tipos de privilegios y usuarios en Apache Derby.El SGBD Apache Derby, maneja la seguridad en base a aplicaciones informticas, donde se limitan los niveles de acceso a la base de datos, de acuerdo al usuario que solicita entrar a la misma. Apache utiliza un gestor llamado Liferay, el cual es un portal de gestin de contenidos de cdigo abierto escrito en java; dicho portal controla el acceso a travs de un conjunto de permisos denominados Rol, que a la vez estos se encuentran clasificados en Empresa, Comunidad e Individual. Dichos Roles y Permisos, son concedidos por el Administrador de la base de datos a cada usuario, permitiendo instaurar Grupos de Usuarios, donde cada miembro puede recibir los Roles y/o Permisos asignados

Seguridad e Integridad
En cuanto a los tipos de privilegios que poseen los usuarios se tienen: Administracin de Empresa: Tiene el nivel ms alto de las funciones de administracin, ya que, tiene acceso a todas las organizaciones, localizaciones y usuario. Administracin de Organizacin: Puede acceder a su propia informacin y la correspondiente a las localizaciones y usuarios pertenecientes. Administracin de Localizacin: Puede acceder a su propia informacin y a los usuarios pertenecientes.

Seguridad e Integridad
Definicin de Privilegios en Apache Derby para un Usuario. Como se explico anteriormente, apache derby, soporta cifrado completo, roles y permisos. Adems posee SQL SCHEMAS, que es la forma ms general de identificar el nombre del dueo de la base de datos; con el fin de separar la informacin en un nica base de datos y control completo de usuarios. Adems los usuarios gozan y tienen acceso a los privilegios siguientes:

Ventanas de Consultas: Ejecutar y Editar un scripts; permisos de SQL locales, Formateo de SQL, otros. Exporador de Scripts: Carpetas de scripts filtrables. Editor de Datos de Tablas: Insertar, modificar, eliminar, deshacer resultados de registros visualmente. Herramientas: Exportacin e importacin de datos, generador de scripts de esquemas, otros. Modelador de ER: Crear, editar y ver realaciones de esquemas de Base de Datos mediante diagramas de Relacin de Entidades. Aspecto de Interfaz Configurable: Aqua Data Studio. Control de Cdigo Fuente: Navegador de Repositorios.

Seguridad e Integridad

Apache Derby

Autenticacin y Mtodos
La autenticacin de usuario de Apache Derby, se maneja de dos (2) formas: A travs de Usuarios a Nivel de Sistemas (Para todas las bases de datos de derby). Slo los Usuarios a Nivel de Base de Datos. Tambin se puede realizar la autentificacin mediante el protocolo LDAP (Directorio de Protocolo de Acceso Directo), el cual proporciona un protocolo de directorio de acceso abierto a travs de TCP/IP, que permite autenticar el nombre y contrasea de un usuario.


Debido a que apache derby es un sistema relacional escrito en java, los mtodos que se utilizan para la conexin de la base de datos desde cualquier plataforma java se basan en Objetos, y entre ellos se tienen: Objeto Connection: Se encarga de realizar conexiones con la Interfaz de Programacin de Aplicaciones Java (API), mediante la utilizacin de un mtodo llamado getconnection, recibiendo como parametros la direccin de la base de datos (URL), el nombre del usuario y la contrasea. Objeto Statement: Permite la ejecucin de consultas SQL, utilizando dos (2) mtodos, los cuales son; executeQuey, que permite ejecutar consultas con el comando SELECT, y el otro mtodo executeUpdate, el cual permite ejecutar consultas con los comandos UPDATE y DELETE. Objeto ResultSet: Se encarga de almacenar los datos obtenidos de la ejecucin de consultas. ResultSetMetaData y DataBaseMetaData: Son objetos que utilizan Connection y ResulSet, para obtener los metadatos de la base de datos, es decir los datos sobre los datos.


MD5. Es un algoritmo de reduccin criptogrfico de 128 bits ampliamente usados, en otras palabras es una firma digital compacta empleada en una amplia variedad de aplicaciones de seguridad, y tambin se utiliza comunmente para comprobar la integridad de los archivos. Apache Derby, emplea el MD5 para verificar las emisiones, es decir, verificar la integridad de los archivos descargados. Asegurando que el archivo no fue daado durante el proceso de descarga. El estado de salida del MD5 en apache derby, funciona de manera tal que si arroja un cero (0) significa que el proceso se completo sin errores, si arroja un uno (1), significa que la firma no coincide, y si arroja un dos (2) significa que el proceso no se pudo realizar.


Llaves-ssh= Acceso Automtico sin poner Contrasea. Las llaves-ssh, significa crear claves privadas que identifiquen los servidores. Las mismas pueden protegerse con contraseas o no necesariamente. Lo que se desea es que cada vez que un usuario intenta conectarse a un servidor utilizando llaves, la clave de descodificacin se le pedir. En caso de que cualquiera que pueda leer los archivos claves, solo ver una versin encriptada (procesos cifrados). Apache derby, implementa el ssh, de forma tal que se puede utilizar el nombre de usuario root db2 inst1or y la contrasea correspondiente al usuario para conectarse.


Reglas de Acceso para los Usuarios sobre los Objetos de Apache Derby. Las Reglas de Autorizacin para los usuarios sobre los Objetos de Apache Derby son: Derby.database.defaultConnectionMode: Define el modo de conexin por defecto para los usuarios o sistema por el que se establece esta propiedad. Los valores posibles se distinguen entre maysculas y minsculas y son las siguientes: NoAccess. No permite conexiones. readOnlyAccess. Conexiones de slo lectura. FullAccess. Otorga acceso completo. Derby.database.FullAccessUsers: Especfica una lista de nombres de usuarios separados por comas a los que concede completo el acceso a la base de datos (Lectura y Escritura). Derby.database.readOnlyAccessUsers: Especfica una lista de nombres de usuarios separados por comas a los que concede solo el acceso de Lectura.

La integridad de dominio es la que se encarga de salvaguardar los datos en una columna de la base de datos. Mientras que la integridad relacional es la que se encarga de salvaguardar los datos de tablas relacionadas. Por otra parte, apache derby, trabaja con un mapeador objetorelacional (ORM), denominado Hibernate, el cual es un sistema que permite almacenar y/o salvaguardar objetos de aplicaciones java en las tablas de la base de datos. Con dicho sistema solo se necesitan escribir setencias java, y de manera independiente, el cdigo escrito con Hibernate funcionar en cualquier motor de datos al que se le d soporte, es decir, con este mapeo de objetos-relacional, tambien conocido como POJOS (Objeto LLanura Antiguo Java); no es necesario escribir cdigos especificos sobre los objetos sin hacer que hereden de clases determinadas

Integridad de Dominio e Integridad Relacional.

Integridad de Dominio e Integridad Relacional.


La integridad de dominio es la que se encarga de salvaguardar los datos en una columna de la base de datos. Mientras que la integridad relacional es la que se encarga de salvaguardar los datos de tablas relacionadas. Por otra parte, apache derby, trabaja con un mapeador objetorelacional (ORM), denominado Hibernate, el cual es un sistema que permite almacenar y/o salvaguardar objetos de aplicaciones java en las tablas de la base de datos. Con dicho sistema solo se necesitan escribir setencias java, y de manera independiente, el cdigo escrito con Hibernate funcionar en cualquier motor de datos al que se le d soporte, es decir, con este mapeo de objetos-relacional

, tambien conocido como POJOS (Objeto LLanura Antiguo Java); no es necesario escribir cdigos especificos sobre los objetos sin hacer que hereden de clases determinadas . En vez de eso se trabaja con objetos que proporcionan libreras y con ficheros XML (Lenguajes de Marcas Extensibles), que permiten definir la gramtica de lenguajes especficos. Es importante resaltar que el sistema Hibernete no siempre es compatible o no siempre funciona correctamente, es por ello que apache derby tambin implementa un cdigo abierto de java denominado OpenJPA, que a igual que Hibernte, se encarga de conservar la informacin en java a travs de la utilizacin de una base de datos back-end (principio y final de un proceso), y no tener que escribir un monton desordenado de cdigo JDBC.

Das könnte Ihnen auch gefallen