Código Aberto de Big Data

Seria difícil escrever a história de big data sem incluir código aberto - os dois estão vinculados. O desenvolvimento de software de código aberto foi um grande fator na evolução do big data. E a tecnologia de código aberto continua sendo parte integrante do ecossistema de big data por causa de sua capacidade de inovação rápida. Na verdade, os nomes mais importantes no software de big data - Hadoop, Spark, Cassandra e Kafka - são todos de código-fonte aberto.

Como as empresas estão usando código-fonte aberto para big data?

Embora o software de código aberto tenha a reputação de ser um favorito de hobbyistas e desenvolvedores amadores, esse mundo de negócios vem adotando código aberto em ambientes de missão crítica há algum tempo.

Alguns dos motivos pelos quais as empresas escolhem o software de código-fonte aberto são:

  • Recursos e capacidades técnicas competitivas
  • Qualidade das soluções
  • Capacidade de personalizar e corrigir problemas
  • Menor barreira para a entrada

Provavelmente, uma das maiores vantagens do código aberto é sua grande e dedicada comunidade de desenvolvedores. Os projetos de código-fonte aberto mais populares têm uma enorme base de desenvolvedores trabalhando para corrigir e melhorar a tecnologia. Os desenvolvedores são atraídos para o código aberto por seus recursos competitivos e recursos inovadores, o que é especialmente valioso quando comparado ao que o software tradicional pode criar.

O código aberto é especialmente benéfico para empresas que não têm desenvolvimento interno ou recursos de TI para construir seu próprio software. Como alternativa, as empresas que têm esses recursos recorrem ao código aberto para dar a seus funcionários a tecnologia de ponta com a qual eles estão mais interessados em trabalhar.

Como as empresas veem o código-fonte aberto?

A tecnologia de código aberto tem uma grande promessa. Mas não é sem desafios. De acordo com o estudo North Bridge 2016 e Black Duck Future of Open Source, quase 33% das empresas não têm processo para identificar, rastrear ou corrigir vulnerabilidades conhecidas de código aberto, o que poderia deixá-las abertas a ameaças de segurança.

O código aberto tem sido muito vantajoso para a comunidade de big data. Com o código pronto para uso, o software de código aberto permitiu que as empresas comercializassem produtos mais rapidamente. Mas sempre tem um certo risco. A vulnerabilidade de segurança OpenSSL Heartbleed em 2014 é apenas um exemplo de suas vulnerabilidades.

Apesar dos benefícios obtidos com muitos colaboradores, o software de código aberto não está imune a erros comuns de programação e blunders de segurança. A maioria dos engenheiros de software não rastreia o uso do código-fonte aberto, deixando muitas empresas cientes dos riscos resultantes de segurança e conformidade que poderiam estar enfrentando.

Para que o código aberto seja totalmente utilizável e eficaz, a maioria das empresas precisa que ele seja integrado e apoiado em algum grau. O que é mais fácil de dizer do que fazer porque, em um sentido, o código aberto nunca está completo. Sempre há algo novo para trabalhar. Além disso, os produtos de código aberto geralmente não são exatamente fáceis de trabalhar. O uso de código aberto pode exigir treinamento. A compatibilidade com aplicativos e hardware existentes é outra preocupação. A maioria das empresas acaba adotando o código aberto por meio de outra empresa.

Empresas como Oracle, Databricks e DataStax têm trabalhado com código aberto dessa forma. Essas empresas trouxeram código-fonte aberto para a empresa e o tornaram totalmente utilizável. Existe um grande benefício porque essas empresas agregam valor ao código aberto por meio de commits e várias outras melhorias.

No Open Source Summit 2017, o fundador do Linux, Linus Torvalds, confirmou a influência corporativa e o trabalho feito em projetos de código aberto por desenvolvedores corporativos e a recebeu. "É muito importante ter empresas em código aberto", disse. "É uma coisa que tenho sido muito feliz."

Como o Oracle Big Data está usando código aberto?

Em 2017, a Oracle foi nomeada uma das 35 principais empresas que desempenham um papel importante no desenvolvimento e manutenção de software de código-fonte aberto. Por meio da compra da Sun Microsystems em 2010, a Oracle herdou algumas das tecnologias de código-fonte aberto mais populares do mundo. Nosso suporte a tecnologias de big data de código aberto foi um dos impulsionadores do crescimento dominante nos últimos anos. A Oracle continua a dar suporte ao desenvolvimento e às bases de código-fonte aberto.

Quando se trata de big data, a Oracle tem sido especialmente proativa no trabalho com software de código-fonte aberto. A próxima seção descreve como a Oracle usa código aberto em várias áreas da nossa plataforma de big data. Na Oracle, trabalhar com big data envolve três etapas principais:

  • integrar big data e trazê-lo para o seu sistema
  • gerenciar seu big data e ter um local para armazená-lo
  • analisar para entender, visualizar, fazer sentido e até mesmo criar modelos proativos com base no aprendizado de máquina com seus dados

Integração e big data

Muitos de nossos clientes de big data estão exigindo especificamente ofertas de código-fonte aberto. A Oracle está comprometida com o desenvolvimento, suporte e promoção de código-fonte aberto. Os produtos de integração de dados da Oracle, como Oracle Data Integration e Oracle GoldenGate, incluem tecnologia de código aberto, juntamente com muitas outras plataformas.

Também observamos que muitos clientes desejam modernizar suas estruturas de código aberto e as tecnologias de suporte que estão em constante mudança. No lado da integração de dados, atualmente suportamos cerca de vinte e cinco diferentes tecnologias de código aberto, origens de dados, destinos e estruturas de execução. Algumas das tecnologias que apoiamos incluem:

  • Apache Kafka
  • Apache Hive
  • Apache HBase
  • Sistema Hadoop Cloud
  • Apache Cassandra

