2. BASES DE DATOS
¿Qué es 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.
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.
3. ¿Qué es una base de datos 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. Una de sus
características es el manejo del álgebra y el cálculo relacional que permiten efectuar consultascon el fin
de recuperar, de forma sencilla, información de bases de datos, así como hacer cambios en ellas.
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.
4. BASE DE DATOS SQL
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.
SQL pasó a ser el estándar del Instituto Nacional Estadounidense de
Estándares (ANSI) en 1986 y de la Organización Internacional de
Normalización (ISO) en 1987. Desde entonces, el estándar ha sido revisado para
incluir más características. A pesar de la existencia de ambos estándares, la
mayoría de los códigos SQL no son completamente portables entre sistemas de
bases de datos diferentes sin ajustes.
5. ¿Qué es una base de datos No-SQL?
Amplia clase de sistemas de gestión de datos (mecanismos para el
almacenamiento y recuperación de datos) que difieren, en aspectos importantes,
del modelo clásico de relaciones entre entidades (o tablas) existente en los
sistemas de gestión bases de datos relacionales, siendo el más destacado el que no
usan SQL como lenguaje principal de consulta.
Su auge actual viene determinado por el uso que, de estos sistemas han hecho
las principales compañías de internet como Amazon, Google, Twitter y Facebook.
6. Bases de datos mas populares:
• Oracle
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.
• IBM DB2
Suele ser la segunda base de datos más utilizada en entornos Unix/Linux después de
Oracle. Es claramente un indiscutible ganador en Mainframe. Hay perfiles
profesionales para DB2 pero no tanto como para Oracle.
7. • Microsoft SQL Server
Base de datos con compatibilidad únicamente para
sistemas Windows. Hay muchos perfiles expertos en SQL
Server y no es difícil su adquisición. Su integración con
Microsoft Azure ha mejorado mucho su flexibilidad y
rendimiento.
• Teradata
Destaca sobre los demás tipos de bases de datos por su
capacidad de almacenamiento y de análisis de datos.
Suele ser utilizado en grandes instalaciones de Big Data.
• SAP Sybase
Aunque ya no vive los momentos de éxito de hace una
década, sigue destacando por su escalabilidad y
rendimiento.
8. • NoSQL Orientados a Documentos
Se guardan documentos que soportan diferentes
(JSON, XML). Se pueden cambiar esquemas sin parar las
bases de datos y los desarrolladores pueden meter
documentos indexados y con acceso por el motor de
de datos fácilmente.
• Mongo DB
Tiene la posibilidad de trabajar con datos estructurados y
no estructurados. Destaca por su gran capacidad de
escalado y rendimiento. Suele ser la que más perfiles
experimentados tiene.
Permiten trabajar por pares de clave-valor y acceder a
distintas partes de los datos almacenados.
Mongo DB no soporta atomicidad en las operaciones y
garantiza integridad eventual. Los cambios se irán
replicando a lo largo de todos los nodos pero no se
garantiza que todos los nodos tengan el mismo dato a la
vez.
9. • Couchbase Server
Base de datos libre creada en el proyecto Apache.
Tampoco garantiza integridad de datos al 100%. Destaca
su gran consola de administración en la que se puede
acceder a muchos datos de forma muy fácil.
• Mark Logic Server
Esta base de datos destaca sobre las anteriores por
permitir integridad de datos y compatibilidad con XML,
JSON y RDF.
Sistemas soportados: Windows, Solaris, Red Hat, Suse,
CentOS, Amazon Linux y Mac os.
10. • No SQL Orientados a Clave-Valor
Ideales cuando se accede a datos por clave. La diferencia
de este tipo de base de datos radica en la posibilidad de
almacenar datos sin ningún esquema predefinido. Son
más sencillas de utilizar. Suelen ser muy eficientes para
lecturas y escrituras. Los datos suelen almacenarse en
estructuras complejas como BLOB.
• Riak
Destaca por su capacidad de ser una base de datos de
Clave-valor, almacenamiento de documentos y
para la realización de búsquedas.
• No SQL Orientados a Columnas
Bases de datos en las que puedes mapear claves a
y agruparlas en estructuras. Utilizadas en entornos
hay poca escritura y existe la necesidad de acceder a
varias columnas de muchas filas.
Muy útiles en procesamiento y análisis de eventos,
de contenido y en análisis de datos.
11. • Apache Cassandra
Base de datos creada por Facebook que es ahora de
distribución. Base de datos recomendada para gestionar
masivas cantidades de datos.
• Apache Hbase
Diseñado para soportar grandes cantidades de accesos
lectura y escritura en tiempo real a grandes cantidades
datos. Una de sus ventajas es que correo sobre Hadoop
sobre el sistema de ficheros Hadoop.
• Bases de datos orientadas a grafos No SQL
Utilización de la teoría de grafos para enlazar los datos
la base de datos. Todo elemento apunta a su elemento
adyacente. Estas bases de datos son recomendadas si
datos están muy relacionadas como en redes sociales,
detección de fraude, recomendaciones en tiempo real,
Aquí, la base de datos deberá estar normalizada donde
cada estructura tendrá una columna y cada relación dos.
12. • Neo4j
Soporta integridad de datos y alta disponibilidad y
escalado en cluster. Además posee un buen panel de
administración.
13. Diferencias y ventajas
Oracle
Se puede utilizar en cualquier sistema
operativo.
Posee una gran cantidad de
herramientas para su administración
y monitorización.
Microsoft SQL Server
Tiene compatibilidad con sistemas
Windows.
Tiene una mejor flexibilidad y
rendimiento.
14. Diferencias y ventajas
Teradata
Mayor capacidad de
almacenamiento.
Buen análisis de datos.
Mongo DB
Posibilidad de trabajar con datos
estructurados y no estructurados.
Gran capacidad de escalado y
rendimiento.
Permiten trabajar por pares de clave-
valor y acceder a distintas partes de
los datos almacenados.
15. Diferencias y ventajas
Couchbase Server
Puede acceder a muchos datos de
forma muy fácil.
No SQL Orientados a Clave-Valor
Son sencillas de utilizar.
Suelen ser muy eficientes para las
lecturas y escrituras.
Mark Logic Server
Permite la integridad de datos y
compatibilidad con XML, JSON y RDF.
No SQL Orientados a Columnas
Muy útiles en procesamiento y
análisis de eventos, gestión de
contenido y en análisis de datos.
16. Diferencias y ventajas
Apache Cassandra
Es de libre distribución.
Gestión masiva de datos.
Neo4j
Soporta integridad de datos y alta
disponibilidad y escalado en cluster.
Posee un buen panel de
administración.
Apache Hbase
Soporta grandes cantidades de
accesos de lectura y escritura en
tiempo real a grandes cantidades de
datos.