3. 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 o estructurada.
Una base de datos puede ser de diversos tipos, desde
un pequeño fichero casero para ordenar libros y revistas
por clasificación alfabética hasta una compleja base que
contenga datos de índole gubernamental en un Estado u
organismo internacional.
Bases de Datos
4. Recientemente, el término base de datos comenzó
a utilizarse casi exclusivamente en referencia a
bases construidas a partir de software informático,
que permiten una más fácil y rápida organización de
los datos.
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.
Bases de Datos
5. En otras palabras, una base de datos es un conjunto
estructurado de datos que representa entidades y sus
interrelaciones. La representación será única e integrada, a pesar
de que debe permitir utilizaciones varias y simultáneas.
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. Una
base de datos es el conjunto de datos informativos organizados
en un mismo contexto para su uso y vinculación.
Bases de Datos
7. ¿Qué es una base de datos de tipo SQL?
Este es el modelo utilizado en la actualidad para
representar problemas reales y administrar datos
dinámicamente. Su idea fundamental es el uso de
"relaciones". Estas relaciones podrían considerarse
en forma lógica como conjuntos de datos llamados
"tuplas". Esto es pensando en cada relación como
si fuese una tabla que está compuesta por registros
(las filas de una tabla), que representarían las
tuplas, y campos (las columnas de una tabla).
8. ¿Qué es una base de datos
de tipo SQL?
En este modelo, el lugar y la forma en que se almacenen los
datos no tienen relevancia (a diferencia de otros modelos como
el jerárquico y el de red). Esto tiene la considerable ventaja de
que es más fácil de entender y de utilizar para un usuario
esporádico de la base de datos. La información puede ser
recuperada o almacenada mediante "consultas" que ofrecen una
amplia flexibilidad y poder para administrar la información.
El lenguaje más habitual para construir las consultas a bases de
datos relacionales es SQL, Structured Query Language o
Lenguaje Estructurado de Consultas, un estándar implementado
por los principales motores o sistemas de gestión de bases de
datos relacionales.
10. ¿Qué es una base de datos No-SQL?
Se puede decir que la aparición del término NoSQL aparece con la llegada de la
web 2.0 ya que hasta ese momento sólo subían contenido a la red aquellas
empresas que tenían un portal, pero con la llegada de aplicaciones como
Facebook, Twitter o Youtube, cualquier usuario podía subir contenido,
provocando así un crecimiento exponencial de los datos.
Es en este momento cuando empiezan a aparecer los primeros problemas de
la gestión de toda esa información almacenada en bases de datos relacionales.
En un principio, para solucionar estos problemas de accesibilidad, las empresas
optaron por utilizar un mayor número de máquinas pero pronto se dieron
cuenta de que esto no solucionaba el problema, además de ser una solución
muy cara. La otra solución era la creación de sistemas pensados para un uso
específico que con el paso del tiempo han dado lugar a soluciones robustas,
apareciendo así el movimiento NoSQL.
11. ¿Qué es una base de datos No-
SQL?
Por lo tanto hablar de bases de datos NoSQL es hablar de estructuras que
nos permiten almacenar información en aquellas situaciones en las que
las bases de datos relacionales generan ciertos problemas debido
principalmente a problemas de escalabilidad y rendimiento de las bases
de datos relacionales donde se dan cita miles de usuarios concurrentes y
con millones de consultas diarias.
Además de lo comentado anteriormente, las bases de datos NoSQL son
sistemas de almacenamiento de información que no cumplen con el
esquema entidad–relación. Tampoco utilizan una estructura de datos en
forma de tabla donde se van almacenando los datos sino que para el
almacenamiento hacen uso de otros formatos como clave–valor, mapeo
de columnas o grafos..
12. Esta forma de almacenar la
información ofrece ciertas
ventajas sobre los modelos
relacionales. Entre las
ventajas más significativas
podemos destacar:
▧Se ejecutan en máquinas
con pocos recursos: Estos
sistemas, a diferencia de los
sistemas basados en SQL, no
requieren de apenas
computación, por lo que se
pueden montar en máquinas
de un coste más reducido.
▧Escalabilidad horizontal:
Para mejorar el rendimiento
de estos sistemas
simplemente se consigue
añadiendo más nodos, con
la única operación de indicar
al sistema cuáles son los
nodos que están disponibles.
▧Pueden manejar gran
cantidad de datos: Esto es
debido a que utiliza una
estructura distribuida, en
muchos casos mediante
tablas Hash.
Ventajas de los Sistemas NoSQL
13. Ventajas de los Sistemas NoSQL
▧No genera cuellos de
botella: El principal problema
de los sistemas SQL es que
necesitan transcribir cada
sentencia para poder ser
ejecutada, y cada sentencia
compleja requiere además
de un nivel de ejecución aún
más complejo, lo que
constituye un punto de
entrada en común, que ante
muchas peticiones puede
ralentizar el sistema.
16. Microsoft 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).
SQL Server
17. SQL Server
Dentro de los competidores más destacados de SQL
Server están:
Oracle,
MariaDB,
MySQL,
PostgreSQL.
SQL Server ha estado tradicionalmente disponible solo
para sistemas operativos Windows de Microsoft, pero
desde 2017 también está disponible para Linux y
Docker containers.
18. Ventajas
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.
Mejor utilización del CPU.
La principal desventajas de Microsoft
de SQL Server es la enorme cantidad
de memoria RAM que utiliza para la
instalación y utilización de software.
En versiones de 32 bits, SQL Server
usa Address Windowing Extension
(AWE) para hacer el direccionamiento
por encima de 4 GB. Esto le impide
usar la administración dinámica de
memoria, y sólo le permite alojar un
máximo de 64 GB de memoria
compartida. Esta limitación es
exclusiva de sistemas operativos 32
bits; en sistemas operativos 64 bits, la
memoria máxima que se puede
direccionar en Edición Estándar es 64
Gb y en Edición Enterprise 4Tb
La relación calidad – precio esta muy
por bajo comparado con Oracle.
Desventajas
19. Oracle Database 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.
Su dominio en el mercado de servidores empresariales había
sido casi total hasta que recientemente tiene la competencia
del Microsoft SQL Server y de la oferta de otros RDBMS con
licencia libre como PostgreSQL, MySQL o Firebird.
Las últimas versiones de Oracle han sido certificadas para
poder trabajar bajo GNU/Linux.
20. Los usuarios visualizan los datos en tablas con el formato
filas/columnas.
Herramienta de administración gráfica intuitiva y cómoda de
utilizar.
Control de acceso: tecnologías avanzadas para vigilar la entrada a
los datos.
Protección de datos: seguridad completa en el entorno de
producción y de pruebas y gestión de copias de seguridad.
Lenguaje de diseño de bases de datos muy completo (PL/SQL):
permite implementar diseños "activos", que se pueden adaptar a
las necesidades cambiantes de negocio.
Alta disponibilidad: escalabilidad, protección y alto rendimiento
para la actividad empresarial.
Gestión de usuarios: agilidad en los trámites, reducción de costes y
seguridad en el control de las personas que acceden a las
aplicaciones y a los sistemas.
Características
21. Motor de base de datos objeto-
relacional más usado a nivel
mundial.
Multiplataforma: puede
ejecutarse desde un PC hasta
una supercomputadora.
Permite el uso de particiones
para hacer consultas, informes,
análisis de datos, etc.
Soporta todas las funciones que
se esperan de un buen servidor.
Software del servidor que puede
ejecutarse en multitud de
sistemas operativos: Linux, Mac,
Windows, etc.
Incompatibilidad y complejidad.
inconsistencia e incompatibilidad de
datos en las áreas del tiempo y sintaxis
de datos, concatenación de cadenas y
sensibilidad de caracteres.
El lenguaje es complejo, con un enfoque
de palabras clave similar en estructura a
COBOL con menos reglas de sintaxis y
gramática.
funcionalidad limitada.
SQL es un dominio específico o lenguaje
de propósito especial, y su uso está
limitado a un dominio de programa
específico.
Las sentencias de SQL son operadas en
tablas y conjuntos de datos, como por
ejemplo bases de datos de personal y
hojas de cálculo de contabilidad.
SQL es un lenguaje declarativo
específico de dominio que está limitado a
la representación tabular de los datos.
Ventajas Desventajas
22. 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. es la base de datos
NoSQL líder y permite a las
empresas ser más ágiles y
escalables. Organizaciones de
todos los tamaños están usando
MongoDB para crear nuevos tipos
de aplicaciones, mejorar la
experiencia del cliente, acelerar el
tiempo de comercialización y
reducir costes.
Es bastante rápido a la hora de
ejecutar sus operaciones ya que
está escrito en lenguaje C++.
23. MongoDB forma parte de la nueva familia de sistemas de base de datos
NoSQL. 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.
El desarrollo de MongoDB empezó en octubre de 2007 por la compañía
de software 10gen. Ahora MongoDB es una base de datos lista para su
uso en producción y con muchas características (features). Esta base
de datos se utiliza mucho en la industria, contando con implantaciones
en empresas como MTV Network, Craiglist o Foursquare.
El código binario está disponible para los sistemas operativos Windows,
Linux, OS X y Solaris.
24. Ventajas:
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 desarrollador elige una llave
shard(clave).
La configuración automática, se
puede agregar nuevas
maquinas a mongo DB con el
sistema de base corriendo.
Es un software libre.
Desventajas:
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.
25. Oracle NoSQL Database
Es una arquitectura, que permite el acceso de
datos de forma "simple" en la naturaleza y la
aplicación las demandas exceden el volumen
o capacidad de latencia de las soluciones
tradicionales de gestión de datos.
Aprovecha el motor de almacenamiento de
alta disponibilidad de Oracle Berkeley DB
Java Edition.
26. Ventajas:
Los administradores pueden indicar cuanta capacidad está disponible en
un nodo de almacenamiento.
Oracle NoSQL suministra un servicio de administración, tanto por consola
web.
Está construida sobre Oracle Berkeley DB Java Edition sobre la que
añade una capa de servicios para usarse en entornos distribuidos.
El Driver de Oracle NoSQL particiona los datos en tiempo real y los
distribuye sobre los nodos de almacenamiento.
Su topología rutea las operaciones de escritura y lectura al nodo de
almacenamiento más adecuado para optimizar la distribución de carga y
rendimiento.
Ofrece APIs en Java y C.
27. 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. Por ejemplo,
lo usa Twitter para su
plataforma. 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. Está
desarrollada por Apache
Software Foundation.
28. Apache Cassandra Dispone de un
lenguaje propio para realizar
consultas CQL(Cassandra Query
Languaje). Cassandra es una
aplicación Java por lo que puede
correr en cualquier plataforma que
cuente con las JVM. Es
multiplataforma.
Ventajas:
Descentralizado. 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.
Escalabilidad. El rendimiento de leer y
escribir aumenta linealmente a medida
que se añaden nuevos nodos. Se
pueden agregar nuevos nodos sin
necesidad de interrumpir la ejecución
de la aplicación.
Consistencia. Se ofrece la elección de
el nivel de consistencia para las
lecturas y escrituras.
Tolerancia a fallos. Los datos se
replican automáticamente a múltiples
nodos para recuperarse frente a fallos.
Cassandra soporta replicación a través
de múltiples datacenter. Se puede
reemplazar nodos que presenten fallos
sin tiempo de inactividad o interrupción
de la aplicación.