we already use Elasticsearch / Kibana on a small scale for Logfiles.
Because of its awesomeness we plan to replace Microsoft FAST Search
in the near future (~150 million documents, ~7 TB index).
So far, so good.
The long term vision of my Boss is replacing all complex database queries with ES.
He wants to have an index for every business object. Meaning ~500 business
objects result in ~500 different Indices. Then he wants ES to execute
all complex searches, instead of the database. I have doubts that ES is capable
of doing queries across different indices. Let me explain why.
A database query like "Get customers that received a delivery to a certain address
managed by a certain department of our company" would join across
four tables (customer, delivery, address, department).
Every Business Object in this query is parameterized, meaning the customer,
the address, the delivery or the department is given.
Decades of RDBMS development made the database very good at optimizing such a query.
Depending on the given parameters, it decides which table to query first
and then join the other tables. As far as I know, Elasticsearch does not have such a
cross indices query optimization feature.
This is just a very basic example of a query. In production we use several
hundred autogenerated queries, some of them joining twenty or more tables having
more than 60 Parameters. I can't see how ES could replace these query monsters.
As far as I understand, ES is document based and thus not intended to hold relations,
not to speak of joining different indices. ES is awesome at executing complex
queries on one index, but so far I couldn't find a way to query across several indices.
Am I just to blind to see the brilliance in my boss vision or is he overestimating
the capabilities of Elasticsearch? What do you think?
Thanks for your thoughts