a. ¿Qué es una base de datos?
b. ¿Qué es una base de datos de tipo SQL?
c. ¿Qué es una base de datos No- SQL?
d. Bases de datos más populares (incluir diferenciales de cada una y sus ventajas sobre otras bases de datos):
i. SQL Server.
ii. Oracle.
iii. Mongo DB.
iv. Oracle NoSQL.
v. Cassandra.
2. Indice
■ a. ¿Qué es una base de datos?
■ b. ¿Qué es una base de datos de tipo SQL?
■ c. ¿Qué es una base de datos No- SQL?
■ d. Bases de datos más populares
■ i. SQL Server.
■ ii. Oracle.
■ iii. Mongo DB.
■ iv. Oracle NoSQL.
■ v. Cassandra.
■ Bibliografías
23/09/2017 Ing. Ramón Eli Montiel Ariguznaga 2
3. a. ¿Qué es una base de datos?
Una base de datos es una colección de información organizada de forma que un
programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que necesite.
Una base de datos es un sistema de archivos electrónico.
El término de bases de datos fue escuchado por primera vez en 1963, en un simposio
celebrado en California, USA. Una base de datos se puede definir como un conjunto de
información relacionada que se encuentra agrupada ó estructurada. Desde el punto de vista
informático, la base de datos es un sistema formado por un conjunto de datos almacenados en
discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese
conjunto de datos.
Cada base de datos se compone de una o más tablas que guarda un conjunto de datos.
Cada tabla tiene una o más columnas y filas. Las columnas guardan una parte de la
información sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla
conforma un registro.
Las bases de datos tradicionales se organizan por campos, registros y archivos. Un
campo es una pieza única de información; un registro es un sistema completo de campos; y un
archivo es una colección de registros. Por ejemplo, una guía de teléfono es análoga a un
archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos:
nombre, dirección, y número de teléfono. A veces se utiliza DB, de database en inglés,
para referirse a las bases de datos.
23/09/2017 Ing. Ramón Eli Montiel Ariguznaga 3
4. b. ¿Qué es una base de datos de tipo SQL?
SQL (por sus siglas en inglés Structured Query Language; en español lenguaje
de consulta estructurada) es un lenguaje específico del dominio que da acceso a un
sistema de gestión de bases de datos relacionales que permite especificar diversos
tipos de operaciones en ellos.
Originalmente basado en el álgebra relacional y en el cálculo relacional, SQL
consiste en un lenguaje de definición de datos, un lenguaje de manipulación de
datos y un lenguaje de control de datos. El alcance de SQL incluye la inserción de
datos, consultas, actualizaciones y borrado, la creación y modificación de esquemas
y el control de acceso a los datos. También el SQL a veces se describe como un
lenguaje declarativo, también incluye elementos procesales.
SQL fue uno de los primeros lenguajes comerciales para el modelo relacional
de Edgar Frank Codd como se describió en su papel de 1970 El modelo relacional de
datos para grandes bancos de datos compartidos. A pesar de no adherirse
totalmente al modelo relacional descrito por Codd, pasó a ser el lenguaje de base de
datos más usado.
23/09/2017 Ing. Ramón Eli Montiel Ariguznaga 4
5. Características generales de SQL
SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales y
permite así gran variedad de operaciones. Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su
fuerte base teórica y su orientación al manejo de conjuntos de registros —y no a registros individuales— permite una alta
productividad en codificación y la orientación a objetos. SQL también tiene las siguientes características:
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.
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.
Tipos 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.
23/09/2017 Ing. Ramón Eli Montiel Ariguznaga 5
6. c. ¿Qué es una base de datos No- SQL?
En informática, NoSQL (a veces llamado "no sólo SQL") es una amplia clase de sistemas de
gestión de bases de datos que difieren del modelo clásico de SGBDR (Sistema de Gestión de Bases
de Datos Relacionales) en aspectos importantes, siendo el más destacado que no usan SQL como
lenguaje principal de consultas. Los datos almacenados no requieren estructuras fijas como tablas,
normalmente no soportan operaciones JOIN, ni garantizan completamente ACID (atomicidad,
consistencia, aislamiento y durabilidad), y habitualmente escalan bien horizontalmente. Los
sistemas NoSQL se denominan a veces "no sólo SQL" para subrayar el hecho de que también
pueden soportar lenguajes de consulta de tipo SQL.
Por lo general, los investigadores académicos se refieren a este tipo de bases de datos
como almacenamiento estructurado, término que abarca también las bases de datos relacionales
clásicas. A menudo, las bases de datos NoSQL se clasifican según su forma de almacenar los datos,
y comprenden categorías como clave-valor, las implementaciones de BigTable, bases de datos
documentales, y bases de datos orientadas a grafos.
Los sistemas de bases de datos NoSQL crecieron con las principales redes sociales, como
Google, Amazon, Twitter y Facebook. Estas tenían que enfrentarse a desafíos con el tratamiento de
datos que las tradicionales SGBDR no solucionaban. Con el crecimiento de la web en tiempo real
existía una necesidad de proporcionar información procesada a partir de grandes volúmenes de
datos que tenían unas estructuras horizontales más o menos similares.
23/09/2017 Ing. Ramón Eli Montiel Ariguznaga 6
7. Ventajas y Desventajas
Ventajas
Estos sistemas responden a las necesidades de escalabilidad horizontal que tienen cada vez más empresas.
Pueden manejar enormes cantidades de datos.
No generan cuellos de botella.
Escalamiento sencillo.
Diferentes DBs NoSQL para diferentes proyectos.
Se ejecutan en clusters de máquinas baratas.
Desventajas
La bases de datos NoSQL al ser de código abierto poseen un soporte diferente al soporte que ofrecen las
compañías comerciales a sus productos.
No están lo suficientemente maduros para algunas empresas.- A pesar de sus puestas en práctica en algunas
grandes empresas, las bases de datos NoSQL aún se enfrentan a un problema de credibilidad.
Hay una o dos cuestiones acerca de las capacidades de BI de las bases de datos NoSQL. ¿Pueden estas bases de
datos proporcionar la clase de minería de datos rigurosos que las empresas se utilizan con las SGBDRes? ¿Cuántos
conocimientos de programación se necesitan para hacer la consulta ad hoc y análisis?. Las respuestas no son
positivas. Las bases de datos NoSQL no tienen muchos ganchos para el uso general de herramientas de BI,
mientras que la más simple consulta ad-hoc y análisis implica conocimientos de programación bastante buenos.
La novedad de NoSQL significa que no hay una gran cantidad de desarrolladores y administradores que conocen la
tecnología -lo que hace difícil a las empresas encontrar personas con los conocimientos técnicos apropiados.
Problemas de compatibilidad, las bases de datos NoSQL tienen pocas normas en común.
23/09/2017 Ing. Ramón Eli Montiel Ariguznaga 7
8. i. SQL Server.
Base de datos Ventajas Desventajas
Es un sistema de gestión de base de
datos.
Es útil para manejar y obtener datos de la
red de redes.
Nos permite olvidarnos de los ficheros
que forman la base de datos.
Si trabajamos en una red social nos
permite agregar otros servidores de SQL
Server. Por ejemplo dos personas que
trabajan con SQL Server, uno de ellos se
puede conectar al servidor de su otro
compañero y así se puede ver las bases
de datos del otro compañero con SQL
Server.
SQL permite administrar permisos a todo.
También permite que alguien conecte su
SQLO al nuestro pero sin embargo
podemos decirle que no puede ver esta
base de datos pero otro si.
× Utiliza mucho la memoria RAM para
las instalaciones y utilización de
software.
× No se puede utilizar como practicas
porque se prohíben muchas cosas,
tiene restricciones en lo particular.
× La relación, calidad y el precio esta
muy debajo comparado con oracle.
× Tiene muchos bloqueos a nivel de
página, un tamaño de página fijo y
demasiado pequeño, una pésima
implementación de los tipos de datos
variables.
23/09/2017 Ing. Ramón Eli Montiel Ariguznaga 8
9. ii. Oracle.
Base de Datos Ventajas Desventajas
Oracle es el motor de base de datos
relacional más usado a nivel mundial.
Puede ejecutarse en todas las
plataformas, desde un PC hasta una
supercomputadora.
Oracle es la base de datos con más
orientación hacia Internet.
Soporte de transacciones.
Estabilidad.
Soporte multiplataforma.
Las sentencias de Oracle SQL permiten
que los datos se controlen desde un
repositorio central tabular.
× El mayor inconveniente es el precio del
producto y de su licencia.
× Un Oracle mal configurado es
potencialmente lento.
× Inconsistencia e incompatibilidad de
datos en las áreas del tiempo y
sintaxis de datos, concatenación de
cadenas y sensibilidad de caracteres.
× SQL es un dominio específico o
lenguaje de propósito especial, y su
uso está limitado a un dominio de
programa específico.
23/09/2017 Ing. Ramón Eli Montiel Ariguznaga 9
10. iii. Mongo DB
Base de Datos Ventajas Desventajas
Base de datos orientada a documentos,
de esquema libre.
Es bastante rápido a la hora de ejecutar
sus operaciones ya que está en datos
binarios.
El código binario está disponible para
los sistemas operativos Windows, Linux,
OS y Solaris.
Una base de datos NoSQL permite a una
empresa distribuir la carga entre varios
hosts a medida que aumenta la carga.
× El código abierto puede significar una
"mancha" en el soporte para las
empresas
× No están lo suficientemente maduros
para algunas empresas
× Limitaciones de Inteligencia de
Negocios
× La novedad de NoSQL significa que no
hay una gran cantidad de
desarrolladores y administradores que
conocen la tecnología
× A diferencia de las bases de datos
relacionales, que comparten ciertos
estándares, las bases de datos NoSQL
tienen pocas normas en común.
23/09/2017 Ing. Ramón Eli Montiel Ariguznaga 10
11. iv. Oracle NoSQL.
Base de Datos Ventajas Desventajas
Alta disponibilidad
Fiabilidad
Escala horizontalmente con mayor
disponibilidad y balance de carga
transparente aún cuando agrega una
nueva capacidad dinámicamente.
No es necesario que las tablas sean
revisadas y actualizadas cada vez que se
necesite añadir un nuevo tipo de datos,
ya que su arquitectura así lo permite.
× Problemas de compatibilidad
A diferencia de las bases de datos
relacionales, que comparten ciertos
estándares, las bases de datos NoSQL
tienen pocas normas en común. Cada
base de datos NoSQL tiene su propia
API, las interfaces de consultas son
únicas y tienen peculiaridades. Esta
falta de normas significa que es
imposible cambiar simplemente de un
proveedor a otro, por si no quedara
satisfecho con el servicio.
23/09/2017 Ing. Ramón Eli Montiel Ariguznaga 11
12. v. Cassandra.
Base de Datos Ventajas Desventajas
La información en las bases de datos
relacionales, se almacenan en forma de
filas, pero en Cassandra la información
se almacena en columnas con pares
key-value
Alta disponibilidad. Los datos estás
disponibles la mayor parte del tiempo
gracias a la redundancia que introduce
la replicación de datos.
Particionamiento de los datos. La
topología de Cassandra es la de un
anillo a través del cual se distribuyen los
datos para minimizar cuellos de botella
en el acceso a los mismos.
La capacidad de cómputo aumenta
linealmente con el número de
máquinas.
× 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.
23/09/2017 Ing. Ramón Eli Montiel Ariguznaga 12
13. Base de Datos Diferencias con otras bases de datos
SQL se ha convertido en un lenguaje estándar para todas las bases de datos. Hoy día es
empleado por prácticamente todas las bases de datos existentes.
Oracle facilita versiones de prueba (académicas o de estudio) gratuitas que pueden
servir para aprender. Aunque tengamos que instalarlo en nuestro ordenador y nos
consuma recursos, podemos trabajar a pequeña escala y aprender todas las
funcionalidades sin grandes desventajas.
MongoDB ha sido diseñada para que sea rápida (por ejemplo, sustituye los joins por
documentos embebidos), flexible (sin rígidos esquemas de datos), escalable (utiliza
escalabilidad horizontal dejando atrás la vertical), para reducir al mínimo las labores de
administración para que a los programadores les resulte fácil de aprender.
1.- Modelo de datos simple por medio de pares de valor clave con índices secundarios y
con transacciones ACID, 2.- Modelos de datos tubulares y soporte JSON. 3.- Seguridad de
aplicaciones con autenticación y cifrado SSL de nivel de sesión. 4.- Integrada con Oracle
Database, Oracle Wallet y Hadoop. 5.- Datos geodistribuidos con soporte para múltiples
centros de datos. 6.- Rendimiento escalable y latencia segura.
Creada por Facebook y donada a Apache como software libre en 2009. Es una de las BD
NoSQL más relevantes a nivel mundial: Netflix, eBay, Twitter, Urban Airship, Constant
Contact, Reddit, Cisco, OpenX, Digg, CloudKick, Ooyala. puede manejar varios terabytes
de datos si lo necesita y puede, fácilmente, manejar millones de ficheros,
23/09/2017 Ing. Ramón Eli Montiel Ariguznaga 13