Apache Kudu è un sistema di archiviazione a colonne gratuito e open source sviluppato per Apache Hadoop. È un motore destinato ai dati strutturati che supporta l'accesso casuale a bassa latenza (con tempi di accesso nell'ordine dei millisecondi) a righe singole insieme a modelli di accesso analitici efficienti. È un motore per i Big Data creato per colmare il divario tra l'Hadoop Distributed File System [HDFS], ampiamente utilizzato, e il database NoSQL HBase.
Apache Kudu combina i vantaggi di HBase e Parquet. È veloce quanto HBase nell'inserimento dei dati e quasi quanto Parquet nelle query analitiche. Supporta più tipi di query, consentendo di eseguire le seguenti operazioni:
Apache Kudu utilizza l'algoritmo di consenso RAFT e può quindi essere scalato orizzontalmente verso l'alto o verso il basso in base alle necessità. Inoltre, è dotato di supporto per la funzione di aggiornamento sul posto.
Apache Kudu è ottimizzato per SSD ed è progettato per sfruttare al meglio le memorie persistenti di prossima generazione. Può scalare decine di core per server e avvalersi di operazioni SIMD per l'elaborazione di dati in parallelo.
Include una "slowly changing dimension", o SCD. Questa funzionalità consente all'utente di tenere traccia delle modifiche all'interno di un dato dimensionale di riferimento.
Vuoi accedere ai dati tramite SQL? Sarai felice di sapere che Apache Kudu si integra perfettamente con Apache Impala e Spark. Potrai quindi utilizzare questi strumenti per inserire, interrogare, aggiornare e cancellare dati dai tablet Kudu utilizzando la loro sintassi SQL. Tramite Impala, potrai inoltre utilizzare JDBC o ODBC per collegare ai tuoi dati Kudu applicazioni esistenti o nuove, indipendentemente dal linguaggio in cui sono state scritte, framework e persino strumenti di Business Intelligence.
