Que herramientas tales como Apache Hadoop, Apache Hive, Apache Pig, Apache HBase, y otros, convierten a Java como una fuerza de desarrollo detrás de la revolución de Big Data. Como un desarrollador Java, ¿Estás preparado para ser parte de esta nueva generación de aplicaciones Java? ¿Tienes muchas preguntas y nadie a quién consultar? A continuación presentamos las respuestas a preguntas presentadas en el “Big Data and Java: Ask the Experts” en el panel de JavaOne 2014.
¿Qué es Big Data?
Big Data es un nuevo y nebuloso término que describe a la información que no puede ser procesada por las técnicas tradicionales de procesamiento de datos, tales como las bases de datos relacionales que se ejecutan en una simple máquina. Big Data no es necesariamente un gran volumen de datos. Puede ser datos generados a una gran velocidad. Big Data puede ser también datos con una gran variedad en su estructura, como datos no estructurados.
La tecnología de Big Data, como Apache Hadoop, resuelven el problema de velocidad y variedad escalando en forma horizontal utilizando software tolerante a fallos, que tiene a ser más económico y más escalable que los clásicos entornos tradicionales. Apache Hadoop se presenta para soportar ambos, datos estructurados y no estructurados. Algoritmos para auto aprendizaje son comúnmente utilizados para Big Data.
¿Cuál es la principal base de datos NoSQL?
Existen muchas bases de datos NoSQL. La elección depende del problema que se quiere resolver. Considerando la clasificación de los datos, a continuación algunos buenos ejemplos:
- Almacenamiento por columna: Apache Cassandra, Apache HBase y Apache Accumulo.
- Almacenamiento por documentos: MongoDB, CouchDB y RavenDB.
- Almacenamiento por llave-valor: Redis, Riak y FoundationDB.
- Almacenamiento de Gráficos: Neo4j, Titan y OrientDB.
¿Cuál es la mejor forma de empezar con Apache Hadoop?
Hadoop es complejo, y empezar con esta puede ser desalentador. Sin embargo, existen muchos tutoriales y opciones de entrenamiento disponibles para ayudarlo.
En primer lugar se recomienda leer Hadoop: La guía definitiva. Es la referencia más utilizada en Hadoop.
En Internet se pueden encontrar muchos tutoriales. Una recomendable es Yahoo Apache Hadoop, un buen lugar para empezar. También se puede revisar con los laboratorios de “Hands-on-Hadoop” que fue presentado en JavaOne, el material esta en GitHub. Las presentaciones utilizadas durante la sesión también están disponible.
¿Cuántos datos se necesita para iniciar Hadoop y NoSQL?
Depende del tipo de trabajo de Hadoop que se ejecuta. Debido a que Hadoop debe configurar el trabajo y sincronizar todos los nodos para procesar los datos, mientras más datos se tenga que procesar, esta será más eficiente. Para optimizar el espacio en el Hadoop Distributed File System, los archivos deben ser más grandes que el valor de la propiedad dfs.namenode.fs-limits.min-block-size.
Con la base de datos NoSQL, muchas veces la decisión de utilizar una depende más de la necesidad de utilizar un modelo de datos flexible que la cantidad de datos en sí. Por ejemplo, incluso si no tienes una gran cantidad de datos, es más natural guardar la información de los documentos en una base de datos MongoDB que en una base de datos relacional tradicional, pues la base de datos MongoDB esta optimizado para una estructura de documentos.
Este artículo presenta algunas de las preguntas del artículo Big Data and Java, el cual presenta información de las nuevas bases de datos para Big Data u otras estructuras diferentes a las bases de datos relacionales.