KEPLERO IOT EVENT&DATA DRIVEN PLATFORM - DATA - PADOVA - BNOVA

Pagina creata da Nicolo' Marchesi
 
CONTINUA A LEGGERE
KEPLERO IOT EVENT&DATA DRIVEN PLATFORM - DATA - PADOVA - BNOVA
Keplero IoT Event&Data Driven
Platform
DATA - PADOVA
KEPLERO IOT EVENT&DATA DRIVEN PLATFORM - DATA - PADOVA - BNOVA
RELATORI

Filippo Palleri
CEO @ Keplero
KEPLERO IOT EVENT&DATA DRIVEN PLATFORM - DATA - PADOVA - BNOVA
AGENDA
• Keplero Internet of Things
   •   IoT vs M2M

• La suite Keplero
   •   Presentazione della suite
   •   Dati: Modellazione ed acquisizione eventi
   •   Regole ed azioni: Manipolazione e monitoraggio degli stream
   •   Real Time Analytics: Creazione e visualizzazione delle dashboard
   •   Apps e progetti: customizzazioni della piattaforma

• Keplero + Vertica : riduzione del TTM su applicazioni Business Critical
• Case Study: analisi telemetrie satellitari

• Q&A
KEPLERO IOT EVENT&DATA DRIVEN PLATFORM - DATA - PADOVA - BNOVA
Internet of things
L'Internet delle cose è una possibile evoluzione dell'uso della Rete: gli oggetti (le "cose") si
rendono riconoscibili e acquisiscono intelligenza grazie al fatto di poter comunicare dati su se
stessi e accedere ad informazioni aggregate da parte di altri.
…

L'obiettivo dell'internet delle cose è far sì che il mondo elettronico tracci una mappa di quello
reale, dando un'identità elettronica alle cose e ai luoghi dell'ambiente fisico.
[Wikipedia]
KEPLERO IOT EVENT&DATA DRIVEN PLATFORM - DATA - PADOVA - BNOVA
IoT vs M2M

                         M2M                           IoT
Comunicazione fra macchine     Comunicazione fra oggetti tramite rete internet

Protocolli proprietari         Standard aperti
Applicazioni dedicate          Servizi
Soluzioni Verticali            Soluzioni Trasversali
KEPLERO IOT EVENT&DATA DRIVEN PLATFORM - DATA - PADOVA - BNOVA
La suite Keplero
KEPLERO IOT EVENT&DATA DRIVEN PLATFORM - DATA - PADOVA - BNOVA
La suite Keplero
             Scopo                       Real Time Processing                      Middleware
General-purpose monitoring and
                                          Consente l'acquisizione e
    control system basato                                                  La piattaforma costituisce un
                                      l’elaborazione in tempo reale di
        su eventi e dati                                                     middleware dedicato alla
                                         dati provenienti da qualsiasi
(Event&Data Driven Information                                             realizzazione di soluzioni IoT
                                      processo produttivo, industriale
           System)                                                                    verticali
                                                 e/o operativo

        End-to-End IoT               Ambiente di sviluppo integrato                  Modalità
                                                                           Piattaforma distribuita sia in
                                     Keplero integra tutti gli strumenti
Progettata per supportare tutto il                                                modalità SaaS
                                        di Progettazione e sviluppo
 ciclo di sviluppo di applicazioni                                           (Software-as-a-Service)
                                     all’interno di un’unica interfaccia
                IoT                                                               sia on-premise
                                                     web
KEPLERO IOT EVENT&DATA DRIVEN PLATFORM - DATA - PADOVA - BNOVA
La suite Keplero
KEPLERO IOT EVENT&DATA DRIVEN PLATFORM - DATA - PADOVA - BNOVA
La suite Keplero
                                I2B:
                      Iot 2 Business Platform

                   Tutti gli strumenti di gestione
                   e di sviluppo sono web-based
                     e completamente integrati
                     all’interno di un’interfaccia
                     web semplice ed intuitiva
