martes, 20 de mayo de 2014

Como crear un Blog



Lenguaje SQL

 

Lenguaje SQL

 
 
 
 

Big Data


Big Data interpretado como la nueva tendencia tecnológica para referirse a grandes volúmenes de datos, más allá de lo soportado por métodos tradicionales, se ha convertido en el centro de atención de muchas organizaciones que buscan ofrecer toda una nueva gama de servicios para descubrir tendencias en la información acumulada por años o producida en tiempo real sin importar su naturaleza o procedencia. Aquí encontramos todo tipo de datos como texto, audio, imágenes, compras, ventas, mediciones, etc., que puede ser generada por fuentes como centrales telefónicas, redes sociales, Call center, cámaras de seguridad, sensores, empresas meteorológicas, otros sistemas, etc.

La documentación disponible a la fecha, finales del 2013, muestra un excelente panorama para quienes decidan incursionar en un mejor entendimiento de los conceptos que se están desarrollando alrededor de Big Data y de los avances tecnológicos que se están realizando en líneas de investigación diferentes a bases de datos relacionales, que por la cantidad de datos a procesar se quedan cortas en temas de crecimiento horizontal, tipos de datos soportados y velocidad de procesamiento. Con esto no quiero decir que las bases de datos relacionales vayan a desaparecer, simplemente ha surgido un paradigma que soporta el nuevo alcance en la variedad (imágenes, audio, texto, emails, etc) y volumen de datos a procesar.

El año 2013 ha sido de descubrimiento de esta nueva tendencia por parte de muchas empresas tecnológicas que han visto insuficientes sus métodos para almacenar, procesar, interpretar, visualizar y analizar los datos producidos por su operación diaria. Además porque empresas como Google, Facebook, Amazon o Twitter siguen operando sin problemas aun con los índices de crecimiento desmesurados que estadísticamente presentan cada año. Estos casos de éxito han sido la mejor carta de presentación de Big Data, que ha hecho replantear el funcionamiento de las herramientas o infraestructuras tradicionalmente utilizadas para temas como almacenamiento, proceso y análisis de información.

Los avances tecnológicos alrededor de Big Data están orientados a optimizar los recursos hardware donde es posible tener infraestructuras de computadores con bajas prestaciones que pueden trabajar como un único equipo, aprovechando los beneficios del trabajo colaborativo entre máquinas, siendo Google la empresa que innovó en este concepto con su sistema de base de datos llamado BigTable que además se apoya en otras dos tecnologías, también de su propiedad, llamadas MapReduce y Google File System.

Los documentos publicados por Google sobre MapReduce y Google File System fueron la base para el desarrollo del Framework Hadoop, que viene siendo la versión libre de un sistema gestor de base de datos de propósito general para soportar Big Data.

MongoDB - Sistema de base de datos NoSQL


NoSQL: 

Sistema de gestión de bases de datos que difieren del modelo clásico del sistema de gestión de bases de datos relacionales (RDBMS), aspectos importantes:
  • No usan SQL como el principal lenguaje de consultas.
  • Los datos almacenados no requieren estructuras fijas como tablas.
  • No soportan operaciones JOIN.
  • No garantizan completamente ACID (atomicidad, coherencia, aislamiento y durabilidad).
  • Escalan bien horizontalmente. 
 MongoDB es un sistema de base de datos NoSQL.  
  • Licenciado como GNU AGPL 3.0, de modo que se trata de un software de licencia libre.
  • Multiplataforma, funciona en sistemas operativos Windows, Linux, OS X y Solaris.
  • Está escrito en C++, de modo que es bastante rápido a la hora de ejecutar sus tareas.
  • Orientado a documentos, de esquema libre; cada entrada o registro (denominado documento) puede tener un esquema de datos diferente. Los distintos documentos se almacenan en formato abierto BSON, o Binary JSON (permite trabajar con binarios), es una versión modificada de JSON que permite búsquedas rápidas de datos. Aunque en la práctica trabajaremos siempre sobre un documento en JSON. Los documentos se pueden agrupar en colecciones, las cuales se podría decir que son el equivalente a las tablas en una base de datos relacional.

Principales caracteristicas:
    • Rápida escalable a nivel horizontal (incrementar el número de máquinas), debido en parte a la ausencia de transacciones (mejora la escalabilidad en comparación con sistemas basados en SQL)
    • Equilibrio entre rendimiento y funcionalidad.
    • Almacena todo un registro en un mismo documento.
    • BSON es fácil y rápidamente transformable en cualquier tipo de dato nativo de cualquier lenguaje de programación.
    • Rico pero sencillo sistema de consulta de los contenidos de la base de datos.

Bibliografía:

http://unpocodejava.wordpress.com/2013/01/30/un-poco-de-mongodb-que-es-que-ofrece
http://es.wikipedia.org/wiki/MongoDB
http://www.genbetadev.com/bases-de-datos/una-introduccion-a-mongodb

Bases de Datos en Memoria


Una base de datos en memoria (IMBD, según sus siglas en inglés, y también conocida como base de datos en memoria principal o MMDB) es una base de datos cuyos datos están almacenados en la memoria principal del computador, para facilitar tiempos más rápidos de respuesta. El objetivo de una IMDB es maximizar el rendimiento y minimizar la latencia, apoyándose en la memoria del ordenador para almacenar los datos.

Una IMDB es un tipo de base de datos analítica, que es un sistema de solo lectura que almacena datos históricos sobre indicadores para aplicaciones de inteligencia de negocios.

Ventajas

Existen dos grandes ventajas principales en este tipo de bases de datos, estas son:
  • Velocidad
La ventaja principal de almacenar todo en memoria RAM es la velocidad. La velocidad de acceso a un disco duro ronda los 5 milisegundos mientras que en el RAM es de 80 nanosegundos, es decir una diferencia de cerca de 100,000 veces. Aun utilizando discos de estado sólido y memoria FLASH no-volátil, que es 100 veces más rápida que los discos duros tradicionales, estaríamos 1,000 veces más lentos que usando RAM.
  • Durabilidad
Pensar en la memoria como único almacenamiento genera la gran pregunta de qué es lo que sucede en caso de pérdida de poder. Para resolver esto, cada determinado tiempo (pocos minutos), las páginas de memoria RAM se escriben en almacenamiento no-volátil. Adicionalmente, las “transacciones” no se consideran completas sin que se haga permanente una bitácora (log) de la operación realizada. Es así que en caso de falla, se recupera la página más recientemente almacenada y se vuelven a aplicar las transacciones desde la bitácora.
 
Utilizar bases de datos “en memoria” permite reducir dramáticamente la cantidad de cubos pre-calculados a construir, porque es virtualmente instantáneo calcular cualquier consulta. Gracias a esto, podemos vislumbrar la eliminación completa de los cubos de información.
Empresas como Oracle, SAP, Microsoft, entre otros, apuestan a que el futuro de las bases de datos esta en este tipo de tecnologías, ya incluso Microsoft SQL Server 2012 utiliza la tecnología xVelocity que provee el procesamiento en memoria para bases de datos OLAP, la empresa SAP tiene una nueva herramienta de procesamiento en memoria llamada SAP HANA, además de Oracle que está realizando grandes inversiones en su herramienta Oracle TimesTen.

FUENTES: