Motor de base de datos

Ir a: navegación, búsqueda de

A motor de base de datos (o motor de almacenamiento) es el componente de software subyacente que un sistema de gestión de base de datos (DBMS) se utiliza para crear, leer, actualizar y eliminar (CRUD) datos desde un base de datos. Mayoría de los sistemas de gestión de bases de datos incluye sus propios interfaz de programación de aplicaciones (API) que permite al usuario interactuar con su motor subyacente sin pasar a través de la interfaz de usuario de la DBMS.

El término "motor de base de datos" con frecuencia se utiliza indistintamente con"servidor de base de datos"o"sistema de gestión de bases de datos". Una "instancia de base de datos' se refiere a los procesos y las estructuras de la memoria del funcionamiento motor de base de datos.

Muchos de los DBMS moderno soportan múltiples motores de almacenamiento dentro de la misma base de datos. Por ejemplo, MySQL soporta InnoDB así como MyISAM.

Algunos motores de almacenamiento son transaccional.

Nombre Licencia Transaccional
Aria GPL No
BlitzDB GPL No
Halcón GPL Sí
InnoDB GPL Sí
MyISAM GPL No
InfiniDB CPL No
TokuDB GPL Sí
WiredTiger GPL Sí
XtraDB GPL Sí

Los tipos de motor adicionales incluyen:

  • Base de datos incorporada motores
  • Base de datos en memoria motores

Contenido

  • 1 Consideraciones de diseño
    • 1.1 Jerarquía de almacenamiento de base de datos
    • 1.2 Estructuras de datos
    • 1.3 Orientación de datos y agrupación
    • 1.4 Base de datos de indexación
  • 2 Véase también
  • 3 Enlaces externos
  • 4 Referencias

Consideraciones de diseño

Pedacitos de base de datos se distribuyen en almacenamiento de información en las estructuras de datos y las agrupaciones que pueden aprovecharse de ambos conocidos algoritmos eficaces para recuperar y manipular las propiedades de almacenamiento propia y ellos. Típicamente el almacenaje del mismo está diseñado para satisfacer los requerimientos de diversas áreas que utilizan extensivamente almacenamiento, incluidas bases de datos. Un DBMS en operación utiliza siempre simultáneamente varios tipos de almacenamiento (por ejemplo, memoria y almacenamiento externo), con los métodos de diseño respectivo.

En principio el almacenamiento de base de datos puede considerarse como un lineal espacio de direcciones, donde cada bit de datos tiene una dirección única en este espacio de direcciones. En la práctica, solamente un porcentaje muy pequeño de direcciones se mantienen como puntos de referencia inicial (que también requiere almacenamiento de información); mayoría de los datos se accede por indirección mediante cálculos de desplazamiento (distancia en pedacitos de los puntos de referencia) y estructuras de datos que definen las rutas de acceso (mediante punteros) a todos los datos necesarios de manera efectiva, optimizada para las operaciones de acceso a datos necesarios.

Jerarquía de almacenamiento de base de datos

Una base de datos, mientras está en funcionamiento, reside simultáneamente en varios tipos de almacenamiento, formando un jerarquía de almacenamiento. Por la naturaleza de las computadoras contemporáneas la mayoría de la base de datos parte dentro de un ordenador que aloja el DBMS reside (parcialmente replicado) en almacenamiento volátil. Datos (piezas de la base de datos) que están siendo procesados/manipulado residir dentro de un procesador, posiblemente en caché del procesador. Estos datos están siendo leídos desde escrito de memoria, típicamente a través de una computadora autobús (hasta ahora componentes de almacenamiento típicamente volátil). Memoria de la computadora está comunicando datos (transferidos a) almacenamiento externo, típicamente a través de interfaces estándar de almacenamiento de información o redes (por ejemplo, canal de fibra, iSCSI). A matriz de almacenamiento, una unidad de almacenamiento externo común, normalmente tiene jerarquía de almacenamiento de lo propio, de un caché rápida, típicamente consiste en (volátil y rápido) DRAM, que está conectado (a través de interfaces estándar) como a las unidades, posiblemente con diferentes velocidades, unidades Flash y magnético unidades de disco (no volátil). Las unidades pueden ser conectadas a cintas magnéticas, en el cual típicamente las partes menos activas de una gran base de datos pueden residir o generaciones de copia de seguridad de base de datos.

