El documento proporciona información sobre las bases de datos. Explica que una base de datos es un sistema computarizado para almacenar y recuperar información de manera estructurada. Describe los diferentes tipos de bases de datos, incluyendo bases de datos relacionales que usan tablas y SQL, bases de datos NoSQL orientadas a documentos, claves-valores o grafos, y compara algunas bases de datos populares como Oracle, MongoDB, SQL Server y sus ventajas y desventajas.
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Bases Datos Principales
1. CURSO NACIONAL: INFORMÁTICA
FORMACIÓN DISCIPLINAR
DOCENTES DE EDUCACIÓN MEDIA SUPERIOR
INSTITUCIONES DE EDUCACIÓN PÚBLICA DE EDUCACIÓN MEDIA SUPERIOR
PRINCIPALES BASES DE DATOS
Actividad de aprendizaje No. 4
TUTORA: Fátima C. Rodríguez Góngora
ALUMNA DOCENTE:
LIC. GLEYRI GÓMEZ ALMARAZ
2.
3. ¿Qué es una Base de Datos? Un sistema de bases de datos es básicamente un sistema
computarizado para llevar registros, es posible considerar a la propia base de datos como
una especie de armario electrónico para archivar; es decir, es un depósito o contenedor
de una colección de archivos de datos computarizados. Los usuarios del sistema pueden
realizar una variedad de operaciones sobre dichos archivos.
por ejemplo:
■ Agregar nuevos archivos vacíos a la base de datos;
■ Insertar datos dentro de los archivos existentes;
■ Recuperar datos de los archivos existentes;
■ Modificar datos en archivos existentes;
■ Eliminar datos de los archivos existentes;
■ Eliminar archivos existentes de la base de datos
Es un sistema computarizado cuya finalidad general es almacenar información y permitir
a los usuarios recuperar y actualizar esa información con base en peticiones. La
información en cuestión puede ser cualquier cosa que sea de importancia para el
individuo u organización; en otras palabras, todo lo que sea necesario para auxiliarle en
el proceso general de su administración.
4. Los sistemas de bases de datos están disponibles en máquinas que van desde las
computadoras personales más pequeñas hasta las mainframes más grandes. Sobra decir
que las facilidades que proporciona un sistema están determinadas hasta cierto punto
por el tamaño y potencia de la máquina subyacente. En particular, los sistemas que se
encuentran en máquinas grandes (sistemas grandes) tienden a ser multiusuario, mientras
que los que se ejecutan en máquinas pequeñas ("sistemas pequeños") tienden a ser de
un solo usuario. Un sistema de un solo usuario es aquel en el que sólo un usuario puede
tener acceso a la base de datos en un momento dado; un sistema multiusuario es aquel
en el cual múltiples usuarios pueden tener acceso simultáneo
a la base de datos.
5. La sigla que se conoce como SQL corresponde a la expresión inglesa Structured Query
Language (entendida en español como Lenguaje de Consulta Estructurado), la cual
identifica a un tipo de lenguaje vinculado con la gestión de bases de datos de carácter
relacional que permite la especificación de distintas clases de operaciones entre éstas.
En esencia, el SQL es un lenguaje declarativo de alto nivel ya que, al manejar conjuntos
de registros y no registros individuales, ofrece una elevada productividad en la
codificación y en la orientación a objetos. Una sentencia de SQL puede resultar
equivalente a más de un programa que emplee un lenguaje de bajo nivel.
Una base de datos, dicen los expertos, implica la coexistencia de múltiples tipos de
lenguajes. El denominado Data Definition Language (también conocido como DDL) es
aquél que permite modificar la estructura de los objetos contemplados por la base de
datos por medio de cuatro operaciones básicas. SQL, por su parte, es un lenguaje que
permite manipular datos (Data Manipulation Language o DML) que contribuye a la
gestión de las bases de datos a través de consultas.
6. Una base de datos relacional es una base de datos en donde todos los datos visibles al
usuario están organizados estrictamente como tablas de valores, y en donde todas las
operaciones de la base de datos operan sobre estas tablas. Estas bases de datos son
presentadas a los usuarios como una colección de relaciones normalizadas de diversos
grados que varían con el tiempo.
El modelo relacional puede considerarse como un lenguaje de programación más bien
abstracto, orientado de manera específica hacia las aplicaciones de bases de datos. En
términos tradicionales una relación se asemeja a un archivo, una tupla a un registro, y
un atributo a un campo
7. Contrariamente a las ideas falsas causadas por su nombre, NoSQL no prohíbe el
lenguaje estructurado de consultas (SQL). Si bien es cierto que algunos sistemas
NoSQL son totalmente no-relacionales, otros simplemente evitan
funcionalidades relacionales seleccionadas como esquemas de tablas fijas y
operaciones conjuntas. Por ejemplo, en lugar de utilizar tablas, una base de
datos NoSQL podría organizar los datos en objetos, pares clave/valor o tuplas.
NoSQL, abarca una amplia gama de tecnologías y arquitecturas, busca resolver
los problemas de escalabilidad y rendimiento de big data que las bases de datos
relacionales no fueron diseñadas para abordar. NoSQL es especialmente útil
cuando una empresa necesita acceder y analizar grandes cantidades de datos no
estructurados o datos que se almacenan de forma remota en varios servidores
virtuales en la nube.
8. Dentro de las plataformas NoSQL encontramos varios:
• Basadas en clave/valor. Se almacenan valores asociados a una clave. Son sencillas y
las de mayor rendimiento.
• Basadas en documento. Son una particularización de las clave/valor, en las que el
valor puede ser un documento. Permiten consultas complejas.
• Basadas en columna. Los valores se almacenan en columnas en lugar de filas. Son
útiles cuando se gestionan datos agregados.
• Basadas en grafo. Las relaciones se tratan como un dato más.
• Basadas en objetos. Los datos son objetos y las relaciones punteros entre ellos.
Permiten operaciones muy complejas pero suelen tener bajo rendimiento.
• Otras. Cubren necesidades muy específicas y tienen escasa implantación: basadas en
tupla, multivaluadas, jerárquicas, etc. [10] NoSQL (Not Only SQL) realmente es una
categoría muy amplia para un grupo de soluciones de persistencia que no siguen el
modelo de datos relacional, y que no utilizan SQL como lenguaje de consulta.
9. Las bases de datos NoSQL pueden clasificarse en función de su modelo de datos en las
siguientes cuatro categorías:
• Orientadas a clave-valor (Key-Value stores)
• Orientadas a columnas (Wide Column stores)
• Orientadas a documentos (Document stores)
• Orientadas a grafos (Graph databases)
10. Nombre
de la
base de
datos
Diferencias Ventajas Desventajas
SQL
SERVER
• Oracle tiene límites de tamaño
máximo diferentes para algunos
objetos. Cualquier objeto creado en la
base de datos de publicaciones de
Oracle debe respetar los límites de
tamaño máximo de los
correspondientes objetos en SQL
Server.
• Los nombres de objeto de Oracle se
crean de manera predeterminada en
mayúsculas. Asegúrese de
proporcionar los nombres de los
objetos de Oracle en mayúsculas al
publicarlos a través de un distribuidor
de SQL Server si están en mayúsculas
en la base de datos de Oracle. Si no se
especifican los objetos en mayúsculas
o minúsculas correctamente, se
puede producir un mensaje de error
que indica que no se puede encontrar
el objeto
• Migración en vivo: las bases de datos
virtuales se pueden migrar de un
servidor físico a otro sin interrupción
del servicio en caso de problemas de
hardware.
• Rentabilidad y fácil
implementación de soluciones de
alta disponibilidad.
• Implementación flexible, dinámica y
automatizada de nuevas instancias y
recursos del sistema cuando sea
necesario (escalabilidad).
• Posibilidad de desarrollo ágil de
bases de datos: el uso de diferentes
máquinas virtuales con diferentes
sistemas o versiones de bases de
datos promueve el desarrollo o el
testeo del desarrollo ágil de software
dentro bajo el principio de prueba y
error. Los sistemas con diferentes
grados de actualización pueden ser
ajustados, modificados o eliminados,
sin que se corra el riesgo de poner en
peligro las bases de datos
“operativas”.
• Disponibilidad mejorada: mediante
la separación de las máquinas
virtuales entre sí, en caso de
problemas con una máquina virtual,
el resto de las máquinas virtuales
puede seguir funcionando sin
sacrificar el desempeño.
• Los sistemas de bases de datos
virtualizados, no sólo los basados en
Microsoft SQL Server, sino también
en Oracle u otros, necesitan de
procesadores potentes, mucha
memoria y sobre todo una gran
capacidad de almacenamiento para
que los datos puedan ser procesados
rápidamente por el sistema, al igual
que las bases de datos reales. Si todo
esto no es proporcionado por la
máquina virtual, puede generar una
degradación significativa del
desempeño.
• Falta de experiencia, o experiencia
insuficiente por parte del
personal: las bases de datos son por
naturaleza complejas, y la
virtualización no cambia nada de
esto.
• La falta de intercambios o
cooperación entre los
administradores de TI y los
DBAs: muchos administradores de
bases de datos no tienen acceso real
a las profundidades de la capa de
virtualización, ya que ésta es
gestionada por los administradores
de TI.
11. Nombre de la
base de datos
Diferencias Ventajas Desventajas
ORACLE • Oracle siempre ha sido considerada una base
de datos para uso más general que Informix.
Informix por su lado, se especializó más en
aplicaciones tipo GIS (datos geográficos),
Datawarehouse y Datamining. Sin duda a los
gurús, les agrada más Informix que Oracle.
• En Oracle, tienes que definir los usuarios
dentro la base de datos (gestión interna de
usuarios). En cambio, Informix utiliza los
mismos usuarios de Linux (los que creas con
adduser), simplificando la administración. Para
conectar externamente vía TCP/IP a Oracle,
hacía falta colgar un daemon llamado listener
de un puerto. Luego el listener traducía las
llamadas al SQLNet para hablar con la base de
datos. Luego había dos procesos: el daemon
de la base de datos (oracle), y el daemon que
escuchaba el puerto (listener). En Informix, el
mismo daemon de la base de datos (ONINIT)
atiende los puertos. De esta manera Informix
ocupa menos memoria y recursos. Con estas
diferencias ya podemos ver, que Informix es
una base de datos más moderna y integrada
con Linux que Oracle.
1.-Oracle es el motor de base de datos
relacional más usado a nivel mundial.
2.-Puede ejecutarse en todas las plataformas,
desde una Pc hasta un supercomputador.
3.-Oracle soporta todas las funciones que se
esperan de un servidor "serio": un lenguaje de
diseño de bases de datos muy completo
(PL/SQL) que permite implementar diseños
"activos", con triggers y procedimientos
almacenados, con una integridad referencial
declarativa bastante potente.
4.-Permite el uso de particiones para la mejora
de la eficiencia, de replicación e incluso ciertas
versiones admiten la administración de bases
de datos distribuidas.
5.-El software del servidor puede ejecutarse en
multitud de sistemas operativos.
6.-Existe incluso una versión personal para
Windows 9x, lo cual es un punto a favor para
los desarrolladores que se llevan trabajo a casa.
7.-¿Qué hay de los objetos de Oracle? Este
sistema ha comenzado a evolucionar en esta
dirección, añadiendo tipos de clases,
referencias, tablas anidadas, matrices y otras
estructuras de datos complejas.
Desafortunadamente, la implementación
actual de las mismas no ofrece una ventaja
clara en eficiencial, como sería de esperar, y sí
provocan la incompatibilidad de los diseños
que aprovechan las nuevas características con
otras bases de datos.
8.-Oracle es la base de datos con mas
orientación hacía INTERNET
9.-Un aceptable soporte
1.-Una de las versiones más recientes de
Oracle es la 8 punto algo (Aunque ya está
la 9i). Y es que desde el lanzamiento
original de la 8 se sucedieron varias
versiones con correcciones, hasta
alcanzar la estabilidad en la 8.0.3. El
motivo de tantos fallos fue, al parecer, la
remodelación del sistema de
almacenamiento por causa de la
introducción de extensiones orientadas a
objetos.
2.-El mayor inconveniente de Oracle es
quizás su precio. Incluso las licencias de
Personal Oracle son excesivamente caras,
en mi opinión. Otro problema es la
necesidad de ajustes. Un error frecuente
consiste en pensar que basta instalar el
Oracle en un servidor y enchufar
directamente las aplicaciones clientes.
Un Oracle mal configurado puede ser
desesperantemente lento.
3.-También es elevado el coste de la
formación, y sólo últimamente han
comenzado a aparecer buenos libros
sobre asuntos técnicos distintos de la
simple instalación y administración.
12. Nombre de la
base de datos
Diferencias Ventajas Desventajas
MONGO DB • Es una base de datos orientada a
documentos, esto quiere decir que en
lugar de guardar los datos en registro,
los guarda en documentos. que son
almacenados en BSCON. es un formato
ligero para intercambio de datos.)
• Forma parte de la familia S.B.P NOSQL.
• La ventaja que tiene MongoDB ante las
bases de datos relacionales
tradicionales, es la velocidad de
consulta. Esto se logra porque la
información se guarda a través de
documentos en formato JSON, es tan
solo una de las grandes diferencias ente
Mongo y MySQL, su uso dependerá el
tipo de proyecto que vayas a diseñar
para decidir qué tipo de base de datos
vas a usar.
• Mongo DB tiene la capacidad de
realizar consultas utilizando
javascript, haciendo que estas
sean enviadas directamente a la
base de datos para ser ejecutada.
• Se utiliza un sistemas de archivos,
ya que cuenta con la capacidad
para balancear la carga y
recopilación de datos utilizando
múltiples servidores para
almacenamiento de archivo.
• El des-arrollador elige una llave
shard(clave).
• La configuración automática, se
puede agregar nuevas maquinas
a mongo DB con el sistema de
base corriendo.
• Mongo DB bloquea la base de
datos cada vez que se realiza un
escritura, lo que reduce la
concurrencia dramáticamente.
• Retorna cuando no se a escrito la
información en el espacio de
almacenamiento permanente,
puede ocasionar perdida de
información.
• Cambia el valor por defecto para
escribir al menos una replica,
pero esto sigue sin satisfacer la
durabilidad ni la verificabilidad.
• Tiene problemas de rendimiento
cuando el volumen de datos
supera los 100GB.
13. Nombre de la
base de datos
Diferencias Ventajas Desventajas
ORACLE NoSQL Base de datos que puede correr en casi
cualquier sistema operativo. De Oracle
destacamos la abundancia de perfiles con
experiencia en esta tecnología y la gran
cantidad de herramientas que hay para su
administración y monitorización.
1) Oracle es el motor de base de
datos objeto-relacional más
usado a nivel mundial.
2)Puede ejecutarse en todas las
plataformas, desde una Pc hasta
un supercomputador.
3)Oracle soporta todas las
funciones que se esperan de un
servidor "serio": un lenguaje de
diseño de bases de datos muy
completo (PL/SQL) que permite
implementar diseños "activos",
con triggers y procedimientos
almacenados, con una integridad
referencial declarativa bastante
potente.
4)Permite el uso de particiones
para la mejora de la eficiencia, de
replicación e incluso ciertas
versiones admiten la
administración de bases de datos
distribuidas.
5)El software del servidor puede
ejecutarse en multitud de sistemas
operativos.
6)Existe incluso una versión
personal para Windows 9x, lo cual
es un punto a favor para los
desarrolladores que se llevan
trabajo a casa.
7)Oracle es la base de datos con
más orientación hacía INTERNET.
1)Las versiones más recientes de
Oracle son la 11g, 10g, 9g, 8g,
desde el lanzamiento original de la
8 se sucedieron varias versiones
con correcciones, hasta alcanzar la
estabilidad en la 8.0.3. El motivo
de tantos fallos fue, al parecer, la
remodelación del sistema de
almacenamiento por causa de la
introducción de extensiones
orientadas a objetos.
2)El mayor inconveniente de
Oracle es quizás su precio. Incluso
las licencias de Personal Oracle son
excesivamente caras, en mi
opinión. Otro problema es la
necesidad de ajustes. Un error
frecuente consiste en pensar que
basta instalar el Oracle en un
servidor y enchufar directamente
las aplicaciones clientes. Un Oracle
mal configurado puede ser
desesperantemente lento.
3)También es elevado el coste de
la información, y sólo últimamente
han comenzado a aparecer buenos
libros sobre asuntos técnicos
distintos de la simple instalación y
administración.
14. Nombre de la
base de datos
Diferencias Ventajas Desventajas
CASSANDRA Desarrollada inicialmente por
Facebook y luego entregado a
la fundación apache, Casandra
es un sistema de bases de
datos distribuida que permite
almacenar cantidades muy
grandes de información en un
entorno distribuido sin punto
de fallo, es decir en sistemas
de replicación en el que todo
los nodos son iguales.
Orientado a columna familias, tolerante a fallos ,
ya que replica los datos de forma automática a
múltiples nodos; cuando un nodo falla puede ser
reemplazado sin ningún periodo de inactividad.
permite replicas a múltiples data centers;
almacenamiento de los datos tipo column family.
No orientado a transacciones este es le
factor mas débil de esta tecnología.
El hecho de tener los datos guardados
columna a columna nos permite retornar
las filas mas rápidamente, pero al insertar,
actualizar o borrar un registro, se deberá
hacer en mas de una ubicación; por esta
razón este tipo de base de datos no
se recomienda para sistemas de tipo
OLTP orientados a transacciones y alta
concurrencia.