viernes, 14 de noviembre de 2014
Infografía del Big Data para el 2015
En la siguiente entrada os presento la siguiente infografía sobre el Big Data en el 2015, recogida de la página del centro de Innovación del BBVA : https://www.centrodeinnovacionbbva.com/infografia/big-data-es-hora-de-generar-valor-de-negocio-con-los-datos y la idea de generar valor de negocio en la información disponible actualmente en las empresas.Recordad que según el IDC existe una oportunidad US$ 1.6 trillones en ingresos a lo largo de los próximos cuatro años,relacionada con este sector. (Fuente: http://gestion.pe/tecnologia/big-data-nueva-moneda-mundo-negocios-2110577) hay que aprovecharla!!
jueves, 11 de septiembre de 2014
Open Stack: Plataforma de Cloud Computing Software Libre
En esta nueva
entrada, de acuerdo a la filosofía de este blog de apoyo al software libre,
vamos a hablar de un plataforma de Cloud Computing open source: Open Stack como
vamos a describir, esta plataforma ofrece funcionalidades de cloud computing
muy interesantes.
En primer lugar
describimos esta solución: se trata de una plataforma en software libre
para cloud computing que proporciona una infraestructura
como servicio (IaaS), cumpliendo con las necesidades de los
proveedores de nubes públicas y privadas, independientemente de su tamaño,
siendo bastante fácil de implementar y muy escalable.
Este proyecto está distribuido bajo los términos de la
licencia Apache. El proyecto está gestionado por la Fundación OpenStack, una
persona jurídica sin fines de lucro creada en septiembre de 2012 para promover
el software OpenStack y su comunidad.
Más de 200 empresas se unieron al proyecto entre las que destacan AMD, Brocade Communications Systems, Canonical, Cisco, Dell, Ericsson, Groupe Bull, HP,IBM, InkTank, Intel, NEC, Rackspace Hosting, Red Hat, SUSE Linux, VMware y Yahoo!.
Más de 200 empresas se unieron al proyecto entre las que destacan AMD, Brocade Communications Systems, Canonical, Cisco, Dell, Ericsson, Groupe Bull, HP,IBM, InkTank, Intel, NEC, Rackspace Hosting, Red Hat, SUSE Linux, VMware y Yahoo!.
La
tecnología consiste en una serie de proyectos relacionados entre sí que
controlan pools de control de procesamiento, almacenamiento y recursos de red a
través de un centro de datos, todos administrados a través de un panel de
control que permite a los administradores controlar mientras potencia a sus
usuarios proveyendo los recursos a través de una interfaz web.
Características de Open Stack
- Los módulos tienen muchas
características comunes para poder integrarse fácilmente.
- Están desarrollados en Python
- Algunos de ellos utilizan AMQP
para el intercambio de mensajes
- Incluyen una API RESTful para
la comunicación entre componentes o externa (p. ej. clientes)
- Autenticación basada en tokens
gestionada a través del componente Keystone
- Base de datos propia e
independiente
Componentes
de Open Stack
OpenStack tiene una arquitectura
modular con varios nombres para sus componentes:
OPENSTACK IDENTITY SERVICE (KEYSTONE)
- Directorio centralizado que
almacena información de:
- Usuarios
- Proyectos (tenants)
- Roles
- Servicios y sus endpoints
- Información almacenada en
SGBDR o LDAP
- Primer componente a instalar
OPENSTACK
IMAGE SERVICE (GLANCE)
·
Gestiona las plantillas de imágenes de los sistemas
·
Gestiona las instantáneas de las instancias
·
Puede utilizar diversos formatos:
- raw
- qcow2 (Qemu/KVM)
- vhd (Hyper-V)
- ami (Amazon)
- vdi (VirtualBox)
- vmdk (VMware)
OPENSTACK COMPUTE
(NOVA)
·
Componente principal de OpenStack
·
Gestiona las instancias de imágenes, dónde deben ejecutarse y el
acceso mediante consola
·
Soporta diferentes hipervisores (recomendados KVM o Xen):
·
KVM/QEMU
·
Xen
·
Hyper-V
·
VMware ESXi
·
LXC
·
Docker
·
Permite incluso el aprovisionamiento de máquinas físicas mediante
Baremetal/Ironic
OPENSTACK OBJECT STORAGE (SWIFT)
·
Sistema de almacenamiento redundante y escalable
·
El almacenamiento de objetos permite el almacenamiento masivo de datos
no estructurados de forma bastante económica
·
Hoy en día ampliamente utilizado por aplicaciones web
·
Swift incluye su propia API y otra compatible con Amazon S3
·
Normalmente es utilizado por Glance para almacenar imágenes
·
Es independiente del resto de componentes
OPENSTACK BLOCK STORAGE (CINDER)
·
Los volúmenes son dispositivos de bloques que se crean de forma
independiente de la instancia y pueden asociarse y desasociarse de ella cuando
se precise
·
Cinder es equivalente al componente Amazon EBS
·
Los volúmenes se crean en el nodo de almacenamiento (por defecto con
LVM) y se conectan a la instancia que se desee mediante algún protocolo de
redes de almacenamiento (iSCSI es el más utilizado)
·
Cinder incluye controladores para gran cantidad de dispositivos de
almacenamiento del mercado
·
Cuando nova termina una instancia borra todo el almacenamiento local
asociado a ella, pero no los volúmenes, por lo que estos reciben el nombre de
almacenamiento permanente.
·
Podemos pensar en los volúmenes como discos externos que se conectan o
desconectan de las instancias, aunque se trate de un mecanismo completamente
diferente
OPENSTACK NETWORKING (NEUTRON)
·
Componente encargado de la configuración de redes virtuales
·
El nombre original de neutron era quantum, pero se tuvo que cambiar
por problemas de copyright
·
Neutron incluye un buen número de complementos: OpenvSwitch, Cisco,
Nicira, etc.
·
Neutron gestiona múltiples redes de forma independiente gracias al uso
de linux network namespaces que permite que múltiples routers virtuales
compartan un dispositivo de red físico
·
Neutron también se encarga de la gestión de los grupos de seguridad y
de las IPs flotantes
OPENSTACK DASHBOARD
(HORIZON)
·
Panel de control web de OpenStack desarrollado en Django
·
No incluye toda la funcionalidad de la API de cada componente, pero sí
los métodos más utilizados.
domingo, 1 de junio de 2014
Principales Tecnologias de Big Data II
En el anterior artículo mencionábamos, dentro de la tecnologías
clave en el BIG DATA, las bases
de datos NoSQL. Las bases de datos NoSQL son
sistemas de almacenamiento de información que no cumplen con el esquema
entidad-relación al que todos nos acostumbramos desde las primeras
asignaturas de bases de datos en las carreras de informática. Mientras que
las tradicionales bases de datos relacionales basan su funcionamiento en
tablas, joins y transacciones ACID, las bases de datos NoSQL no imponen
una estructura de datos en forma de tablas y relaciones entre ellas (no
imponen un esquema pre-fijado de tablas), en ese sentido son más flexibles, ya
que suelen permitir almacenar información en otros formatos como clave-valor
(similar a tablas
Hash), Mapeo de Columnas,
Documentos o Grafos.
A día de hoy existen unos 150 sistemas
de bases de datos NoSQL. Elegir uno
de ellos puede ser muy difícil, ya que ninguno ha obtenido todavía la fama que
sí han conseguido las bases de datos relacionales.
Existen diferentes formas para clasificar las bases de datos NoSQL, pero
nosotros vamos a basarnos en su
orientación al uso: orientadas a documentos, orientadas a columnas, de clave-valor y en grafo.
Orientadas a documentos
Son aquellas que gestionan datos semi estructurados. Es decir
documentos. Estos datos son almacenados en algún formato estándar como puede
ser XML, JSON o BSON. Dentro de las bases de datos NoSQL orientadas a
documentos destaca MongoDB.
MongoDB
MongoDB es un sistema de base de datos multiplataforma orientado a documentos,
de esquema libre. Como ya os expliqué, esto significa que cada entrada o
registro puede tener un esquema de datos diferente, con atributos o “columnas”
que no tienen por qué repetirse de un registro a otro. Está escrito en C++, lo
que le confiere cierta cercanía a los recursos de hardware de la máquina, de
modo que es bastante rápido a la hora de ejecutar sus tareas. Además, está
licenciado como GNUAGPL 3.0,
de modo que se trata de un software de licencia libre. Funciona en sistemas
operativos Windows, Linux, OS X y Solaris.
MongoDB se basa en el principio de
almacenar los datos en una estructura tipo llave-valor; MongoDB por su lado se
enfoca específicamente en que los valores de estas llaves (llamadas colecciones)
son estructuras tipo JSON (llamados documentos), es decir
objetos Javascript, lenguaje sobre el cual se basa esta solución de base de
datos. Esto facilitará su manipulación a muchos que ya conozcan el lenguaje.
MongoDB posee varias estrategias de manejo de datos que la han
posicionado donde se encuentra hoy en día, tales como sus procesos de división
de datos en distintos equipos físicos o también conocido como clusterización,
también el caso similar de documentos muy grandes que superen el límite
estipulado de 16MB se aplica una estrategia llamada GridFS que automáticamente
divide el documento en pedazos y los almacena por separado, al recuperar el
documento el driver se encarga de armar automáticamente el
documento nuevamente.
Usos MongoDB
§
Aplicaciones que almacenan grandes cantidades de datos o datos
complejos.
§
Por ejemplo para aplicaciones con estructuras complejas como
blogs (post, comentarios, rollbacks,etc) o aplicaciones de analítica (Google
analytics).
Características
de MongoDB:
§
Ausencia de transacciones · Esto le
permite a MongoDB ser más rápida y escalable a nivel horizontal.
§
Escalabilidad horizontal En sistemas tradicionales RDBMS, para mejorar
el rendimiento de la base de datos se adquiría una máquina más potente
(escalado vertical). En MongoDB funciona mejor el escalado horizontal
(incrementar número de máquinas)
§
Almacenamiento Orientado a
documentos (BSON) JSON
es más que una gran forma de intercambiar información, es también una
excelente forma de almacenarla. MongoDB almacena todo un registro
en un mismo documento. · No hay necesidad de especificar estructura alguna y
sus documentos pueden cambiarse individualmente. · MongoDB usa BSON
(Binary-JSON),un formato abierto basado en JSON que permite manejar datos
binarios, · Con el uso de BSON MongoDB es muy rápida en la búsqueda,
indexación, almacenamiento y recuperación de la información BSON es fácil y rápidamente transformable en
cualquier tipo de dato nativo de cualquier lenguaje de programación.
§
Soporte a Querys dinámicas · Como
en las bases de datos tradicionales, MongoDB también acepta la ejecución de
queries dinámicas (a diferencia de otras como CouchDB)
§
Indexación de Documentos · Todos
los documentos son automáticamente indexados con una clave llamada _id.
· Esta clave nos asegura que cada documento es único, · MongoDB permite indexar
documentos embebidos (se puede crear un índice en un código postal)
§
Indices Geoespaciales Permite la indexación de la información basado
en la localización. · Permite crear consultas del tipo: “cuantos artículos se
encuentran a cierta distancia de un determinado conjunto de coordenadas”,
§
Analisis de Rendimiento de
Queries MongoDB provee una
herramienta para el análisis de consultas que permite determinar el rendimiento
de nuestras consultas o conocer posibles defectos en su estructura o
simplemente mejorar el tiempo de respuesta de las mismas.
§
Replicación de Datos ·
MongoDB provee mecanismo llamado replicación maestro-esclavo,
con lo que solo una base de datos está activa para escritura en un momento
dado. · Todas las peticiones de escritura se realizan en la base de datos
maestra y esta las pasa a la réplica (esclavo). · Si la bd principal falla la
esclava ocupa su lugar. · MongoDB implementa el concepto de réplica a pares de
modo que cuando falla se determina cuál de las 2 bases de datos
(maestro-esclavo) es la que tomará el control para continuar prestando el
servicio.
viernes, 23 de mayo de 2014
Principales Tecnologias de Big Data I
BIG DATA
ya no es una promesa o una tendencia BIG DATA está aquí y está provocando cambios profundos en diversas industrias.El análisis de todos los datos disponibles está creando un elemento de disrupción, es necesario tener en cuenta que el análisis de grandes volúmenes de datos , de diversas fuentes a gran velocidad y con una enorme flexibilidad puede ser un valor fundamental y diferenciador.
Se dice que el concepto de BIG DATA se basa en las cinco V que es necesario conocer:
Respecto a las tecnologías que se utilizan en el mundo BIG DATA existen una serie de términos con los que nos empezamos a familiarizar y que pasamos a describir a continuación:
Se dice que el concepto de BIG DATA se basa en las cinco V que es necesario conocer:
- Volumen: se procesan grandes volúmenes de datos donde se convierte en un reto el capturar, almacenar y procesar la información.
- Variedad: todo tipo de datos estructurados y no estructurados (imágenes, videos, música, por ejemplo) obtenidos desde muy diversas fuentes.
- Velocidad: Alta velocidad para procesar los datos, considerando además el volumen de información que se genera en redes sociales y demás plataformas digitales.
- Veracidad: determinar la validez y calidad de los datos para determinar lo que sirve para establecer una estrategia.
- Valor: Es fundamental tener acceso a grandes volúmenes de datos, pero a menos que podamos convertirlo en valor resulta inútil. Así que usted puede discutir con seguridad que el "valor" es la más importante V de Big Data. Es tan fácil caer en la trampa de moda y embarcarse en iniciativas de datos grandes y sin una comprensión clara de los costos y beneficios. que se olvida que hay que buscar el valor que se genera con los datos para el consumidor final, mediante el diseño y desarrollo tanto de estrategias de comunicación personalizadas como de productos que cubran las necesidades básicas del target.
Respecto a las tecnologías que se utilizan en el mundo BIG DATA existen una serie de términos con los que nos empezamos a familiarizar y que pasamos a describir a continuación:
- Bases de Datos NoSQL : ( acrónimo de Not Only SQL) donde podemos destacar:
- MongoDB: www.mongodb.org/ Orientada a documentos JSON, madura base de datos NoSQL ampliamente adoptada por la comunidad de usuarios de Big Data.
- Apache Cassandra : http://cassandra.apache.org/ Base de datos NoSQL creada por Facebook. Un matrimonio exitoso entre Google BigTable y Amazon Dynam
- Neo4j Graph Database: http://www.neo4j.org/ Base de datos de grafos lista para ser implantada en soluciones empresariales y con un maduro ecosistema.
- Apache Hadoop Implementación open-source de MapReduce, un paradigma para desarrollar programas de procesamiento de datos masivos en modo batch.
- Apache Hive es un data warehouse construida en la base de Hadoop a fin de proporcionar resumenes de datos, consultas y análisis. Aunque inicialmente desarrollado por Facebook, Apache Hive está utilizado y desarrollado por otras empresas como Netflix. Hive también se incluye en “Amazon Elastic MapReduce” en Amazon Web Services.
- Apache Pig es una plataforma para el análisis de grandes conjuntos de datos que consta de un lenguaje de alto nivel para expresar programas de análisis, junto con la infraestructura para la evaluación de los mismos. La característica sobresaliente de los programas de Pig es que su estructura es susceptible a la paralelización, lo que a su vez le permite manejar enormes cantidades de información.
Ubicación:
Madrid, España
Suscribirse a:
Entradas (Atom)