froi
froi

Reputation: 7788

Is Elastic Search a good data store for a Read Only Api?

We are planning to create a reporting database exposed via read only api. It'll contain reporting related read apis for both our customers and internal processes like invoicing.

Also, we thought it will also be useful to have Kibana over it to have analytics for our internal teams.

Is Elastic Search good for this use case?

Upvotes: 0

Views: 516

Answers (2)

Sahil Gupta
Sahil Gupta

Reputation: 2166

In addition to opster's answer there are 2 things that I want to mention that might help you in making a decision :

  1. How E.S is serving us for a real-time reporting use case in production with an extensive data set

  2. Performance of reporting in E.S vs Mongo (that we measured)

How E.S is serving for a real-time reporting use case in production with an extensive data set

E.S provides real-time results (under 1 sec) for below cases of ours:

  1. Reports generated by running multiple set of filters (date, etc) & aggregation on millions of data points

  2. Time based reports (grouping data by day, week, month, quarter, year) - Powered by DateHistogram

Performance of reporting in E.S vs Mongo (that we measured)

Aggregating 5 million data points in E.S took < 1 sec while it took Mongo > 10 sec, on similar instances.

In addition to above: Support for scripting is also available, which provided a lot of flexibility.

Upvotes: 0

Amit
Amit

Reputation: 32386

Yeah why not, Elasticsearch will be very good choice for your use-case due to following reasons:

  1. You can de-normalize your data and store them in single index, this will make fetching and searching very fast, this is normally the prime usecases of nosql and ES can work like that.
  2. Basic x-pack security is available free in ES, which would provide read only access to your users without much effort and cost.
  3. Apart from search, Elasticsearch is again very popular for analytics use-cases, you can run very aggregations easily for your use-cases and can use Kibana dashboard for visualisation, which has very nice integration with ES as both are same company(Elastic) products.

And most importantly ES is horizontally scalable and distributed system and easily be scaled to hundreds of nodes to support anyone's growing needs.

Upvotes: 2

Related Questions