Salesforce: Perché abbiamo abbandonato il Python per Google Go lingua Einstein Analytics

0
243

Liam Tung

Da Liam Tung

| 8 ottobre 2019 — 12:13 GMT (13:13 CEST)

| Argomento: Il Software Enterprise

Python aumento di domande di JavaScript dominanza di
Aumento query guidata da interessi in Python e comunità di nuovi programmatori.

Salesforce ha recentemente speso $15.7 miliardi sulla società di analisi Tableau per rimpolpare la propria Einstein piattaforma di Analytics. Chiaramente Salesforce vede di analisi critica per il suo futuro.

Ma prima che la società ha lanciato Einstein Analytics nel 2017, ha revisionato il backend e ricostruita quasi interamente su Google popolari di Andare, o ‘Golang’, linguaggio di programmazione.

Secondo Salesforce principale architetto Guillaume Le Stum, prima di Salesforce lanciato Einstein Analytics, il motore di query e il set di dati strumenti di creazione che alla fine è diventato Einstein Analytics sono stati scritti in C “prestazioni” e un wrapper Python che ha fornito funzionalità come l’analisi di query, e una API REST server.

“In sostanza, il prodotto è stato costruito per avere il meglio di entrambi i mondi”, spiega Le Stum in un post su Stack Overflow.

“Python è grande per rapidamente la scrittura di applicazioni di livello superiore, ma non sempre per fornire le prestazioni necessarie a livello aziendale. C crea altamente performante eseguibili, ma l’aggiunta di funzionalità richiede molto più tempo.”

Python è, naturalmente, molto popolare con gli sviluppatori, tra cui ingegneri a Netflix che usano Python in ogni parte della sua vasta infrastruttura di trasmissione.

Ma prima del lancio, Le Stum dice il coraggio di Einstein Analytics ha iniziato a mostrare rallentamenti delle prestazioni, perché ogni nuova caratteristica che non era parte della query principale motore ha caricato sul wrapper Python.

Così, mentre Salesforce poteva sviluppare e distribuire rapidamente le caratteristiche con Python, infine, l’approccio è pigro.

“Python non fare il multi-threading molto bene, tanto più che l’involucro era stato chiesto di fare, il peggio eseguita”, spiega Le Stum.

Vanno, invece, è costruito per grandi applicazioni adatto per Google sistemi di produzione, in modo da Salesforce deciso di spostare Einstein Analitiche da un ibrido C-applicazione Python completamente Andare applicazione.

Le Stum individua, inoltre, due ulteriori aspetti negativi di stare con Python, nonostante alcuni dei suoi vantaggi.

“In primo luogo, Python utilizza tipizzazione debole, che è stato grande per un piccolo gruppo di rapido sviluppo di nuove idee e di metterle in produzione, ma meno grande per l’impresa-applicazione su vasta scala che alcuni clienti che stavano pagando milioni di dollari per”, egli scrive.

“In secondo luogo, si prevede una vasta dipendenza incubo all’orizzonte, come la distribuzione di destra librerie Python, versioni, e i file sarebbe diventato un lavoro di routine. Così, nel 2014, abbiamo deciso di porta del wrapper Python per Andare.”

Le Stum dice la forza di Andare includono la sua built-in attrezzature e veloce i tempi di compilazione e distribuzione, e di facile risoluzione dei problemi, così come il modo in cui rende il codice di facile comprensione.

“In Python, è possibile scrivere un super-elegante list comprehensions e bel codice che è quasi matematico. Ma se non scrivere il codice, poi che eleganza, può venire a scapito della leggibilità”, spiega, sottolineando che nel software aziendale, ingegneri passare più tempo a leggere il codice di scrittura.

Il gruppo aveva ancora domande su Go prestazioni rispetto a C per il motore delle query. Tuttavia, una prova di concetto scritto in Go permesso loro di procedere, e il Go versione di Einstein Analytics raggiunto disponibilità generale nel 2018.

Uno dei grandi vantaggi è che Vai di cross-platform è dotata di fare il porting di codice.

“Se dovessimo avere bisogno di questo codice in un app mobile, siamo in grado di compilarlo per iOS o Android e sarà solo lavoro,” Le Stum note.

L’unica parte di Einstein Analytics, che non è costruito con Go è il cluster manager, che è scritto in Java.

Più di linguaggi di programmazione

Python-ispirato Nim: Versione 1.0 del linguaggio di programmazione lancia
Microsoft Dattiloscritto 3.7: linguaggio di Programmazione beta terre con tutte queste caratteristiche
Google: Prendere il nostro libero Kotlin programmazione di corsi di lingua per costruire applicazioni Androiddi Microsoft: Abbiamo voglia di imparare il linguaggio di programmazione Python per liberoOracle: linguaggio di Programmazione Java 13 è fuori, che ti rendono più produttivoGoogle: Dart 2.5 linguaggio di programmazione SDK ‘metti’ gli sviluppatoriRaspberry Pi diventa MIT Zero 3 linguaggio di programmazione per RaspbianJulia linguaggio di programmazione: gli Utenti di rivelare ciò che l’amore e l’odio di più èil linguaggio di Programmazione Python ‘minaccia esistenziale” è la distribuzione di applicazioni: È questa la risposta?È Julia rapida crescita nuovo linguaggio di programmazione? Statistiche grafico rapida ascesa nel 2018Python vs R per i dati della scienza: il Professor tassi di linguaggio di programmazione rivalilinguaggi di Programmazione: Python previsto per il sorpasso di C e Java nei prossimi 4 anni di sviluppatore Python, dati scienziato o DevOps: Che i lavori di tecnologia di pagare di più? Netflix: il linguaggio di programmazione Python è alla base di ogni film in streamingPotrebbe Dattiloscritto sostituire JavaScript? Utilizzo del linguaggio di programmazione spin-off volaÈ Julia la prossima grande linguaggio di programmazione? MIT pensa così, come la versione 1.0 terre TechRepublicdi Mozilla radicale open-source spostare contribuito a riscrivere le regole di tecnologia CNET

Argomenti Correlati:

Big Data Analytics

Cloud

L’innovazione

Tecnologia e Lavoro

Collaborazione

Sviluppatore

Liam Tung

Da Liam Tung

| 8 ottobre 2019 — 12:13 GMT (13:13 CEST)

| Argomento: Il Software Enterprise