2.X/4. Aggregations

4. Aggregations

drscg 2017. 9. 24. 11:39

Until this point, this book has been dedicated to search. With search, we have a query and we want to find a subset of documents that match the query. We are looking for the proverbial needle(s) in the haystack.

지금까지, 이 책에서는 검색에 집중하였다. 검색과 함께, 어떤 query를 가지고, 그 query에 일치하는 document의 집합을 찾으려 했다. 속담처럼, 건초더미에서 바늘 찾기를 하고 있다.

With aggregations, we zoom out to get an overview of our data. Instead of looking for individual documents, we want to analyze and summarize our complete set of data:

aggregation에서는, 데이터의 개요를 얻기 위해, 관점을 달리할 것이다. 개별 document를 검색하는 대신, 데이터의 완전한 집합을 분석하고 요약할 것이다.

  • How many needles are in the haystack?

    건초더미에는 바늘이 몇 개?

  • What is the average length of the needles?

    바늘의 평균 길이는?

  • What is the median length of the needles, broken down by manufacturer?

    제조업체별 바늘의 평균 길이는?

  • How many needles were added to the haystack each month?

    매달 건초더미에 추가되는 바늘의 수는?

Aggregations can answer more subtle questions too:

aggregation은 아래와 같은 더 미묘한 질문에도 답할 수 있다.

  • What are your most popular needle manufacturers?

    가장 인기 있는 바늘 제조업체는?

  • Are there any unusual or anomalous clumps of needles?

    이상하거나 비정상적인 바늘 덩어리가 있는가?

Aggregations allow us to ask sophisticated questions of our data. And yet, while the functionality is completely different from search, it leverages the same data-structures. This means aggregations execute quickly and are near real-time, just like search.

aggregation은 데이터에 대한 복잡한 질문도 가능하다. 검색과 그 기능은 완전히 다르지만, 동일한 데이터 구조를 활용한다. 즉, aggregation은 검색과 마찬가지로, 거의 실시간 으로 빠르게 실행된다.

This is extremely powerful for reporting and dashboards. Instead of performing rollups of your data (that crusty Hadoop job that takes a week to run), you can visualize your data in real time, allowing you to respond immediately. Your report changes as your data changes, rather than being pre-calculated, out of date and irrelevant.

이것은 보고(reporting)와 대시보드 기능에 대해 매우 강력하다. 데이터를 모으는 작업(rollups) 을 수행(Hadoop 작업은 실행하는데 일주일이 소요될 정도로 짜증…)하는 대신, 즉시 반응할 수 있도록, 실시간으로 데이터를 시각화할 수 있다. 미리 계산되거나, 쓸모없어지거나 관련 없어지기 보다는 데이터가 변경되면, 여러분의 보고서는 바로 변경될 것이다.

Finally, aggregations operate alongside search requests. This means you can both search/filter documents and perform analytics at the same time, on the same data, in a single request. And because aggregations are calculated in the context of a user’s search, you’re not just displaying a count of four-star hotels—you’re displaying a count of four-star hotels that match their search criteria.

마지막으로, aggregation은 검색 request와 동시에 작동한다. 즉, 동일한 데이터를 가지고, 단일 request로, document의 검색/filtering  분석을 동시에 할 수 있다. 그리고, aggregation은 사용자의 검색 문맥에서 계산되기 때문에, 단순히 4성 호텔의 수를 표시하지 않고, 검색 조건에 일치 하는 4성 호텔의 수를 표시한다.

Aggregations are so powerful that many companies have built large Elasticsearch clusters solely for analytics.

aggregation은, 많은 기업들이 전적으로 분석을 위해, 대형 Elasticsearch cluster를 구축할 만큼, 매우 강력하다.

'2.X > 4. Aggregations' 카테고리의 다른 글

4-01. High-Level Concepts  (0) 2017.09.24
4-01-1. Buckets  (0) 2017.09.24
4-01-2. Metrics  (0) 2017.09.24
4-01-3. Combining the Two  (0) 2017.09.24
4-02. Aggregation Test-Drive  (0) 2017.09.24