Apache Phoenix

Apache Phoenix è un motore di database relazionale open source, a elevato parallelismo, che supporta OLTP per Hadoop e utilizza Apache HBase come archivio di supporto. Consente agli sviluppatori di accedere a set di dati di grandi dimensioni in tempo reale con la familiare interfaccia SQL.

  • API SQL e JDBC standard con funzionalità di transazione ACID complete
  • Supporta il binding dinamico e lo schema-on-read dei dati esistenti in HBase
  • Accede ai dati memorizzati e prodotti in altri prodotti Hadoop come Spark, Hive, Pig, Flume e MapReduce

Cosa fa Phoenix

Apache HBase fornisce un accesso casuale e in tempo reale ai dati in Hadoop. È un sistema molto adottato nell'ecosistema Hadoop. Apache Phoenix estrae l'archivio dati sottostante e consente di fare delle query sui dati con SQL standard tramite un driver JDBC. Apache Phoenix offre funzionalità come gli indici secondari che consentono di velocizzare le query senza che sia necessaria una specifica programmazione di chiavi di riga specifici.

Apache Phoenix è inoltre un sistema a elevato parallelismo in cui vengono eseguite query di aggregazione sui nodi in cui sono archiviati i dati, riducendo notevolmente la necessità di inviare dati sulla rete.

Feature Description
Familiar Query data with a SQL-based language
Fast Real-time queries
Reliable Built on top of proven data store HBase
Platform agnostic Hortonworks’ Phoenix provides ODBC connector drivers, allowing you to connect to your dataset using familiar BI tools.

Come funziona Phoenix

Phoenix offre un rapido accesso a una grande quantità di dati. La scansione completa di una tabella di 100 milioni di righe viene in genere completata in 20 secondi (tabella stretta su un cluster di medie dimensioni). Questo intervallo si riduce a pochi millisecondi se la query contiene un filtro su colonne chiave. Per i filtri su colonne non chiave o colonne chiave non iniziali, è possibile aggiungere degli indici secondari alle colonne: in questo caso si ottengono prestazioni equivalenti a quelle del filtro sulla colonna chiave grazie a una copia della tabella in cui le colonne indicizzate sono parte della chiave.

Perché Phoenix è veloce anche quando si esegue la scansione completa:

  1. Phoenix esegue la suddivisione in blocchi della query utilizzando i confini di regione ed esegue tali blocchi in parallelo sul client utilizzando un numero configurabile di thread
  2. L'aggregazione viene eseguita in un coprocessore sul lato server, che pertanto, invece di restituire al client tutti i dati, ne riduce la quantità.

Your form submission has failed.

This may have been caused by one of the following:

  • Your request timed out
  • A plugin/browser extension blocked the submission. If you have an ad blocking plugin please disable it and close this message to reload the page.