martes, 10 de abril de 2018
viernes, 16 de marzo de 2018
Arquitectura física de una base de datos en SQL Server
La unidad fundamental del almacenamiento
de datos en SQL Server es la página. El espacio en disco asignado a un archivo
de datos (.mdf o .ndf) de una base de datos se divide lógicamente en páginas
numeradas de forma contigua de 0 a n. Las operaciones de E/S de disco se
realizan en el nivel de página. Es decir, SQL Server lee o escribe páginas de
datos enteras.
Páginas
En SQL Server, el tamaño de página es de 8 KB. Esto significa que las bases de datos de SQL Server tienen 128 páginas por megabyte. Cada página empieza con un encabezado de 96 bytes, que se utiliza para almacenar la información del sistema acerca de la página. Esta información incluye el número de página, el tipo de página, el espacio libre en la página y el Id. de unidad de asignación del objeto propietario de la página.
En SQL Server, el tamaño de página es de 8 KB. Esto significa que las bases de datos de SQL Server tienen 128 páginas por megabyte. Cada página empieza con un encabezado de 96 bytes, que se utiliza para almacenar la información del sistema acerca de la página. Esta información incluye el número de página, el tipo de página, el espacio libre en la página y el Id. de unidad de asignación del objeto propietario de la página.
Extensiones
Las extensiones son la unidad básica en la que se administra el espacio. Una extensión consta de ocho páginas contiguas físicamente, es decir 64 KB. Esto significa que las bases de datos de SQL Server tienen 16 extensiones por megabyte.
Las extensiones son la unidad básica en la que se administra el espacio. Una extensión consta de ocho páginas contiguas físicamente, es decir 64 KB. Esto significa que las bases de datos de SQL Server tienen 16 extensiones por megabyte.
Para hacer que la asignación de espacio
sea eficaz, SQL Server no asigna extensiones completas a tablas con pequeñas
cantidades de datos. SQL Server tiene dos tipos de extensiones:
·
Las extensiones uniformes son propiedad de un único objeto; sólo el objeto
propietario puede utilizar las ocho páginas de la extensión.
·
Las extensiones mixtas, que pueden estar compartidas por hasta ocho
objetos. Cada una de las 8 páginas de la extensión puede ser propiedad de un
objeto diferente.
Archivos de base de datos
Las bases de datos de SQL Server 2005 utilizan tres tipos de archivos:
Las bases de datos de SQL Server 2005 utilizan tres tipos de archivos:
·
Archivos de datos principales: El archivo de
datos principal es el punto de partida de la base de datos y apunta a los otros
archivos de la base de datos. Cada base de datos tiene un archivo de datos
principal. La extensión recomendada para los nombres de archivos de datos
principales es .mdf.
·
Archivos de datos secundarios: Los archivos de
datos secundarios son todos los archivos de datos menos el archivo de datos
principal. Puede que algunas bases de datos no tengan archivos de datos
secundarios, mientras que otras pueden tener varios archivos de datos
secundarios. La extensión de nombre de archivo recomendada para los archivos de
datos secundarios es .ndf.
·
Archivos de registro: Los archivos de
registro almacenan toda la información de registro que se utiliza para
recuperar la base de datos. Como mínimo, tiene que haber un archivo de registro
por cada base de datos, aunque puede haber varios. La extensión de nombre de
archivo recomendada para los archivos de registro es .ldf.
Nombres de archivo
logico y fisico
Los archivos de SQL Server 2005 tienen dos
nombres:
logical_file_name es el nombre que se
utiliza para hacer referencia al archivo en todas las instrucciones
Transact-SQL. El nombre de archivo lógico tiene que cumplir las reglas
de los identificadores de SQL Server y tiene que ser único entre los
nombres de archivos lógicos de la base de datos.
os_file_name es el nombre del archivo
físico que incluye la ruta de acceso al directorio.
Debe seguir las reglas para nombres de
archivos del sistema operativo.
Paginas de archivos de
datos
Las páginas de un archivo de SQL Server
2005 están numeradas secuencialmente, comenzando por 0 para la primera
página del archivo. Cada archivo de una base de datos tiene un número de
identificador único. Para identificar de forma única una página de un base
de datos, se requiere el identificador del archivo y el número de la página. El
siguiente ejemplo muestra los números de página de una base de datos que
tiene un archivo de datos principal de 4 MB y un archivo de datos
secundario de 1 MB.
Archivos de instantáneas de bases de datos
La forma de archivo que utiliza una instantánea de base de datos para almacenar sus datos de copia por escritura depende de si la instantánea la ha creado un usuario o se utiliza internamente:
La forma de archivo que utiliza una instantánea de base de datos para almacenar sus datos de copia por escritura depende de si la instantánea la ha creado un usuario o se utiliza internamente:
·
Una instantánea de base de datos que crea un usuario almacena sus datos en
uno o más archivos dispersos. La tecnología de archivos dispersos es una
característica del sistema de archivos NTFS. Al principio, un archivo disperso
no incluye datos de usuario y no se le asigna espacio en disco.
·
Las instantáneas de bases de datos las utilizan internamente algunos
comandos DBCC. Entre estos comandos se incluyen: DBCC CHECKDB, DBCC CHECKTABLE,
DBCC CHECKALLOC y DBCC CHECKFILEGROUP. Una instantánea de base de datos interna
utiliza secuencias de datos alternativos dispersos de los archivos de base de
datos originales.
Tamaño de archivo
Los archivos de SQL Server 2005 pueden
crecer automáticamente a partir del tamaño originalmente especificado.
Cuando se define un archivo, se puede especificar un incremento de
crecimiento. Cada vez que se llena el archivo, el tamaño aumenta en
la cantidad especificada. Si hay varios archivos en un grupo de archivos,
no crecerán automáticamente hasta que todos los archivos estén llenos.
miércoles, 14 de marzo de 2018
ESTRUCTURA DE LA MEMORIA
Es la estructura de memoria compartida que contienen datos e información de control para una instancia de una base de datos, cada instancia tiene sus propias estructuras de memoria y se localiza en la memoria virtual del computador. Las estructuras de memoria se denominan System Global Area (SGA) la cual es un área compartida por todos los usuarios y se divide en tres partes:
La SGA está compueseta por tres estructuras principales:
- la buffer cache
- la shared pool
- el redo log buffer
Fondo común compartido (Shared pool):
Cuando un usuario ejecuta una sentencia ocurren dos cosas. Primero, Oracle verifica si ya existe en la library cache una sentencia idéntica. Si no se encuentra una sentencia idéntica, la sentencia debe ser parseada y luego alojada en la library cache. El parseo requiere, a su vez, diversas subtareas que implican overhead para el sistema. Si, en cambio, existe una sentencia idéntica en la library cache, Oracle pobablemente la reutilice.
Cuando un usuario ejecuta una sentencia ocurren dos cosas. Primero, Oracle verifica si ya existe en la library cache una sentencia idéntica. Si no se encuentra una sentencia idéntica, la sentencia debe ser parseada y luego alojada en la library cache. El parseo requiere, a su vez, diversas subtareas que implican overhead para el sistema. Si, en cambio, existe una sentencia idéntica en la library cache, Oracle pobablemente la reutilice.
Arear de Memoria rápida (Dtabase buffer cache): La buffer cache es utilizada para almacenar en memoria los bloques recientemente accedidos de los datafiles. Un bloque es la unidad mínima de almacenamiento que lee o escribe Oracle en un momento determinado.
martes, 13 de marzo de 2018
link del video de explicacion de un ejemplo de loop en emu8086
link del video de explicacion de un ejemplo de loop en emu8086
https://www.youtube.com/watch?v=VbeE3M-Xrzk&feature=youtu.be
https://www.youtube.com/watch?v=VbeE3M-Xrzk&feature=youtu.be
lunes, 12 de marzo de 2018
Arquitectura de un manejador de bases de datos
Shared Pool: es una caché que mejora el rendimiento ya que almacena parte del diccionario de datos y el parsing de algunas consultas en SQL.
En esta zona se encuentran las sentencias SQL que han sido analizadas. El análisis sintáctico de las sentencias SQL lleva su tiempo y Oracle mantiene las estructuras asociadas a cada sentencia SQL analizada durante el tiempo que pueda para ver si puede reutilizarlas.
Antes de analizar una sentencia SQL, Oracle mira a ver si encuentra otra sentencia exactamente igual en la zona de SQL compartido. Si es así, no la analiza y pasa directamente a ejecutar la que mantiene en memoria. De esta manera se premia la uniformidad en la programación de las aplicaciones. La igualdad se entiende que es lexicográfica, espacios en blanco y variables incluidas.
La base de datos Oracle asigna memoria a la shared pool cuando una nueva instrucción sql se analiza. El tamaño de esta memoria depende de la complejidad de la instrucción. Si toda la shared pool ya ha sido asignada la base de datos Oracle puede liberar elementos de la shared pool hasta que haya suficiente espacio libre para nuevas sentencias. Al liberar un elemento de la shared pool el sql asociado debe ser recompilado y reasignado a otra área de sql compartida la próxima vez que se ejecute.
El contenido de la zona de SQL compartido es:
En esta zona se encuentran las sentencias SQL que han sido analizadas. El análisis sintáctico de las sentencias SQL lleva su tiempo y Oracle mantiene las estructuras asociadas a cada sentencia SQL analizada durante el tiempo que pueda para ver si puede reutilizarlas.
Antes de analizar una sentencia SQL, Oracle mira a ver si encuentra otra sentencia exactamente igual en la zona de SQL compartido. Si es así, no la analiza y pasa directamente a ejecutar la que mantiene en memoria. De esta manera se premia la uniformidad en la programación de las aplicaciones. La igualdad se entiende que es lexicográfica, espacios en blanco y variables incluidas.
La base de datos Oracle asigna memoria a la shared pool cuando una nueva instrucción sql se analiza. El tamaño de esta memoria depende de la complejidad de la instrucción. Si toda la shared pool ya ha sido asignada la base de datos Oracle puede liberar elementos de la shared pool hasta que haya suficiente espacio libre para nuevas sentencias. Al liberar un elemento de la shared pool el sql asociado debe ser recompilado y reasignado a otra área de sql compartida la próxima vez que se ejecute.
El contenido de la zona de SQL compartido es:
-
- Las sentencias SQL y PL/SQL (texto de la sentencia)
- Plan de ejecución de la sentencia SQL.
- Lista de objetos referenciados.
-
- Comprobar si la sentencia se encuentra en el área compartida.
- Comprobar si los objetos referenciados son los mismos.
- Comprobar si el usuario tiene acceso a los objetos referenciados.Si no, la sentencia es nueva, se analiza y los datos de análisis se almacenan en la zona de SQL compartida.
Dividido en:Library cache
Incluye los espacios comunes de SQL, áreas privadas de SQL (en el caso de una configuración de servidor compartido), los procedimientos PL/SQL y paquetes, y las estructuras de control, tales como bloqueos.Data Dictionary Cache
También conocido como Dictionary Cache o Row Cache, almacena la información de uso más reciente sobre el diccionario de datos. Es una colección de tablas y vistas que contienen información referente a la base de datos como los nombres y tipos de datos de las columnas de las tablas, usuarios, passwords y privilegios. Durante la fase de compilación, esta información es necesaria para resolver los nombres de los objetos utilizados en un comando SQL y para validar los privilegios de acceso.- Video: https://www.youtube.com/watch?v=fKOnylu4tmA
Large Pool
El administrador de la base de datos puede configurar esta área de memoria opcional, para proveer localidades más amplias de memoria para:-
- Memoria de sesiones.
- Procesos de I/O del servidor
- Backups de la base de datos y operaciones de recuperación.
Java Pool
La memoria java pool es usada en la memoria del servidor para todas las sesiones que utilicen código java y datos en la JVM. Esta memoria es usada de diferentes maneras dependiendo del modo en el que la base de datos esté corriendo.Streams Pool
Esta memoria es usada exclusivamente por flujos de Oracle. Esta almacena colas de mensajes y provee memoria para que los flujos de Oracle capturen procesos y los apliquen. A menos que se configure específicamente, el tamaño de esta memoria empieza en cero. El tamaño de la streams pool crece dinámicamente como sea necesario cuando los flujos de Oracle son usados.
martes, 6 de marzo de 2018
Arquitectura de un sistema gestor de bases de datos
Componentes
Un sistema de bases de datos se divide en módulos que se encargan de cada una de las responsabilidades del sistema completo.
Los componentes funcionales de un sistema de bases de datos se pueden dividir a grandes rasgos en:
Usuarios
Componentes de procesamiento de consultas
Almacenamiento en disco
Un sistema de bases de datos se divide en módulos que se encargan de cada una de las responsabilidades del sistema completo.
Los componentes funcionales de un sistema de bases de datos se pueden dividir a grandes rasgos en:
Usuarios
- Normales: Usuarios que no requieren preparación especial en el manejo de base de datos y que utilizan el sistema a través de programas de aplicación que han sido escritos para ellos.
- Programadores de aplicaciones: Usuarios de la base de datos y escriben programas de aplicación. Pueden llegar a utilizar herramientas DRA (Desarrollo Rápido de Aplicaciones), con las que pueden crear formularios e informes con poco esfuerzo de programación.
- Sofisticados: Son quienes utilizan la base de datos a través de consultas escritas en un lenguaje de consultas.
- DBA: Su función es administrar la base de datos por lo tanto tiene acceso total.
- Compilador de LMD: Traduce las instrucciones del LMD en lenguaje de consultas a instrucciones a bajo nivel que entiende el motor de evaluación de consultas.
- Precompilador del LMD incorporado: Convierte las instrucciones de LMD incorporadas en un programa de aplicación en llamadas a procedimientos normales en el lenguaje anfitrión.
- Intérprete del LDD: Interpreta las instrucciones del LDD y las registra en un conjunto de tablas que contiene metadatos.
- Motor de evaluación de consultas: Ejecuta las instrucciones a bajo nivel generadas por el compilador del LMD.
Componentes de gestión de almacenamiento
- Gestor de autorización e integridad: Comprueba que se satisfagan las ligaduras de integridad y la autorización de los usuarios para acceder a los datos.
- Gestor de transacciones: Asegura que la base de datos quede en un estado consistente a pesar de los fallos del sistema, y que las ejecuciones de transacciones concurrentes ocurran sin conflicto.
- Gestor de archivos: Gestiona la reserva de espacio de almacenamiento de disco, y las estructuras de datos usadas para representar la información almacenada en disco.
- Gestor de memoria intermedia: Es responsable de traer los datos del disco de almacenamiento a memoria principal y decidir qué datos tratar en la memoria caché.
Almacenamiento en disco
- Diccionario de datos: Que contiene información sobre los datos y es un tipo especial de tabla a la que solo tiene acceso el sistema de base de datos y no los usuarios en general.
- Diccionario de datos: Almacena entre otros datos, restricciones de seguridad e integridad.
- Indices: Que se utilizan para buscar más rápidamente un registro. Estos, junto con los datos estadísticos son archivos que son almacenados en disco.
Suscribirse a:
Entradas (Atom)
Trabajo con puerto usb
Programación de puerto USB USB viene de frase en Ingles “Universal Serial Bus” que se utiliza para describir un tipo de puerto en la co...
-
8 Programa que mediante un botón con función permite centrar la ventana secundaria
-
pip es una herramienta escrita en Python para facilitar la descarga e instalación de paquetes del lenguaje que se encuentren en el Python ...
-
instalación del programa SGBD Firebird y DBeaver ...



