# Using ES as an alternative for a data warehouse

**URL:** <https://discuss.elastic.co/t/using-es-as-an-alternative-for-a-data-warehouse/8486>\
**Category:** Elasticsearch\
**Created:** [July 23, 2012, 3:11am UTC](https://discuss.elastic.co/t/using-es-as-an-alternative-for-a-data-warehouse/8486 "2012-07-23T03:11:22Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Parikshit\_Samant](https://avatars.discourse-cdn.com/v4/letter/p/3bc359/32.png) [@Parikshit\_Samant](https://discuss.elastic.co/u/Parikshit_Samant)\
**Post date:** [July 23, 2012, 3:11am UTC](https://discuss.elastic.co/t/using-es-as-an-alternative-for-a-data-warehouse/8486/1 "2012-07-23T03:11:22Z")

</div>

Hi,

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  
problem too.
- 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  
search.

Would appreciate any help on the above.

Regards,  
--Parikshit N. Samant.

---

<div class="post-metadata">

**Author:** ![Radu\_Gheorghe1](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/radu_gheorghe1/32/2688_2.png) [@Radu\_Gheorghe1](https://discuss.elastic.co/u/Radu_Gheorghe1)\
**Post date:** [July 23, 2012, 5:52am UTC](https://discuss.elastic.co/t/using-es-as-an-alternative-for-a-data-warehouse/8486/2 "2012-07-23T05:52:40Z")

</div>

Hi,

Yes, well if facets are not enough for what you need, I think you should  
look at something with map/reduce functionality, and put Elasticsearch on  
top of it and use it for what it offers (search, facets).

Best regards,  
Radu

On Monday, July 23, 2012 6:11:22 AM UTC+3, Parikshit Samant wrote:

> Hi,
> 
> 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  
> problem too.
> - 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  
> search.
> 
> Would appreciate any help on the above.
> 
> Regards,  
> --Parikshit N. Samant.

---

<div class="post-metadata">

**Author:** ![Clinton\_Gormley](https://avatars.discourse-cdn.com/v4/letter/c/50afbb/32.png) [@Clinton\_Gormley](https://discuss.elastic.co/u/Clinton_Gormley)\
**Post date:** [July 23, 2012, 9:25am UTC](https://discuss.elastic.co/t/using-es-as-an-alternative-for-a-data-warehouse/8486/3 "2012-07-23T09:25:24Z")

</div>

Hiya

> - 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 search.

Facets are a natural part of ES and Lucene. Depending on your data and  
your queries, they may use quite a lot of memory. Without concrete  
examples, its difficult to say whether it is a good match or not, but  
based upon what you've said so far, I would think that ES fits in very  
well with your requirements

clint

> Would appreciate any help on the above.
> 
> Regards,  
> --Parikshit N. Samant.

---

<div class="post-metadata">

**Author:** ![Parikshit\_Samant](https://avatars.discourse-cdn.com/v4/letter/p/3bc359/32.png) [@Parikshit\_Samant](https://discuss.elastic.co/u/Parikshit_Samant)\
**Post date:** [July 24, 2012, 2:30pm UTC](https://discuss.elastic.co/t/using-es-as-an-alternative-for-a-data-warehouse/8486/4 "2012-07-24T14:30:22Z")

</div>

Thanks for the help.

I guess we will need to continue using facets for aggregates like counts.  
Might need to move over to something else (hadoop etc.) for other stuff.  
E.g. for things like: "select department, account, sum(revenue) from  
accountDetail group by department,account having sum(revenue) \> 40000

Regards,  
--Parikshit N. Samant.

On Monday, 23 July 2012 14:55:24 UTC+5:30, Clinton Gormley wrote:

> Hiya
> 
> > - 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 search.
> 
> Facets are a natural part of ES and Lucene. Depending on your data and  
> your queries, they may use quite a lot of memory. Without concrete  
> examples, its difficult to say whether it is a good match or not, but  
> based upon what you've said so far, I would think that ES fits in very  
> well with your requirements
> 
> clint
> 
> > Would appreciate any help on the above.
> > 
> > Regards,  
> > --Parikshit N. Samant.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 3:19am UTC](https://discuss.elastic.co/t/using-es-as-an-alternative-for-a-data-warehouse/8486/5 "2017-07-06T03:19:18Z")

</div>


