I was investigating over whether we could use elasticsearch as an
alternative for a data warehouse.
- The following features of ES are useful: Schemaless storage, Fault
tolerance, scalability via distribution, JSON API, CRUD operations.
- ACID properties, transactions are not very crucial to us. Wherever
applicable we could handle it at the application level. So, that is not a
- Even joins and other set based SQL operations like existence,
intersections can be managed somehow.
However, was not sure about the following, which was certainly crucial:
Group by + having + aggregates over large data sets: ES does have
facets, can possibly can be used in case we want counts as aggregates, but
probably not optimal.
If the aggregation capabilities are going to be very unnatural/heavy for
ES, we might as well need to go with some other alternative (Mongo/Couch or
maybe MySQL, don't know), and use ES only for search, or just full-text
Would appreciate any help on the above.
--Parikshit N. Samant.