Este documento presenta información sobre diferentes bases de datos, incluyendo SQL, NoSQL, Oracle, MongoDB y Cassandra. Explica las características y ventajas de cada una, como su capacidad de escalabilidad, disponibilidad y tolerancia a fallos. También discute brevemente las diferencias entre los modelos como clave-valor, orientado a documentos y orientado a columnas.
1. Actividad de aprendizaje 4.
Bases de datos.
Crea una presentación de PowerPoint
acerca de las principales bases de datos
existentes.
CURSO NACIONAL: INFORMATICA
FORMACIÓN DISCIPLINAR
DOCENTES DE EDUCACIÓN MEDIA SUPERIOR
INSTITUCIONES DE EDUCACIÓN PÚBLICA DE EDUCACIÓN
MEDIA SUPERIOR
Autor: Edgar Iván Salazar Olmedo
2. Una base de datos es el conjunto de datos
informativos organizados en un mismo contexto para su
uso y vinculación.
Se le llama base de datos a los bancos de información
que contienen datos relativos a diversas temáticas y
categorizados de distinta manera, pero que comparten
entre sí algún tipo de vínculo o relación que busca
ordenarlos y clasificarlos en conjunto.
3. SQL o lenguaje de Consultas
Estructuradas.
SQL (Structured Query Language) es un
lenguaje de programación estándar e
interactivo para la obtención de
información desde una base de datos.
Es un lenguaje declarativo de
acceso a bases de datos
relacionales que permite especificar
diversos tipos de operaciones en
ellas. Una de sus características es
el manejo del álgebra y el cálculo
relacional que permiten efectuar
consultas con el fin de recuperar,
de forma sencilla, información de
bases de datos, así como hacer
cambios en ellas.
Definiciones:
4. Características de SQL.
Lenguaje de definición de datos: El LDD de SQL proporciona comandos para la definición de
esquemas de relación, borrado de relaciones y modificaciones de los esquemas de relación.
Lenguaje interactivo de manipulación de datos: El LMD de SQL incluye lenguajes de
consultas basado tanto en álgebra relacional como en cálculo relacional de tuplas.
Integridad: El LDD de SQL incluye comandos para especificar las restricciones de integridad que
deben cumplir los datos almacenados en la base de datos.
Definición de vistas: El LDD incluye comandos para definir las vistas.
Control de transacciones: SQL tiene comandos para especificar el comienzo y el final de una
transacción.
SQL incorporado y dinámico: Esto quiere decir que se pueden incorporar instrucciones de SQL
en lenguajes de programación como: C++, C, Java, PHP, Cobol, Pascal y Fortran.
Autorización: El LDD incluye comandos para especificar los derechos de acceso a las relaciones y
a las vistas.
Tipo de Datos:
Varchar: Recibe cadena de palabras compuestas de
letras, números y caracteres especiales.
Date: una fecha de calendario que contiene el año (de
cuatro cifras), el mes y el día.
Time: La hora del día en horas minutos segundos (el
valor predeterminado es 0).
Datetime: la combinación de Date y Time.
5. NoSQL (No Solo SQL)
Las bases de datos NoSQL, también llamadas
No Solo SQL, son un enfoque hacia la gestión
de datos y el diseño de base de datos que es
útil para grandes conjuntos de datos
distribuidos.
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.
6. SQL SERVER
SQL Server es un sistema de manejo de bases de datos del
modelo relacional, desarrollado por la empresa Microsoft.
El lenguaje de desarrollo utilizado (por línea de comandos o
mediante la interfaz gráfica de Management Studio) es Transact-
SQL (TSQL), una implementación del estándar ANSI del lenguaje
SQL, utilizado para manipular y recuperar datos (DML), crear
tablas y definir relaciones entre ellas (DDL).
•Soporte de transacciones.
•Soporta procedimientos almacenados.
•Incluye también un entorno gráfico de
administración, que permite el uso de comandos DDL
y DML gráficamente.
•Permite trabajar en modo cliente-servidor, donde la
información y datos se alojan en el servidor y los
terminales o clientes de la red sólo acceden a la
información.
•Además permite administrar información de otros
servidores de datos.
Ventajas sobre otra bases de Datos.
Diferencias:
No esta en todos los sistemas
operativos.
No es compatible con medianas
Empresas.
Su procesamiento no puede ser por
medio de lotes de datos y operaciones
de agregación.
Su rendimiento de lectura y escritura es
menor al de las otras bases de datos.
Su despliegue de nodos es menor al de
Cassandra.
7. SQL ORACLE
ORACLE es un sistema de gestión de base de datos de tipo objeto-
relacional (ORDBMS, por el acrónimo en inglés de Object-Relational
Data Base Management System), desarrollado por Oracle
Corporation.
Se considera a Oracle Database como uno de los sistemas de bases
de datos más completos, destacando: soporte de transacciones,
estabilidad, escalabilidad, y soporte multiplataforma.
•La base de datos ORACLE es compatible con medianas
industrias. Esta incluye Real Application Clúster para
proporcionar protección en contra de fallos de hardware
•Permite que todas sus aplicaciones de negocio tomen
ventaja del rendimiento, seguridad y confiabilidad.
•Está soportada en un único servidor soportando hasta
un máximo de 4 CPUs.
•Esta disponible en todos los sistemas operativos:
Windows, Linux y Unix.
•proporciona una rápida instalación tanto en un único
servidor como en un ambiente de clúster.
•Ofrece automatización, administración de
almacenamiento y de memoria, back up y recuperación
automatizado y administrador de estadísticas
automatizado.
Ventajas sobre otra bases de Datos.
Diferencias:
•A diferencia de otras bases de datos se
puede escalar de manera horizontal.
•No puede almacenar en múltiples
servidores archivos.
•Esta en todos los sistemas operativos.
•No despliega múltiples nodos.
•No se puede Indexar en cualquier
campo.
•Incorpora nuevas capacidades para los
entornos de desarrollo de aplicaciones
más importantes, permitiendo acortar
el tiempo de llegada al mercado y
mejorar el desempeño de las
aplicaciones.
8. Mongo DB
MongoDB (de la palabra en inglés “humongous” que significa
enorme) es un sistema de base de datos NoSQL orientado a
documentos, desarrollado bajo el concepto de código abierto.
En lugar de guardar los datos en tablas como se hace en las base de
datos relacionales, MongoDB guarda estructuras de datos en
documentos similares a JSON con un esquema dinámico (MongoDB
utiliza una especificación llamada BSON, haciendo que la integración
de los datos en ciertas aplicaciones sea más fácil y rápida.
•MongoDB soporta la búsqueda por campos, consultas de
rangos y expresiones regulares.
•Cualquier campo en un documento de puede ser
indexado, al igual que es posible hacer índices
secundarios.
•MongoDB se puede escalar de forma horizontal usando
el concepto de “shard”.
•MongoDB puede ser utilizado como un sistema de
archivos, utilizando múltiples servidores para el
almacenamiento de archivos.
•Puede ser utilizada para el procesamiento por lotes de
datos y operaciones de agregación.
Ventajas sobre otra bases de Datos.
Diferencias:
No esta en todos los sistemas
operativos.
No permite administrar información en
otros servidores de Datos.
Es una base de datos de código Abierto.
Se puede obtener de forma gratuita
Base de datos que no asegura
durabilidad, integridad, consistencia y
aislamientos.
9. Oracle NoSQL
Oracle NoSQL Database proporciona un modelo de transacción
poderoso y flexible que simplifica enormemente el proceso de
desarrollo de una aplicación basada en NoSQL. Escala
horizontalmente con mayor disponibilidad y balance de carga
transparente aún cuando agrega una nueva capacidad
dinámicamente.
•Modelo de datos simple por medio de pares de valor
clave con índices secundarios.
•Modelo de programación simple con transacciones ACID,
modelos de datos tubulares y soporte JSON.
•Seguridad de aplicaciones con autenticación y cifrado
SSL de nivel de sesión.
•Integrada con Oracle Database, Oracle Wallet y Hadoop
•Datos geodistribuidos con soporte para múltiples
centros de datos.
•Disponibilidad alta con sincronización y fallas remotas y
locales.
•Rendimiento escalable y latencia segura.
Ventajas sobre otra bases de Datos.
Diferencias:
Los datos se almacenan como pares de
clave-valor.
Los nodos de almacenamiento se
replican para garantizar la alta
disponibilidad.
Las aplicaciones de cliente se escriben
mediante la API Java/C para leer y
escribir datos.
Proporciona soporte para orígenes de
datos HCatalog que tienen contenido
subyacente en Oracle NoSQL
10. CASSANDRA
Apache Cassandra es una base de datos NoSQL distribuida y basada en un
modelo de almacenamiento de «clave-valor», de código abierto que está
escrita en Java. Permite grandes volúmenes de datos en forma distribuida.
Su objetivo principal es la escalabilidad lineal y la disponibilidad. La
arquitectura distribuida de Cassandra está basada en una serie de nodos
iguales que se comunican con un protocolo P2P con lo que la redundancia es
máxima.
Ventajas sobre otra bases de Datos.
•Todos los nodos del clúster tiene el mismo rol. No hay un
único punto de fallo.
•No existe un nodo maestro por lo que cada nodo puede
dar servicio a cualquier solicitud.
•Soporta replicación y replicación de múltiples data center.
•Está diseñado como un sistema distribuido, para el
despliegue de un gran número de nodos a través de
múltiples centros de datos.
•El rendimiento de leer y escribir aumenta linealmente a
medida que se añaden nuevos nodos.
•Tolerancia a fallos Los datos se replican automáticamente
a múltiples nodos para recuperarse frente a fallos.
•Ofrece la elección de el nivel de consistencia para las
lecturas y escrituras.
Diferencias:
Es esencialmente un híbrido entre un
modelo Clave-Valor y una base de
datos Tabular (Orientado a columnas).
Tiene dos tipos de Partición:
1. Partición Randómica (RP): Esta
partición distribuye los pares Clave-
Valor de una forma randómica sobre la
red, resultando en un buen balanceo de
la carga.
2. Partición Preservar el Orden (OPP):
Este tipo de partición distribuye las
tuplas Clave-Valor en una forma
natural, donde las claves similares no
se separan demasiado.