Complex Event Processing with Ms StreamInsight

Complex Event Processing

Complex Event Processing merupakan sebuah skenario teknologi pengaksesan dan pengolahan data berdasar atas event sebagai pelatuk (trigger)-nya. CEP fokus menangani pemrosesan event yang sedang terjadi dan yang tidak diperlukan. Event – event tersebut dianalogikan sebuah aliran yang selalu mengalir melalui CEP.

Konsep penggunaan database pada CEP berbeda dengan konsep penggunaan database pada Database Management System (DBMS). Pada CEP, data diperlakukan sebagai sebuah aliran yang diputar terus menerus. Oleh karena itu, CEP biasanya juga disebut sebagai Data Stream Management System (DSMS). Berikut merupakan ulasan penjelasan konsep penggunaan database pada CEP:

 

gambar 3

Pada penggunaannya CEP memisahkan penggunaan database berdasarkan proses yang akan digunakan. Jika proses tersebut berupa business events maka segala proses tersebut diolah menggunakan stream processor dan diperlihatkan pada Real-Time Application. Bila menggunakan Business Transactions maka diproses pada database dan dapat diakses serta diperlihat pada Traditional Business Intelligence Application

gambar 4

Di dalam implementasinya, skenario CEP ditangani oleh sebuah platform atau aplikasi CEP. Aplikasi CEP berperan sebagai entitas yang memonitor dan melakukan manajemen event: mengenali semua event yang terjadi, mengatur event yang menjadi pelatuk, dan menentukan reaksi apa yang akan terjadi setelahnya. Contoh – contoh aplikasi CEP adalah Microsoft StreamInsight 1.2, StreamBase 7.0, SQLSTream, dll.

Berikut merupakan tabel perbandingan antara aplikasi database dengan aplikasi berbasis event:

 

Database Applications

Event-driven Applications

Paradigma Query

Query dan request sebagai pengawal saja

Query yang berkelanjutan

Latensi

Detik, jam, hari

Milidetik

Data Rate

Ratusan event / detik

Puluhan ribu event / detik

Query Semantics

Analisis yang Relational dan Deklaratif

Declarative relational and temporal analytics

Microsoft StreamInsight

Microsoft StreamInsight merupakan platform tangguh dalam mengembangkan dan melakukan deploy­ment aplikasi Complex Event Processing (CEP). Arsitektur pengolahan data stream yang baik yang dimiliki oleh Microsoft StreamInsight dengan didukung integrasi dengan teknologi .Net memungkinkan pengembang untuk mengembangkan aplikasi CEP dengan lebih efisien. StreamInsight memungkinkan pengembang aplikasi CEP untuk keuntungan proses bisnis data mentah dengan menurunkan cost dari proses ekstraksi, analisis, dan kolerasi data.

Pada Microsoft StreamInsight terdapat tiga fase perputaran aliran data. Fase – fase tersebut adalah sebagai berikut:

gambar 5

Mangatur proses dan menganalisis event dan respon trigger yang didefinisikan pada Key Performance Indicator (KPI).

StreamInsight merespon dengan cepat segala bentuk kesempatan atau ancaman dengan memasukkan definisi KPI ke dalam logika aplikasi CEP. Dengan demikian terjadi peningkatan efisiensi operasional dan peningkatan kecepatan respon.

Memonitor data yang berasal dari berbagai sumber dengan membuat pola, tren, pengecualian, dan kemungkinan yang akan terjadi.

StreamInsight menganalisis dan mengkolerasikan data secara bertahap selama data masih belum digunakan untuk menghasilkan latensi yang sangat rendah. Selanjutnya, dilakukan agregrasi dari event – event yang tidak saling berhubungan dari berbagai sumber dan melakukan analisis secara kompleks.

Menggali event untuk membuat KPI yang baru.

StreamInsight Melakukan proses penggalian data secara berkelanjutan guna memperbaiki dan meningkatkan KPI.