Típicamente una correlación existe actualmente entre la velocidad de almacenamiento de información y precio, mientras que el almacenamiento más rápido es típicamente volátil.

Estructuras de datos

Artículo principal: Estructuras de almacenamiento de base de datos

Una estructura de datos es un concepto abstracto que incorpora datos de una manera bien definida. Una estructura de datos eficiente permite para manipular los datos de manera eficiente. La manipulación de datos puede incluir datos inserción, eliminación, actualización y recuperación en varios modos. Un cierto tipo de estructura de datos puede ser muy eficaz en determinadas operaciones y muy poco eficaz en otros. Se selecciona un tipo de estructura de datos sobre desarrollo de DBMS para satisfacer mejor las operaciones necesarias para los tipos de datos que contiene. Tipo de estructura de datos seleccionado para una determinada tarea típicamente también toma en consideración el tipo de almacenamiento reside en (por ejemplo, velocidad de acceso.), tamaño mínimo del pedazo de almacenamiento de información accedido, etc.. En algunas bases de datos los administradores de bases de datos tienen la flexibilidad de elegir entre opciones de estructuras de datos que contienen datos de los usuarios por razones de rendimiento. A veces las estructuras de datos tienen parámetros seleccionables para afinar el rendimiento de la base de datos.

Bases de datos pueden almacenar datos en muchos tipos de estructura de datos.[1] Los ejemplos más comunes son los siguientes:

  • ordenado/desordenada archivos planos
  • tablas hash
  • Árboles B +
  • ISAM
  • montones

Orientación de datos y agrupación

En contraste con fila-orientación convencional, también pueden ser bases de datos relacionales orientación de columna o correlacional en la forma en que almacenan datos en cualquier estructura particular.

En general, mejora sustancial se obtiene si se colocan diferentes tipos de objetos de base de datos que se utilizan generalmente juntos en almacenamiento en proximidad, siendo "agrupado". Generalmente esto permite para recuperar objetos relacionados de almacenaje en número mínimo de operaciones de entrada (cada uno a veces sustancialmente desperdiciador de tiempo). Incluso para las bases de datos en memoria de clustering proporciona ventaja de rendimiento debido a la utilización común de grandes escondites para las operaciones de entrada y salida en la memoria, con similar comportamiento resultante.

Por ejemplo puede ser beneficioso para un registro de un "item" en la acción con todos sus registros respectivos "orden" del cluster. La decisión de si se agrupan ciertos objetos o no depende de las estadísticas de utilización de los objetos, tamaños, objeto cachés de tamaños, tipos de almacenamiento, etc..

Base de datos de indexación

Artículo principal: Índice de base de datos

Indexación es una técnica que utilizan algunos motores de almacenamiento de información para mejorar el rendimiento de la base de datos. Los diversos tipos de índices comparten la característica común que reducen la necesidad de examinar cada entrada cuando se ejecuta una consulta. En grandes bases de datos, esto puede reducir la consulta tiempo/costo por órdenes de magnitud. La forma más simple del índice es una lista ordenada de valores que pueden ser buscados utilizando un búsqueda binaria con una referencia adyacente a la localización de la entrada, análoga del índice en la parte trasera de un libro. Los mismos datos pueden tener varios índices (una base de datos de empleados podría ser indexado por última fecha nombre y alquiler).

Índices afectan el rendimiento, pero no los resultados. Los diseñadores de la base de datos pueden agregar o quitar índices sin cambiar la lógica de la aplicación, reducir los costos de mantenimiento como la base de datos crece y evoluciona el uso de base de datos. Índices pueden acelerar el acceso a los datos, pero consumen espacio en la base de datos y debe ser actualizados cada vez que los datos se altera. Índices por lo tanto, pueden acelerar el acceso a datos pero mantenimiento de datos lentas. Estas dos propiedades determinan si un determinado índice vale la pena el costo.

Véase también

  • Motor de base de datos Micro-Kernel de Btrieve
  • Berkeley DB
  • Motor de base de datos de c-treeACE
  • Motor de base de datos FLAIM
  • Motor de base de datos Microsoft Jet
  • MySQL Cluster, en el motor NDB de MySQL

Enlaces externos

  • https://dev.mysql.com/tech-resources/articles/Storage-Engine/part_3.html
  • Biblia del MySQL Administrator Capítulo 11 "Los motores de almacenamiento"

Referencias

  1. ^ Lightstone, Teorey & Nadeau 2007

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=Database_engine&oldid=615190936"