2. BASE DE DATOS
Una base de datos es un sistema informático a
modo de almacén. En este almacén se guardan
grandes volúmenes de información. Por
ejemplo, imaginemos que somos una
compañía telefónica y deseamos tener
almacenados los datos personales y los
números de teléfono de todos nuestros
clientes, que posiblemente sean millones de
3. Los inicios de las base de datos modernas se deben sobre
todo al desarrollo realizado por el inglés Edgar Frank
Codd, que propuso el primer modelo teórico relacional,
es decir, definió cómo se debían relacionar los datos
pertenecientes a una base de datos. Por otro lado IBM
desarrolló la primera definición de lenguaje para base de
datos (que definía cómo añadir y extraer información de
una base de datos) llamado SEQUEL. Más tarde SEQUEL
acabaría convirtiéndose en el lenguaje más utilizado hoy
en día con bases de datos, el SQL.
4. SISTEMAS GESTORES DE BASES DE DATOS
Con el uso y el incremento del tipo de base de datos se
desarrollaron sistemas informáticos que gestionan toda la
funcionalidad de la base de datos propiamente dicha intentando que
sea de la manera mas clara, directa y sencilla.
Normalmente cada compañía de base de datos trae su propio SGBD
(Sistema Gestor de Base de Datos). Aunque también los hay
genéricos y muy buenos.
En la categoría de sistemas de bases de datos libres o gratuitos
podemos citar como más importantes:
PostgreSQL DB2Express-C MySQL
5. • En la categoría de sistemas de bases de datos con licencia (no
gratuitos) podemos citar como más importantes:
MySQL dBase IBM Informix
Microsoft SQL SERVER
Oracle
Sybase
6. BASES DE DATOS SQL
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 y para actualizarla. Aunque SQL es a la vez un
ANSI y una norma ISO, muchos productos de bases de datos
soportan SQL con extensiones propietarias al lenguaje estándar. 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.
7. • Gracias a la utilización del álgebra y de cálculos relacionales, el
SQL brinda la posibilidad de realizar consultas con el objetivo
de recuperar información de las bases de datos de manera
sencilla.
El científico Edgar Frank Codd (1923–2003) fue quien propuso
un modelo relacional para las bases de datos y creó un
sublenguaje para acceder a los datos a partir del cálculo de
predicados. En base al trabajo de Codd, IBM (International
Business Machines) definió el lenguaje conocido como Structured
English Query Language (SEQUEL).
El SEQUEL se considera el antecesor de SQL, un lenguaje de
cuarta generación que se estandarizó en 1986. La versión más
primitiva de SQL, por lo tanto, fue la que se bautizó como SQL-
86 (también conocida como SQL1).
8. En esencia, el SQL es un lenguaje declarativo de alto nivel ya que,
al manejar conjuntos de registros y no registros individuales,
ofrece una elevada productividad en la codificación y en la
orientación a objetos. Una sentencia de SQL puede resultar
equivalente a más de un programa que emplee un lenguaje de
bajo nivel.
Una base de datos, dicen los expertos, implica la coexistencia de
múltiples tipos de lenguajes. El denominado Data Definition
Language (también conocido como DDL) es aquél que permite
modificar la estructura de los objetos contemplados por la base
de datos por medio de cuatro operaciones básicas. SQL, por su
parte, es un lenguaje que permite manipular datos (Data
Manipulation Language o DML) que contribuye a la gestión de las
9. BASE DE DATOS NO- 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, 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.
10. Contrariamente a las ideas falsas causadas por su nombre, NoSQL
no prohíbe el lenguaje estructurado de consultas (SQL). Si bien es
cierto que algunos sistemas NoSQL son totalmente no-
relacionales, otros simplemente evitan funcionalidades relacionales
seleccionadas como esquemas de tablas fijas y operaciones
conjuntas. Por ejemplo, en lugar de utilizar tablas, una base de
datos NoSQL podría organizar los datos en objetos, pares
clave/valor o tuplas.
Podría decirse que la base de datos más popular NoSQL es Apache
Cassandra. Cassandra, que una vez fue la base de datos
propietaria de Facebook, fue liberada como código abierto en
2008. Otras implementaciones NoSQL incluyen SimpleDB, Google
BigTable, Apache Hadoop, MapReduce, MemcacheDB y Voldemort.
11. SQL SERVER
• SQL Server es un sistema de gestión de bases de datos
relacionales (RDBMS) de Microsoft que está diseñado para el
entorno empresarial. SQL Server se ejecuta en T-SQL (Transact
-SQL), un conjunto de extensiones de programación de Sybase
y Microsoft que añaden varias características a SQL estándar,
incluyendo control de transacciones, excepción y manejo de
errores, procesamiento fila, así como variables declaradas.
12. 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.[cita
requerida]
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.
13. MONGO DB.
MongoDB es una base de datos NoSQL orientada a documentos, desarrollada
con código abierto.
¿Qué significa que es “NoSQL”?
Significa que en lugar de guardar los datos en tablas como se hace en las
bases de datos relacionales, MongoDB guarda estructuras de datos en
documentos tipo JSON con un esquema dinámico (BSON), haciendo que la
integración de los datos en ciertas aplicaciones sea más fácil y rápida.
Una de las características principales que es una base datos con un modelo
de datos diferente, ya que está “orientada a documentos” con el esquema de
un JSON como almacenamiento.
14. 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
15. CASSANDRA
Cassandra es una base de datos de código abierto cuya principal
característica es que fusiona Dynamo, de Amazon con BigTable, de Google,
siendo ambas implementaciones de código cerrado.
El desarrollo de Cassandra fue iniciado por, aunque parezca
curioso, Facebook, para intentar solventar la problemática relacionada con el
rendimiento del motor de búsquedas, concretamente con las relacionadas en
la comunicación entre usuarios (“Inbox Search“). Esta funcionalidad implica
un gran volumen de datos a almacenar, con una perpectiva de crecimiento
muy alta (el boom de las redes sociales se produjo después de la
implementación de Cassandra) y la necesidad de ofrecer un nivel de calidad
de servicio fijado (SLA, Acuerdo de Nivel de Servicio).