Terdapat beberapa keutamaan dalam membangun aplikasi CEP dengan menggunakan StreamInsight. Berikut merupakan kelebihan – kelebihan StreamInsight :

Performa yang Optimal

StreamInsight menerapkan arsitektur streaming yang ringan dan mampu mengeksekusi dengan sangat cepat query yang berkelanjutan secara paralel. Penggunakan cache memori internal dan hasil komputasi yang bertahap berdampak pada performa pengolahan data besar dengan latensi yang rendah. Latensi atau waktu tunda yang rendah disebabkan karena event – event yang diproses tanpa melalui proses penyimpanan dan pemanggilan data pada alamat tertentu.

Dengan StreamInsight, seluruh proses dipicu secara otomatis oleh event yang terjadi pada saat itu. Pada suatu kasus, aplikasi tidak perlu mengatur event – event yang digunakan atau tidak. Platform menyediakan penanganan event yang sudah tidak dipakai. Sistem dapat mengakses referensi yang bersifat statis dan riwayat – riawayat data.

Menggunakan Teknologi Rancang Bangun .NET

Pengembang dapat membuat aplikasi CEP dengan menggunakan kakas dan bahasa yang familiar seperti Ms Visual Studio, C#, atau LINQ (Language Integrated Query) sebagai bahasa untuk melakukan proses query. StreamInsight juga memanfaatkan fitur .NET 4 seperti interface IEnumerable dan Iobservable, sehingga memungkinkan meningkatan kecepatan baik dalam hal pembuatan prototype atau pembangunan aplikasi CEP .

Dengan menggunakan LINQ, pengguna yang familiar dengan SQL akan dapat secara mudah menuliskan query secara deklaratif dan dapat mengkolerasikan berbagai macam query menjadi hasil yang tepat guna. Sistem peningkatan performa dan penjadwalan pada server CEP memastikan performa yang optimal dalam setiap query yang dilakukan.

Visualisasi dan analisis CEP Query

StreamInsight Event Flow Debugger merupakan kakas tangguh untuk memungkinkan melakukan inspeksi terhadap query yang berkelanjutan. Query ditampilkan dengan secara visual sehingga pengembang mudah melakukan analisis terhadap query.

Prosedur Penyebaran (Deployment) yang Fleksibel

gambar 6

StreamInsight mendukung dua skenario penyebaran. StreamInsight dapat diintegrasikan dalam aplikasi dan ditanam dalam bentuk DLL atau dilakukan proses deployment secara terpisah bersama dengan berbagai aplikasi dalam server. Pada skenario kedua, server CEP akan membungkus aplikasi CEP dan dijalankan sebagai Windows Service.

Contoh Aplikasi Berbasis Complex Event Processing

Complex Event Processing dapat diimplementasikan dalam pembangunan perangkat lunak di bidang finansial, manajemen catudaya, kesehatan, webmonitoring, manajemen telekomunikasi, IT monitoring, ataupun logistik.

Misalnya pada bidang finansial. CEP dapat dimanfaatkan dalam pembangunan aplikasi monitoring secara realtime informasi bursa efek yang notabene berubah setiap detiknya. Prosedurnya adalah sebagai berikut:

gambar 7

Sumber – sumber data mengenai keuangan, baik dari feed online, dokumen offline, atau sumber lainnya, dimasukkan ke dalam sistem. Sistem, yang didalamnya sudah terdapat platform CEP, akan mengelola aliran data. Data akan di-push jika diperlukan untuk disajikan dan data akan di-pull jika diperlukan pengambilan data. Data diputar seperti itu secara berkelanjutan.

gambar 8

Contoh lain adalah penggunaan CEP pada aplikasi monitoring pengaksesan web. Tiap pengguna yang mengakses web akan didapatkan alamat IP-nya. Dengan demikian akan dapat dispesifikasikan di daeram mana saja yang sedang mengakses alamat web tertentu pada saat itu juga.

Tinggalkan Jejak

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s