Interviste
Karthik Ranganathan, Co-Fondatore e Co-CEO di Yugabyte – Serie di Interviste

Karthik Ranganathan è co-fondatore e co-CEO di Yugabyte, l’azienda dietro YugabyteDB, il database distribuito open-source di alta prestazione PostgreSQL. Karthik è un esperto di dati di lunga esperienza e ingegnere ex Facebook (META ) che ha fondato Yugabyte insieme a due dei suoi colleghi di Facebook per rivoluzionare i database distribuiti.
Cosa ti ha ispirato a co-fondare Yugabyte e quali lacune nel mercato hai visto che ti hanno portato a creare YugabyteDB?
I miei co-fondatori, Kannan Muthukkaruppan, Mikhail Bautin e io, abbiamo fondato Yugabyte nel 2016. Come ex ingegneri di Meta (allora chiamata Facebook), abbiamo aiutato a costruire database popolari come Apache Cassandra, HBase e RocksDB, oltre a gestire alcuni di questi database come servizi gestiti per carichi di lavoro interni.
Abbiamo creato YugabyteDB perché abbiamo visto una lacuna nel mercato per database transazionali cloud-native per applicazioni business-critical. Abbiamo costruito YugabyteDB per soddisfare le esigenze delle organizzazioni in transizione da on-premises a operazioni cloud-native e abbiamo combinato le caratteristiche dei database non relazionali con la scalabilità e la resilienza delle architetture cloud-native. Mentre costruivamo Cassandra e HBase a Facebook (che è stato strumentale nel rispondere alle esigenze di scalabilità di Facebook), abbiamo visto il crescente utilizzo di microservizi, containerizzazione, alta disponibilità, distribuzione geografica e Interfacce di Programmazione delle Applicazioni (API). Abbiamo anche riconosciuto l’impatto che le tecnologie open-source hanno nel far avanzare l’industria.
Le persone spesso pensano che il mercato dei database transazionali sia affollato. Mentre questo è stato tradizionalmente vero, oggi Postgres è diventato l’API predefinita per i database transazionali cloud-native. I database cloud-native stanno sempre più scegliendo di supportare il protocollo Postgres, che è stato integrato nel tessuto di YugabyteDB, rendendolo il database più compatibile con Postgres sul mercato. YugabyteDB mantiene la potenza e la familiarità di PostgreSQL, evolvendolo in un database distribuito di livello enterprise adatto per applicazioni cloud-native moderne. YugabyteDB consente alle aziende di costruire e scalare sistemi utilizzando modelli SQL familiari.
Come hanno influenzato le tue esperienze a Facebook la tua visione per l’azienda?
Nel 2007, stavo considerando se unirmi a una piccola ma crescente azienda, Facebook. All’epoca, il sito aveva circa 30-40 milioni di utenti. Pensavo che potesse raddoppiare di dimensioni, ma non potevo essere più in errore! Durante i miei oltre cinque anni a Facebook, la base di utenti è cresciuta a 2 miliardi. Ciò che mi ha attirato in azienda è stata la cultura dell’innovazione e della baldanza, che incoraggia le persone a “fallire in fretta” per catalizzare l’innovazione.
Facebook è cresciuto così tanto che le sfide tecniche e intellettuali che desideravo non erano più presenti. Per molti anni avevo aspirato a fondare la mia azienda e affrontare i problemi che si presentavano all’utente comune, e questo mi ha portato a co-creare Yugabyte.
La nostra missione è quella di semplificare le applicazioni cloud-native, concentrandoci su tre caratteristiche essenziali cruciali per lo sviluppo moderno:
- In primo luogo, le applicazioni devono essere continuamente disponibili, garantendo il tempo di attività indipendentemente dai backup o dalle interruzioni, soprattutto quando vengono eseguite su hardware commodity nel cloud.
- In secondo luogo, la capacità di scalare su richiesta è cruciale, consentendo agli sviluppatori di costruire e rilasciare rapidamente senza il ritardo dell’ordine di hardware.
- In terzo luogo, con numerosi data center ora facilmente accessibili, la replica dei dati tra le regioni diventa vitale per l’affidabilità e le prestazioni.
Questi tre elementi consentono agli sviluppatori di avere l’agilità e la libertà di cui hanno bisogno per innovare, senza essere vincolati dalle limitazioni dell’infrastruttura.
Potresti condividere il viaggio da quando Yugabyte è stata fondata nel 2016 al suo attuale status di leader nei database SQL distribuiti? Quali sono stati alcuni punti di svolta chiave?
A Facebook, parlavo spesso con gli sviluppatori che avevano bisogno di caratteristiche specifiche, come indici secondari sui database SQL o transazioni multi-nodo occasionali. Purtroppo, la risposta era spesso “no”, perché i sistemi esistenti non erano progettati per quelle esigenze.
Oggi stiamo vivendo un passaggio verso applicazioni transazionali cloud-native che devono affrontare la scalabilità e la disponibilità. I database tradizionali non possono soddisfare queste esigenze. Le aziende moderne richiedono database relazionali che operino nel cloud e offrano le tre caratteristiche essenziali: alta disponibilità, scalabilità e distribuzione geografica, mantenendo al tempo stesso le capacità SQL. Queste sono le colonne portanti su cui abbiamo costruito YugabyteDB e le sfide dei database che stiamo cercando di risolvere.
Nel febbraio 2016, i fondatori hanno iniziato a sviluppare YugabyteDB, un database SQL distribuito a livello globale progettato per applicazioni transazionali cloud-native. Nel luglio 2019, abbiamo fatto un annuncio senza precedenti e rilasciato le nostre caratteristiche commerciali come open-source. Ciò ha rafforzato il nostro impegno per i principi open-source e ha lanciato ufficialmente YugabyteDB come sistema di gestione del database relazionale (RDBMS) completamente open-source sotto licenza Apache 2.0.
L’ultima versione di YugabyteDB (presentata a settembre) presenta una maggiore compatibilità con Postgres. Include un Adaptive Cost-Based Optimizer (CBO) che ottimizza i piani di query per applicazioni a larga scala e multi-regione, e Smart Data Distribution che determina automaticamente se archiviare le tabelle insieme per una minore latenza o suddividere e distribuire i dati per una maggiore scalabilità. Questi miglioramenti consentono agli sviluppatori di eseguire le loro applicazioni PostgreSQL su YugabyteDB in modo efficiente e di scalare senza dover effettuare compromessi o migrazioni complesse.
YugabyteDB è noto per la sua compatibilità con PostgreSQL e il suo API ispirato a Cassandra. Come questo approccio multi-API beneficia gli sviluppatori e le aziende?
L’approccio multi-API di YugabyteDB beneficia gli sviluppatori e le aziende combinando le caratteristiche di un database SQL ad alte prestazioni con la flessibilità necessaria per applicazioni a livello di internet.
Supporta il database relazionale e i carichi di lavoro OLTP ad alta volumetria, mantenendo al tempo stesso una bassa latenza di query e una resilienza eccezionale. La compatibilità con PostgreSQL consente una modernizzazione senza soluzione di continuità delle applicazioni Postgres esistenti, richiedendo modifiche minime.
Nella versione più recente della piattaforma di database distribuita, rilasciata a settembre 2024, caratteristiche come l’Adaptive CBO e la Smart Data Distribution migliorano le prestazioni ottimizzando i piani di query e gestendo automaticamente la posizione dei dati. Ciò consente agli sviluppatori di raggiungere una bassa latenza e una scalabilità elevata senza compromessi, rendendo YugabyteDB ideale per applicazioni cloud-native in rapida crescita che richiedono una gestione dei dati affidabile.
L’AI sta sempre più integrando i sistemi di database. Come Yugabyte sta sfruttando l’AI per migliorare le prestazioni, la scalabilità e la sicurezza dei suoi sistemi SQL?
Stiamo sfruttando l’AI per migliorare il nostro database SQL distribuito affrontando le sfide di prestazioni e migrazione. Il nostro Performance Copilot, un miglioramento del nostro Performance Advisor, semplificherà la risoluzione dei problemi analizzando i modelli di query, rilevando le anomalie e fornendo raccomandazioni in tempo reale per risolvere i problemi di prestazioni del database.
Stiamo anche integrando l’AI in YugabyteDB Voyager, il nostro strumento di migrazione del database che semplifica le migrazioni da PostgreSQL, MySQL, Oracle (ORCL ) e altri database cloud a YugabyteDB. Ci proponiamo di semplificare le transizioni dai sistemi legacy automatizzando la conversione degli schemi, la traduzione SQL e la trasformazione dei dati, con controlli di compatibilità proattivi. Queste innovazioni si concentrano sul rendere YugabyteDB più intelligente, efficiente ed facile da usare per le applicazioni distribuite moderne.
Quali sono i principali vantaggi dell’utilizzo di un sistema SQL open-source come YugabyteDB nelle applicazioni cloud-native rispetto ai database proprietari tradizionali?
La trasparenza, la flessibilità e il robusto supporto della community sono i principali vantaggi dell’utilizzo di un sistema SQL open-source come YugabyteDB nelle applicazioni cloud-native. Quando abbiamo lanciato YugabyteDB, abbiamo riconosciuto lo scetticismo che circondava i modelli open-source. Ci siamo impegnati con gli utenti, che hanno espresso una forte preferenza per un database completamente open per affidarvi i loro dati critici.
Abbiamo inizialmente utilizzato un modello open-core, ma abbiamo rapidamente capito che doveva essere una soluzione completamente open. Gli sviluppatori si rivolgono sempre più a PostgreSQL come alternativa logica a Oracle, ma PostgreSQL non è stato progettato per piattaforme cloud dinamiche. YugabyteDB colma questa lacuna supportando la profondità delle caratteristiche di PostgreSQL per le infrastrutture cloud moderne. Essendo completamente open-source, rimuoviamo gli ostacoli all’adozione.
Questo ci rende molto attraenti per gli sviluppatori che costruiscono applicazioni business-critical e per gli ingegneri di operazioni che le eseguono su piattaforme cloud-native. Il nostro obiettivo è quello di creare un database che non solo sia open, ma anche facile da usare e compatibile con PostgreSQL, che rimane un preferito degli sviluppatori a causa del suo set di caratteristiche maturo e delle sue potenti estensioni.
La domanda di soluzioni SQL scalabili e adattabili sta crescendo. Quali tendenze stai osservando nel mercato dei database aziendali e come Yugabyte è posizionata per soddisfare queste esigenze?
La scalabilità maggiore nei database aziendali spesso porta a un aumento dei tassi di errore, soprattutto quando le organizzazioni gestiscono impronte più ampie e volumi di dati più elevati. Le tendenze chiave che plasmano il panorama del database includono l’adozione del DBaaS e un ritorno dal cloud pubblico agli ambienti cloud privati. Inoltre, l’integrazione dell’AI generativa porta opportunità e sfide, richiedendo l’automazione e l’ottimizzazione delle prestazioni per gestire il crescente carico di dati.
Le organizzazioni stanno sempre più rivolgendosi al DBaaS per semplificare le operazioni, nonostante le iniziali preoccupazioni relative al controllo e alla sicurezza. Questo approccio migliora l’efficienza in varie infrastrutture, mentre l’attenzione per le soluzioni cloud private aiuta le aziende a ridurre i costi e a migliorare la scalabilità per i loro carichi di lavoro.
YugabyteDB affronta queste esigenze in evoluzione combinando le caratteristiche dei database relazionali con la scalabilità delle architetture cloud-native. Caratteristiche come la Smart Data Distribution e l’Adaptive CBO migliorano le prestazioni e supportano un gran numero di oggetti del database. Ciò la rende una scelta competitiva per l’esecuzione di una vasta gamma di applicazioni.
Inoltre, YugabyteDB consente alle aziende di migrare le loro applicazioni PostgreSQL mantenendo livelli di prestazioni simili, fondamentale per i carichi di lavoro moderni. Il nostro impegno per lo sviluppo open-source incoraggia la partecipazione della community e fornisce flessibilità per i clienti che desiderano evitare il lock-in del fornitore.
Con l’aumento del calcolo edge e dell’IoT, come YugabyteDB affronta le sfide poste da queste tecnologie, in particolare per quanto riguarda la distribuzione dei dati e la latenza?
L’architettura SQL distribuita di YugabyteDB è progettata per affrontare le sfide poste dall’aumento del calcolo edge e dell’IoT, fornendo un livello di dati scalabile e resiliente che possa operare in modo nativo sia nel cloud che nel contesto edge. La sua capacità di suddividere e replicare automaticamente i dati garantisce una distribuzione efficiente, consentendo un accesso rapido e un’elaborazione in tempo reale. Ciò minimizza la latenza, consentendo alle applicazioni di rispondere prontamente alle interazioni degli utenti e ai cambiamenti dei dati.
Offrendo la flessibilità di adattare le configurazioni in base a specifiche esigenze dell’applicazione, YugabyteDB consente alle aziende di gestire efficacemente le loro esigenze di dati man mano che evolvono in un panorama sempre più decentrato.
Come Co-CEO, come bilanci i ruoli duali di leader dell’innovazione tecnologica e di gestione della crescita aziendale?
La nostra azienda si propone di semplificare le applicazioni cloud-native, costringendomi a stare al passo con le tendenze tecnologiche, come l’AI generativa e i cambi di contesto. Seguire l’innovazione richiede curiosità, il desiderio di fare un impatto e un impegno per l’apprendimento continuo.
Bilanciare l’innovazione tecnologica e la crescita aziendale è fondamentalmente una questione di scalabilità, sia che si tratti di scalare i sistemi o di scalare l’impatto. Nei database distribuiti, ci concentriamo sulla costruzione di tecnologie che scalano le prestazioni, gestiscono carichi di lavoro massicci e garantiscono un’elevata disponibilità su un’infrastruttura globale. Allo stesso modo, scalare Yugabyte significa crescere la nostra base di clienti, migliorare l’engagement della community e ampliare il nostro ecosistema, mantenendo al tempo stesso l’eccellenza operativa.
Tutto ciò richiede un approccio disciplinato alle prestazioni e all’efficienza.
Da un punto di vista tecnico, ottimizziamo l’esecuzione delle query, riduciamo la latenza e miglioriamo il throughput del sistema; a livello organizzativo, semplifichiamo i processi, scaliamo i team e miglioriamo la collaborazione cross-funzionale. In entrambi i casi, il successo deriva dall’abilitare i team con gli strumenti, le informazioni e i processi giusti per prendere decisioni intelligenti e basate sui dati.
Come vedi evolversi il ruolo dei database SQL distribuiti nei prossimi 5-10 anni, in particolare nel contesto dell’AI e del machine learning?
Nel prossimo futuro, i database SQL distribuiti evolveranno per gestire analisi di dati complesse, consentendo agli utenti di effettuare previsioni e rilevare anomalie con minime competenze tecniche. C’è un’enorme quantità di specializzazione del database nel contesto dell’AI e del machine learning, ma ciò non è sostenibile. I database devono evolversi per soddisfare le esigenze dell’AI. È per questo che stiamo iterando e migliorando le capacità su pgvector, assicurandoci che gli sviluppatori possano utilizzare Yugabyte per le loro esigenze di database AI.
Inoltre, ci aspettiamo un impegno continuo per l’open-source nello sviluppo dell’AI. Cinque anni fa, abbiamo reso YugabyteDB completamente open-source sotto licenza Apache 2.0, rafforzando il nostro impegno per un framework open-source e costruendo proattivamente la nostra community open-source.
Grazie per tutte le tue risposte dettagliate, i lettori che desiderano saperne di più possono visitare YugabyteDB.












