Sería difícil escribir la historia de big data sin incluir código abierto: los dos están vinculados. El desarrollo de software de código abierto fue un factor enorme en la evolución del big data. Y la tecnología de código abierto sigue siendo una parte integral del ecosistema de big data debido a su capacidad de innovación rápida. De hecho, los nombres más importantes del software de big data (Hadoop, Spark, Cassandra y Kafka) son código abierto.
Aunque el software de código abierto tiene la reputación de ser un favorito de aficionados y desarrolladores aficionados, ese mundo empresarial ha estado adoptando el código abierto en entornos críticos durante bastante tiempo.
Algunas de las razones por las que las empresas eligen software de código abierto son:
Cabe decir que una de las mayores ventajas del código abierto es su gran y dedicada comunidad de desarrolladores. Los proyectos de código abierto más populares tienen una enorme base de desarrolladores que trabaja para aplicar parches y mejorar la tecnología. Los desarrolladores se sienten atraídos por el código abierto por sus características competitivas y capacidades innovadoras, lo que es especialmente valioso en comparación con lo que el software tradicional puede crear.
El código abierto es especialmente beneficioso para las empresas que no tienen los recursos de TI o desarrollo internos para crear su propio software. Alternativamente, las empresas que sí disponen de esos recursos recurren al código abierto para ofrecer a sus empleados la tecnología de vanguardia con la que están más interesados en trabajar.
La tecnología de código abierto es prometedora. Pero no está sin desafíos. Según el estudio sobre el futuro del código abierto del puente del norte y el pato negro de 2016, casi el 33 % de las empresas no tienen ningún proceso para identificar, rastrear o corregir vulnerabilidades de código abierto conocidas, lo que podría dejarlas abiertas a amenazas de seguridad.
El código abierto ha sido muy ventajoso para la comunidad de big data. Con su código listo para usar, el software de código abierto ha permitido a las empresas comercializar productos más rápido. Pero siempre ha llevado una cierta cantidad de riesgo. La vulnerabilidad de seguridad OpenSSL Heartbleed en 2014 es solo un ejemplo de sus vulnerabilidades.
A pesar de los beneficios obtenidos por tener muchos contribuyentes, el software de código abierto no es inmune a los errores de programación ordinarios y a los errores de seguridad. La mayoría de los ingenieros de software no realizan un seguimiento del uso de código abierto, por lo que muchas empresas desconocen los riesgos de seguridad y conformidad resultantes a los que podrían hacer frente.
Para que el código abierto sea plenamente utilizable y eficaz, la mayoría de las empresas necesitan que se integre y apoye en cierta medida. Lo que es más fácil de decir que hacerlo, porque en cierto sentido el código abierto nunca está completo. Siempre hay algo nuevo en el que trabajar. Además, los productos de código abierto a menudo no son exactamente fáciles de trabajar. El uso de código abierto puede requerir formación. Otra preocupación es la compatibilidad con las aplicaciones y el hardware existentes. La mayoría de las empresas acaban adoptando código abierto a través de otra empresa.
Empresas como Oracle, Databricks y DataStax han estado trabajando con código abierto de esta forma. Estas empresas incorporaron el código abierto a la empresa y lo hicieron totalmente utilizable. Esto supone un gran beneficio, ya que estas empresas añaden valor al código abierto a través de compromisos y otras mejoras.
En la Open Source Summit de 2017, el fundador de Linux, Linus Torvalds, reconoció la influencia corporativa y el trabajo realizado en proyectos de código abierto por desarrolladores corporativos y la acogió con satisfacción. "Es muy importante tener empresas en código abierto", dijo. "Es una cosa de la que he estado muy feliz".
En 2017 Oracle fue nombrado una de las 35 empresas más importantes en el desarrollo y mantenimiento de software de código abierto. Con la compra de Sun Microsystems en 2010, Oracle heredó algunas de las tecnologías de código abierto más conocidas del mundo. Nuestro apoyo a las tecnologías de big data de código abierto ha sido uno de los motores de crecimiento dominantes para nosotros en los últimos años. Oracle sigue apoyando el desarrollo y las bases de código abierto.
Cuando se trata de big data, Oracle ha sido especialmente proactivo a la hora de trabajar con software de código abierto. En la siguiente sección se describe cómo Oracle utiliza el código abierto en varias áreas de nuestra plataforma de big data. En Oracle, trabajar con big data implica tres pasos clave:
Muchos de nuestros clientes de big data exigen específicamente ofertas de código abierto. Oracle se compromete a desarrollar, apoyar y promover el código abierto. Los productos de integración de datos de Oracle, como Oracle Data Integration y Oracle GoldenGate, incluyen tecnología de código abierto, junto con muchas otras plataformas.
También estamos notando que muchos clientes quieren modernizar sus marcos de código abierto y las tecnologías de soporte que están cambiando constantemente. Desde el punto de vista de la integración de datos, actualmente admitimos veinticinco tecnologías de código abierto, orígenes de datos, destinos y marcos de ejecución diferentes. Algunas de las tecnologías a las que apoyamos son:
Lo que los clientes están mirando en estos días es el nivel de madurez de sus productos de big data. Uno de los factores más importantes a tener en cuenta es si el proveedor tiene una estrategia de soporte aceptable en torno a los marcos de big data. Es fundamental que el proveedor no sea casual por su compromiso con la tecnología de código abierto.
Junto con la madurez del producto, una solución de negocio de big data suele ser una combinación de código abierto y código no abierto. Las empresas han resuelto problemas de big data con soluciones de código abierto, pero requiere un gran compromiso, dedicación y experiencia.
Puede y debe aprovechar la tecnología de código abierto donde tenga sentido. Pero la mayoría de las veces, también necesitará asociarse con una variedad de otras tecnologías de proveedores.
Por ejemplo, en los primeros días de establecer lagos de datos, las empresas querían aprovechar un producto como Kafka, con su capacidad para tomar muchas entradas y distribuirlas a muchos productos. Pero para que Kafka sea más fiable y sólida, se necesitaba una tecnología como Oracle GoldenGate. Aunque GoldenGate no es de código abierto, GoldenGate y Kafka juntos ofrecen una mejor opción de ingestión para un lago de datos que utilizar un producto como Sqoop con Kafka porque GoldenGate es un producto mucho más sólido y maduro que Sqoop.
Desde una perspectiva de gestión de datos, la pila de productos de big data de Oracle se basa en gran medida en el código abierto.
Oracle optó por este enfoque para aprovechar la innovación de código abierto y tener un mejor control sobre la funcionalidad disponible para los clientes. Con big data, hay varios componentes dentro de la pila que evolucionan continuamente. Por eso hemos tomado la decisión de tener nuestra propia distribución de código abierto de Hadoop.
También creemos que el uso de software de código abierto permite a Oracle ofrecer un mejor soporte a nuestros clientes. Al mismo tiempo, sabemos que otros ecosistemas de software están desarrollando interesantes proyectos de código abierto que están evolucionando. Por eso Oracle sigue contribuyendo a muchas comunidades de desarrollo diferentes. Por ejemplo, los esfuerzos de desarrollo de Oracle están evolucionando para utilizar el almacén de objetos como un lago de datos.
Oracle contribuye activamente a las comunidades de código abierto y ofrece a los clientes parte de nuestra propia IP para mejorar el rendimiento y las capacidades.
En Oracle, no solo hemos adoptado R; en realidad lo hemos mejorado. La redistribución de código abierto R soportada por Oracle (que se puede descargar de forma gratuita) es compatible con la ejecución en la base de datos y Hadoop, y ahora es más rápida porque la hemos creado en paralelo.
R se puede ejecutar en varios nodos y en un cluster, en lugar de en una única máquina, para que los clientes puedan ejecutar algoritmos más grandes y complejos en más conjuntos de datos sin depender del muestreo. Las mejoras de Oracle en R permiten a los usuarios utilizar la sintaxis R y proporcionar diferentes implementaciones debajo de ella que lo hacen escalable y eficaz.
Además, Oracle ha realizado las siguientes mejoras en R:
Oracle también se ha expandido al espacio de Hadoop, introduciendo la interfaz R para Hive.
El compromiso de Oracle con R, Hadoop y el código abierto no se trata solo de la tecnología. Cuando la comunidad R creó el consorcio R en 2015, Oracle fue miembro fundador. El Consorcio R se fundó para proporcionar beneficios y apoyo a la comunidad de código abierto R. Oracle sigue apoyando el crecimiento y el desarrollo de R y ha fomentado la adopción de mejores prácticas para la calidad de los paquetes R.
Los modelos de datos y servicios de análisis de gráficos de Oracle Spatial y Oracle soportan cargas de trabajo de big data en las tecnologías de bases de datos Apache Hadoop y NoSQL. Ambos incorporan bibliotecas y componentes de código abierto para completar nuestras ofertas. Oracle ha utilizado varios de estos componentes con fines de infraestructura, principalmente en proyectos basados en Apache.
Oracle ve la relación como mutuamente beneficiosa. Por ejemplo, nuestros análisis en el lado del espacio/gráfico están personalizados, pero aceleramos ese proceso porque lo basamos en un proyecto de código abierto llamado Green-marl, que es un lenguaje específico del dominio para el análisis de datos de gráficos que nos permite ejecutar preguntas para el análisis de clientes con mayor rapidez.
Cuando Oracle contribuye al código abierto, normalmente aprovechamos el código abierto, lo personalizamos y lo mejoramos. A continuación, se muestran ejemplos de las contribuciones de Oracle al código abierto: