Tuesday, April 22, 2014

Virtualization Impact on Big Data

To make a big impact using Big Data, a company CIO needs to use cheap storage options which can scale in and scale out to satisfy the variety needs of big data.

Virtualization
 provides exactly the same option. Virtualization can further be divided into following categories:
  • Hardware Virtualization
  • Application Virtualization
  • Network Virtualization
  • Process and Memory Virtualization 
Each of these virtualization can have significant impact on Big Data platofrms. Some of the Virtualization benefits can be summed as:
  • Virtualization helps to ensure that big data platform can scale as needed to handle the large volumes and varied types of data included in data analysis.
  • An enterprise might not have the finances to procure the array of inexpensive machines for its first pilot. Virtualization enables companies to tackle larger problems that have not yet been scoped without a huge upfront investment.
  • Big data computing algorithms like Map reduce works well in a virtualized environment with respect to storage and computing. Amazon EMR encapsulates the MapReduce engine in a virtual container so that you can split your tasks across a host of virtual machine (VM) instances. Hence it provides better performance.
  • Virtualizing the network helps in improving the capability to manage the large distributed data required for big data analysis.


Sunday, April 20, 2014

Key aspects of a Big Data System

A big data solution must address the five Vs of big data:


  1. Velocity
  2. Variety
  3. Volume
  4. Veracity and
  5. Value

Velocity of the data is used to define the speed with which different types of data enter the enterprise and are then analyzed.

Variety addresses the unstructured nature of the data in contrast to structured data in weblogs, radio frequency ID (RFID), meter data, stock-ticker data, tweets, images, and video files on the Internet.

For a data solution to be considered as big data, the volume has to be at least in the range of 30–50 terabytes (TBs). However, a small amount of data could have multiple sources of different types, both structured and unstructured, that would also be classified as a big data problem.

Veracity refers to the trustworthiness of data. With many sources of data in structured and unstructured form, the quality and accuracy of data is uncontrollable. There can be various errors/complexities such as typos, newly formed abbreviations by digital natives, colloquial speech etc. Big data systems should allows us to work with such type of data.

Value is the final V which we need to consider the most. Until we are able to create a value out of such big data, its of no use. Accurate analysis and algorithms are needed based on special needs of the business. One big data volume can provide different values to different organizations based on the analytics applied on it. 

Technology Stack for a Commercial PhoneGap Mobile Application

I am into PhoneGap based mobile application development since last one year. PhoneGap based mobile application is nothing more than using HTML5 based technology stack. Most common technologies used in a PhoneGap based application are: HTML5, CSS3 and JavaScript. 

But now a days, lot of JavaScript frameworks have come which makes an application developer's life easy. Most of the time, I rely on following stack while developing a mobile hybrid application:

  • PhoneGap
  • HTML5
  • Backbone.js
  • Require.js
  • Handlebars
  • Underscore.js
  • jQuery Mobile
  • Custom Android/iOS Plugins
I would love to hear what technologies stack other developers are using for creating hybrid applications?

Working with Broken Images on Your Site

Your website is only as good as your content. Images play an important part of overall content strategy of your site. And if your web site is dependent on third party data feeds, it may create ugly content for your site because of broken images. 

Instead of shown as broken, you can replace the broken images with a "missing image" graphic that exists on your site to give better visual feedback. This can be done using a small JavaScript snipplet as follows:

$("img").error(function(){
     $(this).attr('src', 'known_pic.jpg');
});