jueves, 23 de marzo de 2017

DB-Engines Ranking of Relational DBMS


El DB-Engines Ranking clasifica los sistemas de gestión de bases de datos de acuerdo con su popularidad. El ranking se actualiza mensualmente.



Unidad#2: 2.1 Características del DBMS


2.1  Características del DBMS

  • Control de la redundancia de datos
Este consiste en lograr una mínima cantidad de espacio de almacenamiento para almacenar los datos evitando la duplicación de la información. De esta manera se logran ahorros en el tiempo de procesamiento de la información, se tendrán menos inconsistencias, menores costos operativos y hará el mantenimiento más fácil.
  • Compartimiento de datos
Una de las principales características de las bases de datos, es que los datos pueden ser compartidos entre muchos usuarios simultáneamente, proveyendo, de esta manera, máxima eficiencia.
  • Mantenimiento de la integridad
La integridad de los datos es la que garantiza la precisión o exactitud de la información contenida en una base de datos. Los datos interrelacionados deben siempre representar información correcta a los usuarios.
  • Soporte para control de transacciones y recuperación de fallas
Se conoce como transacción toda operación que se haga sobre la base de datos. Las transacciones deben por lo tanto ser controladas de manera que no alteren la integridad de la base de datos. La recuperación de fallas tiene que ver con la capacidad de un sistema DBMS de recuperar la información que se haya perdido durante una falla en el software o en el hardware.
  • Independencia de los datos.
En las aplicaciones basadas en archivos, el programa de aplicación debe conocer tanto la organización de los datos como las técnicas que el permiten acceder a los datos. En los sistemas DBMS los programas de aplicación no necesitan conocer la organización de los datos en el disco duro. Este totalmente independiente de ello.
  • Seguridad
La disponibilidad de los datos puede ser restringida a ciertos usuarios. Según los privilegios que posea cada usuario de la base de datos, podrá acceder a mayor información que otros.
  • Velocidad
Los sistemas DBMS modernos poseen altas velocidades de respuesta y proceso.
  • Independencia del hardware
La mayoría de los sistemas DBMS están disponibles para ser instalados en múltiples plataformas de hardware.


2.1.1 Estructura de memoria y procesos de la instancia


Área Global del sistema (SGA): Es un grupo de estructuras de la memoria compartida que contiene datos e información de control de una instancia de una BD. Si varios usuarios se conectan de forma concurrente a la misma instancia, entonces los datos se comparten en el SGA, por lo que también se llama Shared Global Area.

Estructura de Datos del SGA:
  • Caché de los Buffers
  • Buffer del registro de Redo
  • El Pool compartido
  • Large Pool
  • Java Pool
  • Streams Pool
  • Caché de diccionario
v  Caché de los Buffers (Database Buffer Cache): Contiene copias de los bloques de datos de lectura de las páginas. Todos los procesos de los usuarios conectados concurrentemente a la instancia comparten el acceso a ella.

v  Buffer del registro del Rehacer (Redo Log Buffer): Contiene información sobre cambios hechos a la base de datos, la cual se almacena en las ‘entradas redo’. Estas entradas contienen la información necesaria para reconstruir, o rehacer cambios hechos en la base de datos mediante las operaciones INSERT, UPDATE, DELETE, CREATE, ALTER o DROP y se usan para la recuperación de la base de datos, si fuera necesario.

v  El Pool Compartido: Es la parte del SGA que contiene la cache de biblioteca, la cache de diccionario, los buffers para los mensajes de ejecución paralela y las estructuras de control.

v  Large Pool: El administrador de la base de datos puede configurar un área de memoria opcional llamado large pool que proporciona grandes cantidades de memoria para asignar:
  • Memoria de la sesión para el servidor compartido y el Oracle XA interface (usado donde las transacciones interactúan con más de una base de datos)
  •  Procesamiento de E/S
  •  Copias de seguridad y operaciones de recuperación
v  Java Pool: Se usa en la memoria del servidor para almacenar todo el código y datos del JVM en las sesiones.

v  Streams Pool: En una única base de datos, se puede especificar que los flujos de memoria se asignen desde un pool en el SGA llamado Streams pool.

v  Cache de diccionario (Dictionary Cache): El diccionario de datos es una colección de tablas y vistas de la base de datos que contienen información sobre la base de datos (sus estructuras y sus usuarios).



Áreas globales de programas (PGA):
  • Es privada para cada servidor y son procesos en segundo plano; a cada proceso se asigna un PGA.
  •  El contenido de su memoria varia dependiendo donde se este ejecutando la instancia y de si el servidor es compartido.
  • Se clasifica en memoria de sección y área de SQL privada.

Área de Ordenaciones (Sort Areas):
  • Son las zonas de memoria en las que se ordenan los datos, es decir el espacio en memoria necesita la organización y ordenación de las filas.
  • Existen muchas razones importantes por las que este tamaño influye en el rendimiento.

Memoria Virtual: La memoria virtual es una técnica de gestión de la memoria que permite que el sistema operativo disponga, tanto para el software de usuario como para si mismo, de mayor cantidad de memoria que este disponible físicamente.

Área de código de Software (SCA):
  • Son zonas de memoria destinadas a almacenar el código de Oracle en ejecución o que puede ejecutarse.
  • Es almacenada en una zona distinta, y mas protegida que las zonas dedicadas a almacenar los códigos de programas de usuarios.
  •  La SCA suele ser de tamaño estático, cambiando únicamente cuando el software se instala o actualiza.

¿Qué es una instancia?

Una instancia de BDD es el conjunto de estructuras de memoria y de procesos que acceden a los ficheros 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 una 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.

Para permitir el acceso a los datos, Oracle utiliza un conjunto de procesos que son compartidos por todos los usuarios. Además, existen estructuras de memoria que son utilizadas para almacenar los datos más recientemente solicitados a la BDD.

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 la instalación

Antes de instalar cualquier SGBD es necesario conocer los requerimientos de hardware y software, el posible software a desinstalar previamente, verificar el registro de Windows y el entorno del sistema, así como otras características de configuración especializadas como pueden ser la reconfiguración de los servicios TCP/IP y la modificación de los tipos archivos HTML para los diversos navegadores.

Se presenta a continuación una serie de requerimientos mínimos de hardware y software para instalar oracle 11g Express y MySQL estándar versión 5.1. En Windows Seven y Ubuntu 10.

Requerimiento
Oracle
MySQL
RAM
512 MB
512 MB
Memoria virtual1
1024 MB
1024 MB
Espacio disco duro
1.5 GB
1 GB
Tamaño máximo de la base de datos
4 GB
Sin limite
Sistema Operativo: Windows Server, Windows Seven, Linux, Unix
  

Arquitectura del Sistema 32/64-bit


Protocolo de red TCP/IP


Protocolo de red TCP/IP con SSL



miércoles, 22 de marzo de 2017

Apuntes de Lenguajes de Interfaz 2017


GUI Turbo Assembler (TASM) a 64bit MuItilingual IDE

Programas en lenguaje ensamblador 


Unidad#1: 1.4 Nuevas tecnologías y aplicaciones de los sistemas de bases de datos


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.