2009-05-26 14 views
12

Voglio saperne di più su come creare applicazioni basate su CEP. Così mi sono guardato intorno e ho trovato diversi prodotti (panoramica trovata qui: http://rulecore.com/CEPblog/?page_id=47).Quale prodotto CEP per iniziare?

Ma poiché ce ne sono parecchie al momento, non so quale sia il migliore per iniziare. E nel complesso, considererei solo quello disponibile gratuitamente. Il resto è un po 'troppo costoso per uso privato;)

Esper è gratuito, ma senza Esper Studio sembra piuttosto noioso sviluppare un'app per i cep. Streambase offre una prova gratuita, ma non sono riuscito a scoprire per quanto tempo è possibile utilizzare questo (anche se solo per un mese, non è così utile per ricerche più lunghe). La suite Oracle CEP sembra abbastanza completa, ma nella scena dei cep - per quanto posso vedere - è la meno riconosciuta rispetto a Esper o Streambase.

Quindi avete qualche suggerimento su qual è il modo migliore per iniziare con lo sviluppo dei porcini? Vale la pena dedicare del tempo a lavorare attraverso la documenation oracle o è meglio iniziare con Esper o Streambase?

Cheers,

Andreas

+0

Sono curioso - ho voluto giocare con Esper, ma non ho potuto inventare niente di più che banale da fare. Che tipo di cose hai intenzione di costruire? –

+1

Intendo raggruppare i tweet in qualche tipo di eventi di base (ad esempio tweet con determinati tag, nomi utente, posizioni, ecc.), Inserire questi eventi in un cereale e provare a definire modelli ragionevoli su tali flussi. Esper sembra abbastanza buono, ma è piuttosto noioso quando devi scrivere un sacco di materiale di supporto (registrazione, registrazione delle dichiarazioni, mappatura degli eventi, ecc.). Un'edizione comunitaria di Esper Studio sarebbe perfetta per facilitare questo. –

+0

Beh, vorrei poter offrire più di una "buona fortuna", ma davvero non posso. Oltre a una cosa, che ho postato come risposta. –

risposta

10

Gli attuali strumenti CEP non risolvono problemi identici! Quindi, a seconda di cosa ti piace fare, ti piacerebbe usare diversi strumenti. In breve, le mie scelte personali sarebbero:

Per la costruzione di algoritmi basati su dati, la codifica in un tipo di SQL con estensioni - Il motore Coral8 di Aleri. Gratis per il test e lo sviluppo (era comunque prima acquistata da Aleri)

Per il rilevamento di modelli di eventi (situazioni), senza codifica (stile dichiarativo), ma la configurazione che utilizzano XML - RuleCore, abbonamento di prova gratuito al servizio di (Web)

Per un mix di entrambi con controllo e codifica di basso livello in Java - Esper, GPL.

Per creare una logica di calcolo basata sui dati utilizzando lo stile grafico di caselle e frecce della GUI: StreamBase.

2

penso che la scelta migliore è quello di confrontare le soluzioni che sono liberamente disponibili e poi fare qualcosa con loro.

Non sono sicuro quali sono i tuoi obiettivi finali, se si tratta di imparare una tecnologia che si utilizza al lavoro o semplicemente di giocare con qualcosa di interessante, ma per me in un progetto come questo, il fattore decisivo sarebbe quale strumento che posso usare per creare qualcosa che potrei condividere con il mondo.

In questo caso, le mie opzioni sarebbero probabilmente Esper o OpenESB. In questo modo, potrei mettere il progetto su un curriculum (specialmente se stavo facendo domanda per un lavoro che usava gli strumenti CEP) e condividerlo con il mondo.

1

ci sarebbe qualche interesse per un abbonamento gratuito a ruleCore (Cloud, SaaS o qualunque cosa siano chiamati oggi) Servizio? Funzionerebbe su hardware più piccolo e meno affidabile (senza cluster) e probabilmente utilizzabile solo per testare piccole cose a basso rendimento. Se [email protected] riceve un paio di richieste di questo tipo sono sicuro che sia inserito nell'elenco delle cose da fare ...

12

L'offerta CEP di Microsoft StreamInsight che richiama da vicino il modello di programmazione reattivo di Rx Framework e LINQ.

A Hitchhiker's Guide to StreamInsight Queries è un buon punto di partenza.

Some Code Examples

mi consiglia di utilizzare LINQPad che può collegarsi a Stream Insight come una tela per le vostre domande.

+0

C'è qualche suggerimento ufficiale sulla connessione dichiarata tra StreamInsight e RX-Framework? – pointernil

+1

@pointernil, c'è [now] (http://blogs.msdn.com/b/streaminsight/archive/2012/03/30/a-high-level-streaminsight-2-1-preview.aspx) – Benjol

+0

@ Benjol ringrazia per l'aggiornamento. In realtà stavo mettendo in discussione la parte "leverages ... Rx Framework"; È proprio vero che StreamInsight sta utilizzando le librerie RX per il suo nucleo interno? Riusare alcuni concetti? sicuro. Fornire una superficie API compatibile con Rx? certo, perché no. Usando RX nel kernal interno? Hmmm non è così sicuro;) – pointernil

1

Per rilevare i pattern di eventi, ho trovato che rulecore è piuttosto facile da usare. Ho solo provato a rilevare pattern di bassa e media complessità e questo ha funzionato bene. Ci vuole del tempo per abituarsi ai concetti, ma in realtà è un sistema molto piccolo, quindi non era poi così male. Ed è necessario come XML tutto ciò che viene fatto usando XML.

Se si sta tentando di creare un'applicazione di trading, StreamBase sarebbe migliore. Ma per il monitoraggio di roba, ci si sente meglio.

0

Vorrei iniziare con la prova gratuita di Aleri Coral8 (attualmente Sybase)

+0

Its now Sybase CEP R4 – BozoJoe

1

Se si dispone di flussi continui (mercato nutre, sensori dell'Internet degli oggetti, Twitter, notizie, ecc), la tecnologia allora Stream Processing è la scelta giusta per tu. L'analisi del flusso/analisi del flusso è solo una parte delle diverse soluzioni CEP (flussi, regole, schemi, ecc.).

Ci sono diverse opzioni open source per l'elaborazione del flusso nel frattempo, ad es. Apache Storm, Apache Spark o Apache Samza, ma anche potenti prodotti proprietari come IBM InfoSphere Streams, TIBCO StreamBase o Software AG Apama.

Date un'occhiata al mio post sul blog, rispettivamente, articolo per ulteriori dettagli su diverse soluzioni di elaborazione flusso e di streaming analytics (open source e proprietarie):

Comparison of Stream Processing and Streaming Analytics Alternatives (Apache Storm, Spark, IBM InfoSphere Streams, TIBCO StreamBase, Software AG Apama)