O que os clientes estão olhando para esses dias é o nível de maturidade de seus produtos de big data. Um dos fatores mais importantes a serem considerados é se o fornecedor tem uma estratégia de suporte aceitável em torno das estruturas de big data. É fundamental que o fornecedor não seja casual sobre seu compromisso com a tecnologia de código-fonte aberto.

Juntamente com a maturidade do produto, uma solução de negócios de big data normalmente será uma combinação de código aberto e de código não aberto. As empresas vêm resolvendo problemas de big data com soluções de código aberto, mas isso exige muito compromisso, dedicação e experiência.

Você pode e deve aproveitar a tecnologia de código aberto onde faz sentido. Mas, na maioria das vezes, você precisará fazer parceria com uma variedade de outras tecnologias de fornecedores também.

Por exemplo, nos primeiros dias do estabelecimento de data lakes, as empresas queriam aproveitar um produto como o Kafka, com sua capacidade de tomar muitas entradas e distribuir para muitas saídas. Mas obtenha o Kafka mais confiável e robusto, uma tecnologia como o Oracle GoldenGate era necessária. Embora GoldenGate não seja de código aberto, GoldenGate e Kafka juntos fazem uma opção de ingestão melhor para um data lake do que usar um produto como Sqoop com Kafka porque GoldenGate é um produto muito mais robusto e maduro do que Sqoop.

Gerenciamento de big data

De uma perspectiva de gerenciamento de dados, a pilha de produtos de big data da Oracle é fortemente baseada em código-fonte aberto.

A Oracle escolheu essa abordagem para aproveitar a inovação de código-fonte aberto e ter melhor controle sobre a funcionalidade disponibilizada aos clientes. Com big data, há vários componentes dentro da pilha que evoluem continuamente. Foi por isso que tomamos a decisão de ter nossa própria distribuição do Hadoop de código aberto.

Também acreditamos que o uso de software de código-fonte aberto permite que a Oracle forneça melhor suporte para nossos clientes. Ao mesmo tempo, sabemos que outros ecossistemas de software estão desenvolvendo projetos de código aberto interessantes que estão evoluindo. É por isso que a Oracle continua contribuindo para muitas comunidades de desenvolvimento diferentes. Por exemplo, os esforços de desenvolvimento da Oracle estão evoluindo para usar o armazenamento de objetos como um data lake.

A Oracle contribui ativamente para as comunidades de código aberto e oferece aos clientes alguns de nossos próprios IPs para obter melhor desempenho e recursos.

Linguagem de programação R

Na Oracle, não adotamos apenas R; na verdade, melhoramos. A redistribuição de código aberto R suportada pela Oracle (que é um download gratuito) é compatível com a execução no banco de dados e no Hadoop, e agora é mais rápida porque a paralelizamos.

O R pode ser executado em vários nós e em um cluster em vez de em uma única máquina, para que os clientes possam executar algoritmos maiores e mais complexos em mais conjuntos de dados sem depender da amostragem. As melhorias do Oracle para o R permitem que os usuários usem a sintaxe R e forneçam diferentes implementações abaixo dela que o tornem escalável e eficiente.

Além disso, a Oracle fez as seguintes melhorias em R:

  • Algoritmos criados para operar no banco de dados e na sintaxe R
  • Script Took R e executável
  • Simplificou para os usuários o lançamento de scripts R e o aproveitamento de SQL

A Oracle também se expandiu no espaço Hadoop, introduzindo a interface R para o Hive.

O compromisso da Oracle com R, Hadoop e código aberto não é apenas sobre a tecnologia. Quando a comunidade R criou o R Consortium em 2015, a Oracle foi um membro fundador. O Consórcio R foi fundado para fornecer benefícios e apoio à comunidade de código aberto R. A Oracle continua a apoiar o crescimento e o desenvolvimento de R e incentivou as melhores práticas de adoção para a qualidade do pacote de R.

Banco de dados espacial e gráfico para big data

Os serviços analíticos de grafos e os modelos de dados do Oracle Spatial e da Oracle suportam cargas de trabalho de big data nas tecnologias de banco de dados Apache Hadoop e NoSQL. Incorpore bibliotecas e componentes de código aberto para arredondar nossas ofertas. A Oracle usou vários desses componentes para fins de infraestrutura, principalmente em projetos baseados no Apache.

A Oracle vê o relacionamento como mutuamente benéfico. Por exemplo, nossas análises no lado espacial/grafo são personalizadas, mas aceleramos esse processo porque o baseamos em um projeto de código aberto chamado Green-marl, que é uma linguagem específica do domínio para análise de dados gráficos que nos permite fazer perguntas para análise de clientes mais rapidamente.

Quando a Oracle contribui para o código aberto, normalmente aproveitamos o código aberto, o personalizamos e o aprimoramos. Veja a seguir exemplos de contribuições da Oracle para código-fonte aberto:

  • Cytoscape: A Oracle desenvolve componentes que enviamos (como uma extensão ao GDAL) para que outros possam carregar dados em seus bancos de dados espaciais.
  • Lado do gráfico de propriedades: a Oracle encontra oportunidades para estender os produtos ou projetos em que trabalhamos, identificar bugs e problemas de segurança, bem como fornecer feedback aos desenvolvedores apropriados. O recurso que mais contribuímos é o RDF W3C.
  • A Oracle incorporou isso para a importação, exportação e conversão de formato de dados espaciais. A Oracle fornece o driver do Oracle Spatial e do Oracle Graph.