Can Elastic make your Stack better ...

Can Elastic make your Stack better ...

The moment you hear the word elastic what is that hit our mind first - something that is stretchable, resilient, flexible, or adaptable. And what are the initial thoughts that comes to our mind on hearing word elasticsearch - a search engine, an index, a database, a logging and analytic dashboard, a monitoring tool, a query fine tuning framework, a document store, a fast, scalable, distributed engine and much more .. So the truth is all of these apply to elasticsearch in some or other form.

No alt text provided for this image

To define elasticsearch it is an open-source fast, scalable, distributed search and analytic engine based on Apache Lucene that's developed in Java to handle some real-time problems. We can also think of it as a server that accepts some JSON requests and returns back JSON response data. So if we see elasticsearch actually it go by its names i.e. elastic which makes a stack stretchable, resilient in all kind of environment(s), flexible and adaptable as per requirement.

Key concepts that comes under umbrella of elasticsearch:

No alt text provided for this image

Documents - the smallest and basic entity that could be source of some information or data in a Database which is expressed in JSON. It's like a row in RDBMS. Each document will have a unique ID and data type, that describes kind of document it is.

No alt text provided for this image

Indices - collection of similar type of documents. An entity against which we query in elasticsearch. Similar to a database in RDBMS. An index is referred by its name while performing operations -indexing, search, update, and delete against the set of documents in an index.

No alt text provided for this image

Inverted Index - the hashmap like data structure that stores all mappings from contents to its location in document(s). It directs search from a word to a document.


No alt text provided for this image

Shards - subdividing an index into multiple pieces. This ensures redundancy to protect against failures and increases query capacity in a clustered environment with multiple nodes.


ELK Stack [Elasticsearch + Logstash + Kibana stack] - a set of tools for ingesting, storing, analysing, enriching and visualising data. This stack includes components like Elasticsearch, Kibana, Logstash, Beats.

Kibana a visualisation and monitoring dashboard for search and navigation that helps to shape the data by analysing logs of how data is distributed.

Logstash a data pipeline used for data aggregation, processing, publishing and sending it to elasticsearch.

No alt text provided for this image

Beats an agent that is used to send data from multiple systems to Logstash or Elasticsearch.

No alt text provided for this image

Elasticsearch can be used for many real-time scenarios like analysing customer purchase patterns for e-commerce, tracking performance metrics of a web applications to analyse incoming traffic, as a data store for recording database transaction logs, as full text search, for faceted search, for text split and words stemming, as Rest API like bulk indexing that makes it possible to perform as many index/delete operations in a single API call which can greatly increase the indexing speed. Similarly there could be many more possible uses of elasticsearch.

No alt text provided for this image

Apart from number of use-cases elastic search have in today's sophisticated work environment where data is produced every second elastic search provides multiple benefits - like reducing latency rate of search and making it fast. Then it is distributed by nature, can be used as data storage, ELK stack simplifies processes of data ingestion, visualisation and monitoring.

So this is the beauty of this stack which is elastic in nature simplifying some real-time challenges in today's complicated work environment...

要查看或添加评论,请登录

Karuna Puri的更多文章

社区洞察

其他会员也浏览了