Durante el desarrollo de esta investigación, se emplearán términos como los siguientes:
ACCESIBILIDAD: Se refiere a qué tan accesible es
el sitio para personas con discapacidades que también utilizan la Web, como
personas ciegas, con problemas de artritis, o que no ven bien los colores.
AJAX: Es una técnica de desarrollo web para crear aplicaciones interactivas. Siendo posible
realizar cambios sobre las páginas sin necesidad de recargarlas, mejorando la
interactividad, velocidad y usabilidad en las aplicaciones.
AMBARI: Es una interfaz web
que permite implementar y administrar clústers de Apache Hadoop. Su desarrollo
está siendo dirigido por ingenieros de Hortonworoks, que incluyen en su
plataforma de datos “Ambari Hortonworks”.
APACHE
KAFKA: (Desarrollado por LinkedIn). Es un sistema distribuido
de publicación-suscripción de mensajería que ofrece una solución capaz de
manejar toda la actividad del flujo de datos y procesar estos datos en un sitio
web de gran consumo. Este tipo de datos (páginas vistas, búsquedas y otras
acciones del usuario) son un ingrediente clave en la web social actual.
AVRO:
Es
un sistema de serialización de datos optimizado para Hadoop/MapReduce. Tiene la
ventaja de ser compacto, flexible y admitir varios lenguajes de programación,
lo cual lo posiciona como una alternativa muy buena a los SequenceFiles (de
Hadoop) o ProtoBuf (de Google).
BASE DE DATOS: es un conjunto de datos pertenecientes a
un mismo contexto y almacenados sistemáticamente para su posterior uso.
BIGTOP:
Es
un esfuerzo para crear un proceso más formal o marco de referencia para las
pruebas de paquetización e interoperabilidad de sub-proyectos Hadoop y sus
componentes relacionados, con el objetivo de mejorar la plataforma Hadoop en su
conjunto.
CASSANDRA:
Es
una base de datos distribuida desarrollada inicialmente por Facebook. Diseñada
para manejar grandes cantidades de datos distribuidos a través de servidores
commodity, tiene como características un arquitectura de tipo
"key/value", el no tener ningún punto único de fallo (SPOF), un
método de replicación de información basado en "gossip protocol" y la
problemática "eventual consistency".
CHUKWA:
Es
un subproyecto dedicado a la carga masiva de varios ficheros texto dentro de un
clúster Hadoop (ETL). Chukwa se construye bajo el sistema de archivos
distribuido (HDFS) y el marco MapReduce y hereda la escalabilidad y robustez de
Hadoop. También incluye un conjunto de herramientas flexible y potente para la
visualización y análisis de los resultados.
DREMEL:
Es un sistema de consultas interactivo para el análisis de datos anidados de
sólo-lectura. Es una solución ad-hoc escalable, que mediante la combinación de
niveles de múltiples árboles de ejecución y el diseño de columnas de datos, es
capaz de ejecutar consultas sobre tablas de agregación de un billón de filas en
segundos. El sistema escala a miles de CPUs y petabytes de datos, y cuenta con
miles de usuarios en Google.
CLUSTER: Conjunto de servidores (o nodos) que
permiten garantizar la continuidad del servicio y distribuir la carga de
procesamiento/red.
ESTÁNDARES: Se refiere a qué tan cercano se
acerca su sitio a las reglas impuestas por la W3C y qué tanto se aproxima a los
estándares correctos.
FLUME: Es un marco para aportar datos a
Hadoop. Los agentes están poblados de toda la infraestructura de TI - dentro de
los servidores web, servidores de aplicaciones y dispositivos móviles, para
recoger esos datos e integrarlos en Hadoop.
HAMA: Es una plataforma de computación
distribuida basada en técnicas de computación paralelas masivas para, por
ejemplo, cálculos científicos, matriz, gráfico y algoritmos de redes.
HBASE: Es una BBDD NoSQL de baja latencia.
Se trata de la versión java opensource de Hadoop de la famosa BBDD NoSQL de
Google: BigTable. Como principales características podemos destacar: datos
almacenados en columnas, sistema de versioning de los datos, consistencia de
las escrituras y lecturas y recuperación automática en caso de fallos. Ha sido
elegido por Facebook, entre otras cosas, para almacenar todos los correos de
los usuarios de la misma plataforma.
HCATALOG: Ofrece una capa de abstracción de
acceso a los datos. Permite a los usuarios de Hive, Pig o MapReduce acceder
facilmente a cualquier fichero en HDFS sin preocuparse del formato que puede
tener este fichero (sea CSV, SequenceFile, JSON etc). Se trata de un proyecto
inicialmente desarrollado por Hortonworks.
HDFS: (Hadoop Distributed File System),
la capa de almacenamiento de Hadoop, es un sistema de fichero distribuido
escrito en java, escalable, tolerante a fallos. Aunque Hadoop pueda funcionar
con varios sistemas de ficheros (sistema de ficheros locales de Linux,
GlusterFS, S3 de Amazon...) HDFS se desmarca de ellos por ser totalmente
compatible con MapReduce y ofrecer la optimización de "localidad de los
datos", lo cual lo convierte en la solución "natural" de Hadoop.
HTML5: es la última evolución de la norma
que define HTML. El término representa dos conceptos diferentes: Se trata de
una nueva versión del lenguaje HTML, con nuevos elementos, atributos y
comportamientos, y un conjunto más amplio de tecnologías que permite a los
sitios Web y las aplicaciones más diversas y de gran alcance. Este conjunto se
le llama HTML5 y amigos y, a menudo reducido a sólo HTML5.
JAVASCRIPT: es un lenguaje de programación, se
utiliza principalmente del lado del cliente (es decir, se ejecuta en nuestro
ordenador, no en el servidor) permitiendo crear efectos
atractivos y dinámicos en las páginas web. Los navegadores modernos interpretan
el código JavaScript integrado en las páginas web.
JQUERY: Es una librería de JavaScript que
simplifica el scripting en HTML y permite manipular el CSS directamente;
actualmente el 30% de los 10,000 sitios más populares del mundo lo utilizan y
dicho número va en aumento. Es sumamente dinámico, interactivo y fácil de
implementar y existe un arsenal de tutorías u ejemplos por toda la Web.
MAPREDUCE: Patrón de arquitectura que permite
realizar cálculos en paralelo y, por tanto, perfectamente adecuado para el
tratamiento de bases de datos de gran tamaño.
MONGODB: Es un sistema de BBDD NoSQL
orientado a documentos de código abierto. Por ser de tipo documentos, las
estructuras de datos se guardan en documentos con un esquema dinámico, pero
siguiendo la notación de JSON. Estas estructuras, que son denominadas por
MongoDB como BSON, son dinámicas, lo que implica que no exista un esquema
predefinido, pudiendo un documento no tener todos los campos definidos para
este documento. Esto supone que la integración de los datos en ciertas
aplicaciones sea más fácil y rápida.
NEO4J:
Es
una base de datos de gráficos, de código abierto soportada por Neo Technology.
Neo4j almacena los datos en nodos conectados por relaciones dirigidas y
tipificadas, con las propiedades de ambos, también conocidas como Gráfico de
Propiedad (Property Graph).
OOZIE:
Es
un sistema de gestión de WorkFlows (flujos de trabajo) que permite a los
usuarios definir una serie de trabajos escritos en varios lenguajes, como
MapReduce, Pig y Hive, creando entre ellos un flujo de procesos (jobs) con
lógica. Oozie permite a los usuarios especificar, por ejemplo, que una
determinada consulta sólo debe iniciarse después de determinados trabajos
previos en los que se basa para recoger datos que se han completado.
PIG: Es
un lenguaje de programación de alto nivel desarrollado por Yahoo para facilitar
la programación de MapReduce sobre hadoop. Es relativamente fácil de aprender
(ya que es muy expresivo y legible) y es eficiente frente a grandes flujos de
datos.
PHP: es un lenguaje de código abierto
muy popular, adecuado para desarrollo web y que puede ser incrustado en HTML.
Es popular porque un gran número de páginas y portales web
están creadas con PHP. Código abierto significa que es de uso libre y gratuito
para todos los programadores que quieran usarlo. Incrustado en HTML significa
que en un mismo archivo vamos a poder combinar código PHP con código HTML,
siguiendo unas reglas.
R: Es un lenguaje y un entorno para computación y gráficos
estadísticos. Es un proyecto GNU, que es similar al lenguaje S. R ofrece una
gran variedad de estadísticas (modelos lineales y no lineales, tests
estadísticos clásicos, análisis de series de tiempo, clasificación, clustering,
...) y las técnicas gráficas. Además es altamente extensible.
RIAK: IEs una BBDD NoSQL inspirada en
Dynamo, de código abierto, distribuida y que cuenta con una versión comercial.
BBDD clave-valor con algunos metadatos, sin esquema de almacenamiento, tipo de
datos agnósticos, lenguaje agnóstico que soporta a través de una api REST y
PBC31 varios tipos de lenguaje (Eralng, Javascript, Java, PHP, Python,
Ruby...), masterless ya que todos los nodos son iguales, escalable,
eventualmente consistente y utiliza map/reduce y “link”. Riak está diseñado
para resolver una nueva clase de problemas de gestión de datos, específicamente
los relacionados con la captura, almacenamiento y procesamiento de datos dentro
de entornos TI distribuidos y modernos como la nube.
SQL/noSQL: El Structured Query Language es el
lenguaje informático más utilizado para estructurar bases de datos y realizar
consultas para extraer la información. Estos últimos años ha aparecido un nuevo
sistema de bases de datos «noSQL», que se distingue por tener una mayor
flexibilidad de las bases de datos y una arquitectura de cluster
SQOOP: Es una herramienta de conectividad
para mover datos de Hadoop, tales como bases de datos relacionales y almacenes
de datos. Permite a los usuarios especificar la ubicación de destino dentro de
Hadoop e instruir Sqoop para mover datos de Oracle, Teradata u otras bases de
datos relacionales para cumplir el objetivo marcado.
STORM:
Es un sistema de computación distribuida en tiempo real, libre y de código
abierto, nacido en el seno de Twitter. Storm hace fácil procesar de manera
fiable flujos no estructurados de datos, haciendo en el ámbito del
procesamiento en tiempo real, lo que hizo Hadoop para el procesamiento por
lotes.
VOLDEMORT:
Es un sistema de almacenamiento distribuido basado en key-value. Se utiliza en
LinkedIn para ciertos problemas de almacenamiento de alta escalabilidad donde
la partición funcional simple no es suficiente.
ZOOKEEPER:
Es un proyecto de software de la Apache Software Foundation, que provee un
servicio de configuración centralizada y registro de nombres de código abierto
para grandes sistemas distribuidos. ZooKeeper es un subproyecto de Hadoop.