Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Subtítulo Del Documento
Subtítulo Del Documento
[FECHA]
HP INC.
[Dirección de la compañía]
Contenido
Sistema manejador de base de datos (SMBD) ........................................................................... 3
Funciones Principales:..................................................................................................................... 3
Características: ................................................................................................................................. 3
• Abstracción de la información ............................................................................................ 3
• Redundancia mínima. .......................................................................................................... 3
• Consistencia. ......................................................................................................................... 3
• Seguridad. ............................................................................................................................. 3
• Integridad. .............................................................................................................................. 3
• Respaldo y recuperación..................................................................................................... 4
• Control de la concurrencia .................................................................................................. 4
Evolución de los sistemas manejadores de base de datos ....................................................... 4
Sistema de base de datos relacionales: ................................................................................... 5
Comandos de lenguaje de definición de datos: ....................................................................... 7
Administración de base de datos: .................................................................................................. 9
Sistemas Gestores de bases de datos relacionales. ................................................................ 10
MySQL ......................................................................................................................................... 10
MariaDB ....................................................................................................................................... 11
SQLite........................................................................................................................................... 11
PostgreSQL ................................................................................................................................. 12
Microsoft SQL Server................................................................................................................. 13
Oracle ........................................................................................................................................... 14
Sistemas Gestores de bases de datos No Relacionales (NoSQL) ........................................ 15
MongoDB ..................................................................................................................................... 15
Redis............................................................................................................................................. 16
Cassandra ................................................................................................................................... 17
Nuevas herramientas tecnológicas que rodean los distintos tipos de bases de datos o de
SGBD. .............................................................................................................................................. 17
Azure Cosmos DB ...................................................................................................................... 18
RavenDB...................................................................................................................................... 18
ObjectDB...................................................................................................................................... 18
Apache CouchDB ....................................................................................................................... 18
Neo4j ............................................................................................................................................ 19
Google BigTable ......................................................................................................................... 19
Apache Hbase............................................................................................................................. 19
Amazon DynamoDB................................................................................................................... 20
Conclusiones ................................................................................................................................... 20
Cibergrafía ....................................................................................................................................... 20
Sistema manejador de base de datos (SMBD)
Funciones Principales:
Características:
• Abstracción de la información.
Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los
datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho
se hace transparente al usuario.
• Redundancia mínima.
Un buen diseño de una base de datos logrará evitar la aparición de información
repetida o redundante
• Consistencia.
En aquellos casos en los que no se ha logrado esta redundancia nula, será necesario
vigilar que aquella información que aparece repetida se actualice de forma coherente,
es decir, que todos los datos repetidos se actualicen de forma simultánea.
• Seguridad.
La información almacenada en una base de datos puede llegar a tener un gran valor.
Los SGBD deben garantizar que esta información se encuentra segurizada frente a
usuarios malintencionados, que intenten leer información privilegiada; frente a
ataques que deseen manipular o destruir la información; o simplemente ante las
torpezas de algún usuario autorizado pero despistado.
• Integridad.
Se trata de adoptar las medidas necesarias para garantizar la validez de los datos
almacenados. Es decir, se trata de proteger los datos ante fallos de hardware, datos
introducidos por usuarios descuidados, o cualquier otra circunstancia capaz de
corromper la información almacenada.
• Respaldo y recuperación.
Los SGBD deben proporcionar una forma eficiente de realizar copias de respaldo de
la información almacenada en ellos, y de restaurar a partir de estas copias los datos
que se hayan podido perder.
• Control de la concurrencia.
En la mayoría de entornos (excepto quizás el doméstico), lo más habitual es que sean
muchas las personas que acceden a una base de datos, bien para recuperar
información, bien para almacenarla. Y es también frecuente que dichos accesos se
realicen de forma simultánea.
El primer gestor de bases de datos (DBMS) comercial, IDS: Integrated Data Store ,
se crea bajo el concepto del Modelo de Datos de Red (Bachgman, 1965); luego se
desarrolla el IMS: Information Management System , sobre el concepto del Modelo
de Datos Jerárquico. Estos DBMSs eran accesados normalmente por lenguajes de
programación como Cobol usando interfases de bajo nivel haciendo que las tareas
de creación de aplicaciones y mantenimiento de los datos fuesen controlables, pero
aún complejas.
A medida que evolucionaban los DBMS, los lenguajes de programación también lo
hacían. En 1967 surge el primer lenguaje de programación orientado a objetos,
Simula, el cual fue propuesto para simulación de actividades. En este los
procedimientos podían ser asociados a un tipo para representar el comportamiento
de una instancia, introduciendo así el concepto de Clase. Simula, soporta
paralelismo permitiendo muchas entidades interactivas en una simulación. Además
comparte objetos acoplando datos y procedimientos.
Comenzando los años 80’s ya se siente la necesidad de que los DBMS actuales
manipulen objetos complejos y estructuras como las usadas en sistemas CAD y
CASE, entre otras. A partir de esto se da inicio a dos grandes tendencias: los
ORDBMS (Object Relational Database Management System) los cuales se proyectan
como una extensión de los RDBMS hacia el paradigma OO, y los OODBMS (Object
Oriented Database Management System) estarían disponibles para almacenar y
manipular las clases, los objetos, la asociación entre ellos y sus métodos. Así,
finalizando los años 80s se crean los OODBMSs por medio de productores como O2,
ObjectDesign y Objectivity, entre otros. Pero realmente se puede decir que estos no
se hicieron tan comerciales como los existentes RDBMS ya que el concepto de
Orientación a Objetos se seguía manejando muy a nivel del lenguaje de
programación, sin que se trabajaran estructuras de almacenamiento Orientadas a
Objetos dependientes de estos . Así, en 1991 surge la ODMG (Object Database
Management Group) el cual estandariza los OODBMSs a partir del ODMG-93 y luego
en 1992 el comité ANSI X3H2 inicia un trabajo en SQL3, del cual surgen los DBMS
objeto relacional ORDBMS. Este trabajo fue programado para finalizarse en 1995,
pero aún se sigue trabajando en este con un tiempo límite de terminación, en el año
1999.
Una Base de Datos Relacional, es una base de datos que cumple con el modelo
relacional, el cual es el modelo más utilizado en la actualidad para implementar bases
de datos ya planificadas. Permiten establecer interconexiones (relaciones) entre los
datos (que están guardados en tablas), y a través de dichas conexiones relacionar
los datos de ambas tablas, de ahí proviene su nombre: "Modelo Relacional". Tras ser
postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San
José (California), no tardó en consolidarse como un nuevo paradigma en los modelos
de base de datos.
Arquitecturas multi-capas:
• Pone más carga en la red, debido a una mayor cantidad de tráfico de la red.
• Es mucho más difícil programar y probar el software que en arquitectura de dos
niveles porque tienen que comunicarse más dispositivos para terminar la transacción
de un usuario.
• Componentes de una (DBMS):
DBMS: Database Management System
Colección de datos interrelacionados y un conjunto de programas para acceder a
esos datos. Los componentes de una DBMS son:
• Data definition language (DDL):
Define elementos de los datos en la base de datos
• Data manipulation language (DML):
Manipula datos para aplicaciones
• Data dictionary:
Definiciones de todas las variables en la base
Funcionalidades de DBMS:
Las funciones principales de un DBMS son:
• Crear y organizar la Base de datos.
• Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que
los datos puedan ser accesados rápidamente.
• Manejar los datos de acuerdo a las peticiones de los usuarios.
• Registrar el uso de las bases de datos.
• Interacción con el manejador de archivos. Esto a través de las sentencias en DML al
comando de el sistema de archivos. Así el Manejador de base de datos es el
responsable del verdadero almacenamiento de los datos.
• Respaldo y recuperación. Consiste en contar con mecanismos implantados que
permitan la recuperación fácilmente de los datos en caso de ocurrir fallas en el
sistema de base de datos.
• Control de concurrencia. Consiste en controlar la interacción entre los usuarios
concurrentes para no afectar la inconsistencia de los datos.
• Seguridad e integridad. Consiste en contar con mecanismos que permitan el control
de la consistencia de los datos evitando que estos se vean perjudicados por cambios
no autorizados o previstos.
Consulta
Ver la informacion que desea ver un usuario por medio de comandos dentro de la
base de datos.
Las consultas de selección se utilizan para indicar al motor de datos que devuelva
información de las bases de datos, esta información es devuelta en forma de conjunto
de registros que se pueden almacenar en un objeto recordset. Este conjunto de
registros es modificable.
Procesamiento de consultas: EL procesamiento de consultas hace referencia a la
serie de actividades implicadas en la extracción de datos de una base de datos. Estas
actividades incluyen la traducción de consultas expresadas en lenguajes de bases
de datos de alto nivel en expresiones implementadas en el nivel físico del sistema,
así como transformaciones de optimización de consultas y la evaluación real de las
mismas.
Los pasos básicos a tomar en cuenta son:
• Análisis y traducción.
• Optimización.
• Evaluación.
PROCESADOR DE CONSULTA:
Interacciona con el usuario mediante sentencias específicas en un Lenguaje de
Consulta . Éstos son poderosos y bastante flexibles como para proporcionar
soluciones múltiples a un problema, uno de los más estandares es el SQL ( Lenguaje
de Consulta Secuencial) .
Procesamiento de transacciones
Una transacción es parte de las sentencias de control y consiste en una secuencia
de instrucciones de consulta y actualizaciones. La norma SQL especifica que una
transacción comienza implícitamente cuando se ejecuta una instrucción SQL. Una de
las siguientes instrucciones SQL debe finalizar la transacción:
Commit work compromete la transacción actual; es decir, hace que los cambios
realizados por la transacción sean permanentes en la base de datos.
Rollback work causa el retroceso de la transacción actual; es decir, deshace todas
las actualizaciones realizadas por las instrucciones SQL de la transacción; así, el
estado de la base de datos se restaura al que existía previo a la ejecución de la
transacción.
Manejo de almacenamiento:
La mayoría de las bases de datos se almacenan en las llamadas memorias
secundarias, especialmente discos duros, aunque, en principio, pueden emplearse
también discos ópticos, memorias flash, etc. Las razones por las cuales las bases de
datos se almacenan en memorias secundarias son:
• En general, las bases de datos son demasiado grandes para entrar en la memoria
primaria.
• La memoria secundaria suele ser más barata que la memoria primaria (aunque esta
última tiene mayor velocidad).
• La memoria secundaria es más útil para el almacenamiento de datos permanente,
puesto que la memoria primaria es volátil. - See more
MySQL
Se ofrece bajo la GNU GPL aunque también es posible adquirir una licencia para
empresas que quieran incorporarlo en productos privativos (Desde la compra por
parte de Oracle se está orientando a este ámbito empresarial).
Las principales ventajas de este Sistema Gestor de Bases de datos son:
• Facilidad de uso y gran rendimiento
• Facilidad para instalar y configurar
• Soporte multiplataforma
• Soporte SSL
La principal desventaja es la escalabilidad, es decir, no trabaja de manera eficiente
con bases de datos muy grandes que superan un determinado tamaño.
MariaDB
SQLite
PostgreSQL
Este sistema gestor de base de datos relacional está orientado a objetos y es libre,
publicado bajo la licencia BSD.
Sus principales características son:
• Control de Concurrencias multiversión (MVCC)
• Flexibilidad en cuanto a lenguajes de programación
• Multiplataforma
• Dispone de una herramienta (pgAdmin, https://www.pgadmin.org/) muy fácil e
intuitiva para la administración de las bases de datos.
• Robustez, Eficiencia y Estabilidad.
La principal desventaja es la lentitud para la administración de bases de datos
pequeñas ya que está optimizado para gestionar grandes volúmenes de datos.
Oracle
MongoDB
Redis
Cassandra
Nuevas herramientas tecnológicas que rodean los distintos tipos de bases de datos
o de SGBD.
Otros Sistemas Gestores de bases de datos son:
Azure Cosmos DB
RavenDB
ObjectDB
Apache CouchDB
o Apache CouchDB ™ le permite acceder a sus datos donde los necesite. El Protocolo
de replicación Couch se lleva a cabo en una variedad de proyectos y productos que
abarcan todos los entornos informáticos imaginables del servidor-clusters
distribuidos globalmente, sobre los teléfonos móviles a los navegadores web.
Neo4j
o A diferencia de las bases de datos tradicionales, que organizan los datos en filas,
columnas y tablas, Neo4j tiene una estructura flexible definida por las relaciones
almacenadas entre los registros de datos.
Con Neo4j, cada registro de datos, o nodo, almacena punteros directos a todos los
nodos a los que está conectado. Debido a que Neo4j está diseñado alrededor de esta
optimización simple pero poderosa, realiza consultas con conexiones complejas
órdenes de magnitud más rápido y con más profundidad que otras bases de datos.
Google BigTable
Apache Hbase
o Cuando necesite acceso aleatorio de lectura / escritura en tiempo real a su Big
Data. El objetivo de este proyecto es el alojamiento de tablas muy grandes (miles de
millones de filas X millones de columnas) encima de grupos de hardware
básico. Apache HBase es una base de datos de código abierto, distribuida,
versionada y no relacional modelada a partir de Bigtable de Google : un sistema de
almacenamiento distribuido para datos estructurados de Chang et al. Así como
Bigtable aprovecha el almacenamiento de datos distribuidos proporcionado por el
sistema de archivos de Google, Apache HBase proporciona capacidades similares a
Bigtable además de Hadoop y HDFS.
Amazon DynamoDB
Conclusiones
Cibergrafía
https://revistadigital.inesem.es/informatica-y-tics/los-gestores-de-bases-de-datos-
mas-usados/
https://azure.microsoft.com/es-es/services/cosmos-db/
https://ravendb.net/
https://www.objectdb.com/
https://couchdb.apache.org/
https://neo4j.com/
https://cloud.google.com/bigtable/?hl=es
https://hbase.apache.org/
https://aws.amazon.com/es/dynamodb/
https://www.mysql.com/
https://mariadb.org/
https://www.sqlite.org/index.html
https://www.postgresql.org
https://www.microsoft.com/es-es/sql-server/sql-server-downloads
https://www.oracle.com/es/index.html
https://www.mongodb.com/es
https://redis.io/
cassandra.apache.org