Skip to content

Conversation

@nik9000
Copy link
Member

@nik9000 nik9000 commented Jun 1, 2020

Saves memory when the geotile_grid and geohash_grid are not on the
top level by using the LongKeyedBucketOrds we built in #55873.

Saves memory when the `geotile_grid` and `geohash_grid` are not on the
top level by using the `LongKeyedBucketOrds` we built in elastic#55873.
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-analytics-geo (:Analytics/Aggregations)

@elasticmachine elasticmachine added the Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) label Jun 1, 2020
@nik9000
Copy link
Member Author

nik9000 commented Jun 1, 2020

I'd love to build a performance test for this one too! My desktop is busy as the moment though.

@nik9000
Copy link
Member Author

nik9000 commented Jun 2, 2020

Rally before and after.

Highlights:

| before | 90th percentile service time | date-histo-geohash-grid |     4595.70 |     ms |
|  after | 90th percentile service time | date-histo-geohash-grid |     2836.80 |     ms |
| before | 90th percentile service time | date-histo-geotile-grid |     4831.04 |     ms |
|  after | 90th percentile service time | date-histo-geotile-grid |     2885.81 |     ms |

That is about 40% performance improvement in my test case. It looks like:

curl -XPOST -HContent-Type:application/json localhost:9200/noaa/_search -d'{
  "size": 0,
  "query": {
    "geo_bounding_box": {
      "station.location": {
        "top_left": "c",
        "bottom_right": "9"
      }
    }
  },
  "aggs": {
    "date": {
      "date_histogram": {
        "field": "date",
        "calendar_interval": "1w"
      },
      "aggs": {
        "location": {
          "geotile_grid": {
            "field": "station.location",
            "precision": 2
          }
        }
      }
    }
  }
}'

@nik9000 nik9000 merged commit 94cb1e2 into elastic:master Jun 2, 2020
@talevy
Copy link
Contributor

talevy commented Jun 2, 2020

wow. look at that benchmark! 😮 🎈

nik9000 added a commit to nik9000/elasticsearch that referenced this pull request Jun 2, 2020
Saves memory when the `geotile_grid` and `geohash_grid` are not on the
top level by using the `LongKeyedBucketOrds` we built in elastic#55873.
nik9000 added a commit to nik9000/rally-tracks that referenced this pull request Jun 2, 2020
nik9000 added a commit that referenced this pull request Jun 2, 2020
Saves memory when the `geotile_grid` and `geohash_grid` are not on the
top level by using the `LongKeyedBucketOrds` we built in #55873.
hub-cap pushed a commit to elastic/rally-tracks that referenced this pull request Jun 8, 2020
hub-cap pushed a commit to elastic/rally-tracks that referenced this pull request Jun 9, 2020
hub-cap pushed a commit to elastic/rally-tracks that referenced this pull request Jun 9, 2020
hub-cap pushed a commit to elastic/rally-tracks that referenced this pull request Jun 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Analytics/Aggregations Aggregations backport >enhancement Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) v7.9.0 v8.0.0-alpha1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants