Friday, April 29, 2016

WSO2 Data Analytics Server: Introduction

WSO2 Data Analytics Server(DAS) is a full blown analytics platform which fuses together batch analytics, stream analytics, predictive analytics and interactive analytics in to a single package (how convenient is that?).

This post would (hopefully) act like a FAQ list to DAS new bees!!

Oh, by the way WSO2 DAS is completely open source AND free ( free as in speech and as in free beer :) ). So please be sure to give it a go and play around with the code! And do drop by to our mailing lists [2], we are a open community at WSO2!

Introduction:


The image below summarizes WSO2 DAS elegantly.

Analytics-diagram-v2.jpg

In the simplest terms,
1. It can collect the data from various sources (HTTP, Thrift, External Databases, even the WSO2 ESB! and much more).
2. Run various types of analytics on the data
3. Communicate the results through various ways ( alerts, dashboards ... etc)


So What's underneath?


For batch analytics, we use Apache Spark [3], a clustered large-scale computing framework with upto 100x performance as Apache Hadoop.

WSO2 Siddhi is one of the most powerful complex event processors around. (Even Uber is using siddhi underneath ;) ). Siddhi powers the real time analytics in DAS. 

Apache Lucene, a high performance full text search engine[4], is powering our interactive analytics.  

Predictive analytics is powered by immensely powerful algorithms that extends the Apache Sparks' MLlib package. It helps you build models of the data which can then be used to run analytics against!.

Okay! what are the "other" advantages? 


I'm glad you asked!

  • Single API for all kinds of processing
    You just want to publish data once and get it over with? Yep, that's how we do it.
  • Pluggable data storage support
    Want to run on HDFS? no problem!
    Already have a Cassandra cluster? we've got that covered!
  • Extremely fast writes!
    Asynchronous and non-blocking nature of our publishing allows extremely fast writes for data!
  • Multiple data publishing methods
    Publish data through PHP, python, java, c++ ...etc
    JMX publishers, log publishers and many more!

What can I do with the analyzed data?

Well, simply put, a lot!

We have built in support for interactive dashboards as shown below. You can view and analyze the data in hundreds of ways.

  

You can also send alerts!! 

You want to send SMSs, Emails for a particular type of occurrence? IT'S BUILT IN!

Want more?
Couple this with WSO2 ESB[5] and the options are limitless.
You can even send pagers, or better yet, trigger a physical alarm!! How cool is that?


WSO2 Data Analytics Server is an extremely powerful tool and I hope this gave a very brief but a fairly comprehensive introduction to the DAS server.

Refer to the documentation to for more details [6]

[1] http://wso2.com/products/data-analytics-server/
[2] http://wso2.com/mail/
[3] http://spark.apache.org/
[4] https://lucene.apache.org/core/
[5] http://wso2.com/products/enterprise-service-bus/
[6] https://docs.wso2.com/display/DAS301/WSO2+Data+Analytics+Server+Documentation