2. ¿Qué es una base de datos?
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 puede ser de diverso tipo, 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. 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.
Las bases de datos informáticas pueden crearse a partir de
software o incluso de forma online usando Internet. En
cualquier caso, las funcionalidades disponibles son
prácticamente ilimitadas.
3. Base de datos tipo SQL
O La sigla que se conoce como SQL corresponde a la expresión inglesa
Structured Query Language (entendida en español como Lenguaje de
Consulta Estructurado), la cual identifica a un tipo de lenguaje
vinculado con la gestión de bases de datos de carácter relacional que
permite la especificación de distintas clases de operaciones entre
éstas. 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.
O 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.
4. BASE DE DATOS NO-SQL
Originalmente el término NoSQL, que fue acuñado en 1998, se refería
a una base de datos relacional de código abierto que no usaba un
lenguaje de consultas SQL (Structured Query Language).
Las características comunes entre todas las implementaciones de
bases de datos distribuidas no relacionales, propietarias o no, suelen
ser las siguientes:
O Consistencia Eventual: No se implementan mecanismos rígidos de
consistencia como los presentes en las bases de datos relacionales,
donde la confirmación de un cambio implica una comunicación del
mismo a todos los nodos que lo repliquen. Esta flexibilidad hace que
la consistencia se dé, eventualmente, cuando no se hayan
modificado los datos durante un periodo de tiempo. Esto se conoce
también como BASE (Basically Available Soft-state Eventual
Consistency, o coherencia eventual flexible básicamente disponible),
en contraposición a ACID, su analogía en las bases de datos
relacionales.
5. O Estructura distribuida: Generalmente se distribuyen los
datos mediante mecanismos de tablas de hash
distribuidas (DHT) ya que realmente se trata, según las
distintas implementaciones, de redes p2p.
O Escalabilidad horizontal: La implementación típica se
realiza en muchos nodos de capacidad de procesado
limitado, en vez de utilizar grandes Mainframes.
O Tolerancia a fallos y Redundancia.
6.
7. I. SQL SERVER
Es un sistema de gestión de bases de datos relacionales (SGBD)
basado en el lenguaje Transact-SQL, y específicamente en Sybase
IQ, capaz de poner a disposición de muchos usuarios grandes
cantidades de datos de manera simultánea. Así de tener unas
ventajas que a continuación se pueden describir.
Ventajas:
• Soporte de transacciones.
• Escalabilidad, estabilidad y seguridad.
• Soporta procedimientos almacenados.
• Incluye también un potente 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 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.
8. ORACLE
O El SGBD Oracle, fabricado por Oracle Corporation, utiliza la arquitectura
cliente/servidor. Ha incorporado en su sistema el modelo objeto-relacional,
pero al mismo tiempo garantiza la compatibilidad con el tradicional modelo
relacional de datos. Así ofrece un servidor de bases de datos híbrido. Es uno
de los más conocidos y ha alcanzado un buen nivel de madurez y de
profesionalidad. Se destaca por su soporte de transacciones, estabilidad y
escalabilidad.
Ventajas
O Las entidades complejas del mundo real y la lógica se pueden modelar
fácilmente, lo que permite reutilizar objetos para el desarrollo de base de
datos de una forma más rápida y con mayor eficiencia.
O Los programadores de aplicaciones pueden acceder directamente a tipos de
objetos Oracle, sin necesidad de ninguna capa adicional entre la base de
datos y la capa cliente. Las aplicaciones que utilizan objetos de Oracle son
fáciles de entender y mantener porque soportan las características del
paradigma orientado a objetos. Tiene buen rendimiento y hace buen uso de
los recursos. Posee un rico diccionario de datos. Brinda soporte a la mayoría
de los lenguajes de programación. Es un sistema multiplataforma, disponible
en Windows, Linux y Unix. Permite tener copias de la base de datos
productiva en lugares lejanos a la ubicación principal. Las copias de la Base
de Datos productiva pueden estar en modo de lectura solamente.
9. MONGO DB
O MongoDB es un sistema de bases de datos NoSQL orientada a
documentos, desarrollada bajo el concepto de código abierto.
O Las bases de datos NoSQL guardan los datos en formato
JSON con un esquema dinámico , haciendo que la integración
de los datos en ciertas aplicaciones sea más fácil y rápida.
O Está disponible para PC, OS X, Windows y Solaris.
VENTAJAS
O Simplemente guardas todos los datos, ya que NoSQL es libre
de Schemas, luego no se diseñan las tablas por adelantado.
O No requiere operaciones Join. Escala horizontalmente.
O En NoSQL, sin embargo se presentan:
· Datos a escala web.
· Alta frecuencia de lecturas y escrituras.
· Cambios en el esquema de datos frecuentes.
· Algunas aplicaciones funcionan con muy poco rendimiento
siguiendo la arquitectura ACID. Además, utilizan estructuras de
datos sencillas, tipo clave-valor.
10. Oracle NoSQL
Ventajas:
O Es de código abierto - Sobre todas las cosas buenas
Los productos de código abierto proporcionan a los
desarrolladores grandes beneficios, sobre todo por su estado
sin costo alguno. Otros beneficios: el software de código
abierto tiende a ser más confiable, seguro y rápido de
implementar que las alternativas propietarias.
Gestores NoSQL populares son Cassandra, CouchDB, Hbase,
MongoDB y Redis.
11. 2.- Escalamiento sencillo.
NoSQL sustituye a la antiguo "escalar" el mantra de los gestores de las
bases de datos con una nueva: "manera" en lugar de añadir más
servidores para manejar más carga de datos, una base de datos NoSQL
permite a una empresa distribuir la carga entre varios hosts a medida
que aumenta la carga.
3.- Diferentes DBs NoSQL para diferentes proyectos
MongoDB y Redis son buenas opciones para el almacenamiento de
escritura con alta frecuencia, rara vez leen los datos estadísticos, tales
como web, contador de visitas.
Hadoop, una libre, DB distribuida que hace un buen trabajo
almacenando grandes de datos tales como estadísticas del tiempo o el
trabajo de análisis de negocio.
Memcache, una db transeúnte, destaca en la web, el almacenamiento
de sesiones, y las estadísticas a corto plazo.
12. O Cassandra y Riak (clusters automáticos, tiendas redundantes) un
buen rendimiento en entornos con aplicaciones de alta disponibilidad,
donde el tiempo de funcionamiento máximo es de vital importancia.
O Impresionante implementaciones NoSQL de
Empresas como Amazon, Facebook, la BBC, y Google se basan en
DB NoSQL. NoSQL vuela alto en la Nube
4.- NoSQL y la nube es un ajuste natural. Los servidores de hoy en
día son de bajo costo y fácilmente pueden ser ampliados a petición
mediante un servicio como Amazon EC2. Al igual que toda la
tecnología de la nube, EC2 se basa en la virtualización. El eslabón
débil de la virtualización es la E/S, la memoria y CPU que deben ser
ágiles
5.- Las bases de datos NoSQL utilizan sobre todo el uso de
memoria en vez del disco como la principal ubicación de
escritura - lo que impide inconsistente rendimiento I/O. Y como los
almacenes de datos NoSQL aprovechan típicamente particiones
horizontales, son capaces de tomar ventaja en la nube de la elástica
del aprovisionamiento.
13. O Desventajas
1. El código abierto puede significar una "mancha" en el soporte para
las empresas
Mientras que los principales proveedores de RMBMS tales como Oracle,
IBM y Sybase ofrecen buenos soportes a pequeñas, medianas y grandes
empresas y típicamente start-ups, los vendedores de código abierto
esperan ofrecer un soporte comparable -con excepción de un puñado de
clientes blue-chip.
Generalmente un vendedor de código abierto no tiene el alcance global,
servicios de soporte, y la credibilidad de Oracle o IBM.
2.- 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
importante con muchas empresas. Los críticos señalan la falta de madurez
de NoSQL y los posibles problemas de inestabilidad, mientras que citan la
madurez, y una gran funcionalidad y estabilidad de los RDBMSes.
14. 3.- Limitaciones de Inteligencia de Negocios
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 RDBMSes?
¿Cuántos conocimientos de programación se necesitan para hacer la
consulta ad hoc y análisis?
Las respuestas no son precisamente 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. Sin embargo, las
soluciones están disponibles. Quest Software, por ejemplo, ha creado Toad
para bases de datos en la nube, que proporciona capacidades de consulta
ad-hoc para algunas bases de datos NoSQL.
4.- La falta de experiencia
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. Por el contrario, el mundo RDBMS tiene miles de personas muy
cualificadas.
15. 5.- 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.
16. Cassandra
O Ventajas
Orientado a columna familias, tolerante a fallos , ya que replica los
datos de forma automática a múltiples nodos; cuando un nodo
falla puede ser reemplazado sin ningún periodo de inactividad.
permite replicas a múltiples data centers; almacenamiento de los
datos tipo column family.
O Desventajas
No orientado a transacciones este es le factor mas débil de esta
tecnología.
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.