KEPLERO IOT EVENT&DATA DRIVEN PLATFORM - DATA - PADOVA - BNOVA
Dati: Modellazione ed acquisizione eventi

                                       L’Event Modeler è uno
                                    strumento di modellazione e
                                   gestione di tutti i tipi di evento
                                    acquisibili dalla piattaforma

                                    Permette la modellazione di
                                    protocolli di comunicazione a
                                     basso livello. Costituisce il
                                       punto di partenza della
                                         progettazione E2E
Regole ed azioni: Manipolazione e monitoraggio degli stream
                                           Il Rule Editor è un’interfaccia di
                                               creazione, monitoraggio e
                                              gestione di tutte le logiche di
                                           elaborazione implementate sulla
                                                      piattaforma

                                           Permette di sviluppare business
                                             logic utilizzando il linguaggio
                                           nativo del motore di correlazione
                                           della piattaforma, utilizzando un
                                               editor di codice integrato

                                           Tutte le logiche sviluppate sono
                                             immediatamente disponibili
                                                   (Hot Deployment)
Regole ed azioni: Manipolazione e monitoraggio degli stream
                                                PowerFlow è un designer
                                                  grafico che permette di
                                                    definire in completa
                                                   autonomia logiche di
                                                 elaborazione dati in real-
                                                            time

                                                  Consente di realizzare
                                                  flussi di acquisizione,
                                                 elaborazione e controllo
                                                 real-time degli eventi in
                                                   modalità drag&drop

                                               Dispone di una ricca libreria
                                                di Connettori, Operatori e
                                                      Azioni (Sink)

                                                     L’architettura
                                               completamente estensibile
                                               permette la realizzazione di
                                                  componenti custom
Real Time Analytics: Creazione e visualizzazione delle dashboard
                                                             Il Dashboard Designer
                                                        interattivo permette di realizzare
                                                          in maniera semplice e veloce
                                                         cruscotti real-time con diverse
                                                        modalità di visualizzazione dati.

                                                           I Dashboard realizzati con il
                                                             Designer sono pubblicati
                                                        all’interno dell’area Analisi Real-
                                                               Time della piattaforma

                                                        I Dashboard includono funzioni
                                                         interattive: riposizionamento ,
                                                          chiusura ed eliminazione dei
                                                        widget, full-screen, selezione ed
                                                                   export aree

                                                           I Dashboard prodotti sono
                                                          esportabili su Portali esterni
                                                          direttament mediante portlet
                                                               dedicate (JSR-168)
Apps e progetti: customizzazioni della piattaforma
                                                     L’architettura pluggable della
                                                     piattaforma Keplero permette
                                                        di realizzare applicativi
                                                         verticali: Keplero Apps

                                                     Le Keplero Apps estendono le
                                                       funzionalità ed i campi di
                                                     applicazione della piattaforma

                                                     Possono essere usate come
                                                       applicativi indipendenti
                                                     oppure come estensioni dela
                                                         piattaforma centrale
Keplero + Vertica : riduzione del TTM su applicazioni Business Critical
Case Study: analisi telemetrie satellitari

                                             APP Krishna
Case Study: analisi telemetrie satellitari
Tool di data analysis and fast data processing
                                                 Web based responsive: sistema accessibile
                                                  da qualsiasi dispositivo dotato di browser

                                                  Prestazioni massime: Vertica database
                                                   colonnare ideato per le massimizzare le
                                                        performance su large data set

                                                 Elaborazione real time: Keplero piattaforma
                                                           di data stream analysis

                                                 Modularità e flessibilità: sistema adattabile
                                                       ai cambiamenti e scalabile sia
                                                    orizzontalmente che verticalmente

                                                   Integrazione: facilità di integrazione con
                                                   sistemi informativi esterni e legacy (API,
                                                             accesso DB, altro …)

                                                    estendibilità: diverse app sulla stessa
                                                                  piattaforma
