The Customer and Their Product’s Scope
Our customer is a global transportation solutions provider with a prominent presence in Europe and the USA. Primarily, they provide end-to-end solutions for the public transportation and mobility domains which include automatic fare collection systems and intermodal transport control systems. Both systems have support provided for back-office and front-office operations.
Their Automatic Fare Collection Back-office (AFC BO) system is used in physical locations, web portals and automatic vending machine to sell personalized travel subscriptions or anonymous travel subscriptions.
The Customer’s Critical Requirements
The customer wanted to ensure the presence of the following in their AFC BO system:
Our Solution’s Approach
Any relational database works comparatively slower while handling huge data sets. This slows down the fetching of search results through queries from the database. An optimized relational database management system (RDMS) could solve this issue, but that also comes with its own set of limitations. Not every field can be indexed, and updating all rows to heavily indexed tables is a lengthy and painful process. Businesses therefore, look for alternate data storage methods for ensuring quick retrieval of necessary details. This can be achieved by adopting NoSQL instead of a RDBMS for storing necessary data.
Our proposed solution integrated Elasticsearch to the existing system as a secondary storage. This was done by storing denormalized data in a single document to quicken the data retrieval process. The elastic data was in constant sync with normalized RDMS data. We also provided a centralized logging system by adopting an ELK (Elasticsearch, Logstash, and Kibana) stack.
Let us delve into Elasticsearch as an open source tool, to see how its implementation helped meet the customer’s requirements.
Understanding Elasticsearch
Elasticsearch is an open source search and analytics engine based on the Lucene library. It provides a distributed, multitenant-capable full-text search engine with a HTTP web interface and schema-free JSON documents. It is developed in Java and supports clients in multiple languages. As a document-oriented search engine, it is designed to store, retrieve, and manage data, be it document-oriented, structured, unstructured, or semi-structured in nature.
Elasticsearch has its own Query Domain Specific Language, wherein you specify the query in JSON format. The query DSL is powerful and designed to handle real world query complexity through a single query.
Elasticsearch Use Cases
Some of the use cases for Elasticsearch are as follows:
Benefits of Elasticsearch
Compared to most NoSQL databases, Elasticsearch is much more focused on the search functionality. It comes equipped with a rich and powerful HTTP RESTful API that enables search results in near real-time.
Here are some of the key benefits in using Elasticsearch:
The End Result of This Solution
The customer’s AFC BO system received the following benefits after implementing our solution:
Sasken has been at the forefront of the Digital revolution, having provided multiple unique solutions to its customers and their diverse needs. Find out more about our Digital expertise here.