Using ElasticSearch for Big Data Analysis
Learn how leveraging ElasticSearch to build the data infrastructure makes it easier to linearly scale as new data nodes are added in the future.
Join the DZone community and get the full member experience.Join For Free
Collecting data is good and collecting Big Data is better, but analyzing Big Data is not easy. It requires knowledge of enterprise search engines for making content from different sources like enterprise databases, social media, sensor data, etc. searchable to a defined audience. ElasticSearch, Apache Solr, and Sphinx are some of the free and open-source enterprise search software.
While applications of ElasticSearch have advanced to Machine Learning, in this blog, I have tried to summarize a simple use case for Big Data analysis using ElasticSearch. ElasticSearch recently added Machine Learning algorithms to its enterprise stack for the purpose of finding anomalies in time-series log data.
Key Benefits of ElasticSearch Implementation
ElasticSearch is used for web search, log analysis, and Big Data analytics. ElasticSearch is more popular because it is easy to install, it scales out to hundreds of nodes with no additional software, and it is easy to work with due to its built-in REST API. Following is the summary of key benefits; for a detailed account, check out this article.
Ease of indexing.
How to Leverage ElasticSearch for Big Data Analysis
Check out this study of how ElasticSearch is employed by GitHub to meet the search needs of GitHub’s users, while simultaneously providing strategic insights that help improve customer service. To solve this problem, GitHub used Elasticsearch and index critical event data to index its code repositories. GitHub uses ElasticSearch to index new code as soon as users push it to a repository on GitHub. This way, ElasticSearch converts data from RDBMS form to NoSQL form. The data in the NoSQL form can be searched immediately after the users upload it in the RDBMS store. ElasticSearch returns search results for both public repositories, and logged-in users can see search results for any private repositories that they can access.
At Maruti Techlabs, we have a challenge of combining structured and unstructured data for big data analysis. We want to improve the user experience in searching data of used car parts for our client based in Austin, Texas. A potential customer can find used parts for his car on this portal. A huge amount of data (around 42 million) affects the usability of the system performance and query response time. We have designed a solution that brings Big Data stores and traditional RDBMS toolsets to a single, unified data analytics platform that enables analysts to access any amount of data of any type for any analysis at any time. Both SQL and NoSQL technologies are being utilized for making an efficient big data analytics ecosystem. We implement logic to convert data collected from clients in RDBMS databases to NoSQL form. This new NoSQL database is analyzed by ElasticSearch. So when data from vendors is maintained on the SQL server, it is simultaneously fed into ElasticSearch.
Using ElasticSearch, there was a significant reduction (33 percent) in average query response time in the portal. Scalability is another additional benefit of this new architecture. Leveraging ElasticSearch to build the data infrastructure has made it easier to linearly scale as new data nodes are added in the future.
Published at DZone with permission of Rohit Akiwatkar. See the original article here.
Opinions expressed by DZone contributors are their own.