Este documento define varias bases de datos, incluyendo SQL y NoSQL. SQL es un lenguaje estándar para consultar y actualizar bases de datos relacionales, mientras que NoSQL se utiliza para grandes conjuntos de datos no estructurados. Se describen bases de datos específicas como MongoDB, Oracle, SQL Server y Cassandra, destacando sus características de escalabilidad, rendimiento y tolerancia a fallos.
2. ¿Qué es una base de datos?
Una base de datos es un “almacén” que
nos permite guardar grandes cantidades
de información de forma organizada
para que luego podamos encontrar y
utilizar fácilmente.
3. SQL
SQL o lenguaje de consultas estructuradas. Es un lenguaje
de programación estándar e interactivo para la obtención de
información desde una base de datos y actualizarla. Las
consultas toman la forma de un lenguaje de comandos que
permite seleccionar, insertar, actualizar, averiguar la
ubicación de los datos, y más. También hay una interfaz de
programación.
4. NoSQL
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, que 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.
5. SQL Server
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).
6. Características de SQL Server
• Soporte de transacciones.
• Soporta procedimientos almacenados.
• Incluye también un entorno gráfico de administración, que permite el
uso de comando DDI y DMI gráficamente.
• Permite trabajar en modo cliente servidor, donde la información y
datos se alojan en el servidor y las terminales o clientes de la red sólo
acceden a la información.
• Además permite administrar información de otros servidores de
datos.
7. ORACLE
Oracle Database es un sistema de gestión de bases
de datos de tipo objeto-relaciona (ORDBMS,
Object-Relational Data Base Management System),
desarrollado por Oracle Corparation.
Su dominio en el mercado de servidores
empresariales había sido casi total.
8. Características de Oracle
• Es compatible con medianas industrias.
• incluye Real Application Clúster para proporcionar protección en contra de fallos de
hardware.
• Fácil de instalar y configurar, viene con software de administración de almacenamiento y
otras capacidades de auto administración.
• Administra todos sus datos y permite que todas sus aplicaciones de negocio tomen
ventaja del rendimiento, seguridad y confiabilidad.
• Brinda la flexibilidad de poder migrar a Oracle 10g Enterprise Edition, protegiendo su
inversión a medida que los requerimientos del negocio crecen.
• Soportada en un único servidor hasta un máximo de 4 CPUs, o en un ambiente de
servidores en clúster, con un máximo de 4 CPUs en el clúster.
9. MONGODB
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.
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
bases de datos relacionales, MongoDB guarda estructuras de datos en
documentos similares a JCON con un esquema dinámico haciendo que la
integración de los datos en ciertas aplicaciones sea más fácil y rápida.
10. Características de MongoDB
• MongoDB esta escrito en su totalidad en C++
• La versión de 32 bits no es aconsejable usarla en un entorno de
producción. Solo a modo de desarrollo.
• MongoDB no soporta JOINS ni transacciones. Sin embargo posee
índices secundarios, un propio lenguaje de consulta muy
expresivo, escrituras de documentos atómicas, y lecturas
consistentes.
• Para las versiones de 32 bits de Mongo, la base de datos solo
puede alcanzar 2Gb.
11. ORACLE NoSQL
Es una base de datos NoSQL tipo clave-valor (del estilo de Redis
o Voldemort). Está construida sobre Oracle Berkeley DB Java
Edition sobre la que añade una capa de servicios para usarse en
entornos distribuidos.
Oracle NoSQL Database proporciona un modelo de datos muy
sencillo para el desarrollador de aplicaciones. Cada fila es
identificada por una clave única, y también tiene un valor, de
longitud arbitraria, que es interpretada por la aplicación. La
aplicación puede manipular (insertar, eliminar, actualizar, leer)
una sola fila en una transacción. La aplicación también puede
realizar una exploración iterativa no transaccional de todas las
filas de la base de datos.
12. Características de Oracle NoSQL
• Alta Disponibilidad y No-Single Point of Failure
• Provee replicación de base de datos 1 Master-Multi-Replica
• Las datos transaccionales se replican
• Balanceo de carga transparente:
• 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
• Los administradores pueden indicar cuanta capacidad está disponible en un
nodo de almacenamiento permitiendo a los nodos con más capacidad
almacenar varios nodos de replicación
• Oracle NoSQL suministra un servicio de administración, tanto por consola
web como por línea de comandos
13. CASSANDRA
Dentro de los nuevos sistemas de
almacenamiento que están surgiendo dentro del
universo Big Data, Cassandra es uno de los más
interesantes y reseñables. Cassandra se define
como una base de datos NoSQL distribuida y
masivamente escalable, y esta es su mayor virtud
desde nuestro punto de vista, la capacidad
de escalar linealmente.
14. Características de Cassandra
• Descentralizado. Todos los nodos del clúster tiene el mismo rol. No hay un único punto de fallo. Los datos
se distribuyen a través del clúster (por lo que cada nodo contiene datos diferentes).
• Soporta replicación y replicación de múltiples data center. Las estrategias de replicación son
configurables . Cassandra 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. La arquitectura distribuida de Cassandra está
diseñado para desplegarse sobre múltiples data center, tener redundancia y recuperarse ante desastres.
• 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.
• 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.
• Consistencia. Se ofrece la elección del nivel de consistencia para las lecturas y escrituras.