Case Study: analisi telemetrie satellitari

              Sistema                            Filtri                        Aspetto
     • Autenticazione e              •   Aggregazione dimamica       •    Customizzazione
       profilazione                      dei dati su base                 tipologia e aspetto del
     • Configurazione e selezione        temporale                        plot
       dinamica delle sorgenti       •   Zoom con data-drill         •    Assi multipli e multiscala
       dati                          •   Selezione del sample
                                         rate

                Utility                       Funzioni                            Plot
     •   Visualizzazione dati plot
                                     •   Funzioni semplici       •       Plot dinamici e navigabili
     •   Export del grafico
                                     •   Funzioni composite      •       Plot misti analogici,
         informato jpg
                                                                         digitali e funzioni
     •   Navigazione dinamica del
                                                                 •       Single page, drag drop
         plot con tracce
                                                                         interface
         indipendenti
GRAZIE
Contatto: f.palleri@keplerotech.com
Copy data to Vertica

     COPY  FROM  | STDIN;
     COPY  FROM  | STDIN DIRECT; (>100 MB bulk loads).

                                       …
                                       COPY table01 FROM file01.csv;
                                       …

                       CSV files
                                                                          Tables

20
TIME_SLICE() - Time interval based aggregation
     ▪ Time interval based aggregations are quite common
     ▪ Problem:
       - Suppose you have data (purchases, web site visit, etc) irregularly distributed over time
       - You might want to produce aggregated data over regular interval.
       - For example:
        - MIN/MAX temperature every minute
        - AVG number of “visitors” per hour
        - Etc.

     ▪ This is the very easy in Vertica thanks to functions like TIME_SLICE()
     ▪ Let’s see how TIME_SLICE() works using an example…

21
TIME_SLICE() example
     ▪ We have a table with a time series and we want to count the number of events and the sum of event’s
       values in intervals of one minute:
        SQL>  SELECT * FROM tseries;
                ts          | value
       ---------------------+-------
        2015-05-21 23:08:02 |    27
        2015-05-21 23:08:11 |    26
        2015-05-21 23:08:20 |    30
        2015-05-21 23:08:52 |    28
        2015-05-21 23:09:03 |    27
        2015-05-21 23:11:18 |    20                     SQL> SELECT TIME_SLICE(ts, 1, 'minute’),
        2015-05-21 23:16:38 |    13                                 COUNT(*) AS num, SUM(value)
        2015-05-21 23:16:49 |    12                          FROM tseries GROUP BY 1 ORDER BY 1 ;

                                                             time_slice      |   num | sum
                                                        ---------------------+-------+-----
                                                         2015-05-21 23:08:00 |     4 | 111
                                                         2015-05-21 23:09:00 |     1 | 27
                                                         2015-05-21 23:11:00 |     1 | 20
                                                         2015-05-21 23:16:00 |     2 | 25

22
TABLESAMPLE() - Sample a subset of data
     ▪ Random selection of a portion of a table
     ▪ Problem:
       - Suppose you have a massive amount of data (purchases, web site visit, etc)
       - You might want extract a portion of the data to test you program or algorithm

     ▪ Vertica provides TABLESAMPLE function for this:
     ▪ Example:
                              SELECT * FROM table TABLESAMPLE(10);

                                                                            extract 10% of the data

     ▪ You can use BALANCE() function to re-balance a data sample

23
DETECT_OUTLIERS()
     ▪ Outliers are data points that greatly differ from other similar data points
     ▪ Leaving outliers in your data, you risk misclassifying data, introducing bias, or incorrect calculations

     ▪ Vertica provides DETECT_OULIERS() function for this.

24
Outliers detection example
     SQL> select * from cities ;
     nation |city          |   population
     --------+-------------+-------------
     RU      |Moscow       |     121975964
     UK      |London       |       8416500
     US      |New York     |       8491079
     US      |Los Angeles |        3884307
     CN      |Guangzhou    |      12700800   select detect_outliers('public.citout', 'public.cities',
     CN      |Tianjin      |      14722100                           'population', 'robust_zscore'
     CN      |Beijing      |      21516000          using parameters
     CN      |Shanghai     |      24150000            partition_columns='city');

                                                     SQL> select * from public.citout;
                                                       city | population
                                                     --------+------------
                                                      Moscow | 121975964

25
Puoi anche leggere