¿Por qué SCALA para Big Data?

¿Por qué SCALA para Big Data?
TÍtulo: ¿Por qué SCALA para BIG DATA?
Autor: GG
Fecha: 20150521
Referencia: cvs_20150521_PorQueScalaParaBigData.docx
Hoy en día en el mundo de grandes volúmenes de datos (Big Data) se vive una
gran época de innovación y desarrollo de herramientas.
Una de estas es el ambiente de procesamiento tolerante a fallas “Apache Spark”
que surge como una alternativa a “Apache Hadoop” y su metodología
“Mapeo/Reducción” (“Map/Reduce”).
Spark es un marco de referencia (framework) que ofrece una gran diversidad de
bibliotecas de desarrollo que en su parte inicial se enfoca en:
1)
2)
3)
4)
Biblioteca SQL: Para utilizar enunciados SQL
Biblioteca MLlib: Para el aprendizaje automatizado
Biblioteca GraphX: Para las bases de datos de grafos
Biblioteca Streaming: Para el manejo de torrentes de dantos en tiempo real
(steam)
El marco de referencia (framework) Spark permite el desarrollo de aplicaciones
distribuidas y tolerante a fallas de forma más sencilla que los modelos distribuidos
anteriores.
Y entonces surge la pregunta ¿con qué está hecho este instrumento?
Página
1
El marco de referencia Spark es una aplicación que está programada utilizando el
lenguaje de programación Scala y que fue diseñado en la universidad de Berkeley
para ofrecer mecanismos unificados a los programados de aplicaciones.
¿Por qué SCALA para Big Data?
¿Por qué utilizar el lenguaje de programación SCALA?
El lenguaje de programación SCALA no es nuevo, éste surge hace varios años y
ha sido utilizado en proyectos relevantes. Pero, ¿Por qué los creadores en la
universidad de Berkeley no utilizan JAVA en lugar de SCALA como todos los
proyectos de grandes volúmenes?
En la academia se tiene gran aprecio por SCALA, sobre todo cuando se requiere
utilizar mecanismos sencillos para describir procesos concurrentes.
El lenguaje de programación SCALA inicia su diseño desde el año 2001, pro
Martin Odersky en la escuela Politécnica Federal de Jausana Suiza. (École
Polytechnique Fédérale de Jausanne, EPFL)
¿Quién es Martín Odersky?
El Dr. Martín Odersky es un alumno de Niklaus Wirth que obtuvo sus doctorado en
1989 y que en la “era JAVA” en los años 2000, fue un desarrollador distinguido
que realizó el compilador “javac” que hoy es una herramienta de gran utilidad en el
mundo JAVA.
El Dr. Martín Odersky es uno de los investigadores que conoce las ventajas y
debilidades de JAVA, por lo que se propuso realizar desde el 2001 un lenguaje
que “mejorara JAVA” en sus debilidades y “aprovechara JAVA” en
sus fortalezas.
En este contexto, el Dr. Martín Odersky crea el lenguaje de programación SCALA
como un programa que se ejecuta en una plataforma JAVA utilizando la JVM
(Java Virtual Machine) y que es 100% compatible con JAVA. Así, un programa
Página
En 2004, después de un desarrollo de depuración y optimización el lenguaje de
programación SCALA iniciado en 2001, se ofrece públicamente en su versión
inicial v.1.0.
2
SCALA puede incluir como bibliotecas TODOS los desarrollos
JAVA sin cambio alguno.
¿Por qué SCALA para Big Data?
En marzo 2006, se ofrece la versión 2.0 y desde esa fecha este lenguaje de
programación día a día va ganando adeptos.
Como información interesante el Dr. Martín Odersky funda en 2011 la compañía
Typesafe Inc, la cual desarrolla módulos y nuevas versiones de SCALA para el
cómputo distribuido introduciendo conceptos innovadores en el lenguaje como
evaluación tardía (lazy evaluation) y el modelo de actores.
El modelo de actores en la biblioteca AKKA es hoy en día una de las piezas
angulares del cómputo distribuido concurrente de aplicaciones de misión crítica.
AKKA toolkit
La caja de herramientas AKKA (AKKA toolkit) es un código abierto (open source)
que simplifica la constitución de aplicaciones concurrentes y distribuidas utilizando
la JVM (Java Virtual Machine). Para mayor información visitar http://akka.io.
La caja de herramientas AKKA soporta diferentes modelos de programación
concurrente, haciendo un énfasis particular en el modelo de actores y fuertemente
inspirado del lenguaje Erlang.
Hoy la biblioteca AKKA se encuentra en su versión 2.3.10 (fecha de consulta
20150423)
SCALA y el modelo de actores AKKA
En la versión 2.10 (fecha de consulta 20130104) se incorpora al lenguaje la
biblioteca AKKA como parte intrínseca de la distribución estándar de SCALA.
¿Por qué hoy me debo interesar en el lenguaje de programación SCALA?
Página
http://www.saxsa.com.mx/gg20150308_PorQueHoyMeInteresaScala.pdf
3
Existen diversas razones para lo cual se sugiere consultar: