Comments (7)
In general I'm 👍 on this as 30gb usually is a good size for a shard with this type of data.
I'm wondering though how long it will take to reach 30gb. If it takes a year, then it might make things more complicated, i.e. if a mapping change is necessary
from homeassistant-elasticsearch.
That's a good point...I imagine it would take quite some time to hit the 30gb mark, for most installations. For my own indices, I'm seeing ~150mb per 1 million documents
from homeassistant-elasticsearch.
pinging @dsztykman, since you had the original suggestion for 30gb. Do you have any thoughts on this?
from homeassistant-elasticsearch.
Agreed it's a bit of an issue, we should maybe think of a new indices names with versioning included like hass-events-v1-XXX
and then whenever we change the mapping we create a new version and with aliases we can manage this way.
Otherwise we're going to end up with too many shards and too little data and the performance is going to suffer in the long term.
The question is how do we detect a change in mapping from home assistant directly?
Like adding a new device ?
from homeassistant-elasticsearch.
I like the idea of versioning the index names.
The question is how do we detect a change in mapping from home assistant directly?
Like adding a new device ?
My goal for the index mapping is to be device agnostic. It shouldn't care which devices are registered, or how many devices exist.
I think the only times the mapping should change are:
- Defects in the mapping. I've encountered this as more people use the plugin with various configurations. See also #32
- ES version compatability: if supporting the next major version requires changes to the mapping
- Enhancement requests
So essentially, I only expect the mapping to change if this plugin requires it, or if Elasticsearch requires it. The individual installations shouldn't have any bearing on the mapping, so we should only have to bump the version as a result of a changes to this plugin.
from homeassistant-elasticsearch.
Make sense so essentially change the version and the mapping when we receive an error from ES
from homeassistant-elasticsearch.
A bit off-topic for this PR, but if you're interested in seeing/reviewing the versioning idea, I have a PR up for #32 which incorporates this: #40
from homeassistant-elasticsearch.
Related Issues (20)
- Investigate removing YAML config HOT 1
- ES and Kibana bootstrapping fails in certain Docker configurations
- Publishing All States doesn't fire if there are no state/attribute changes in the queue
- Cache sanitized datastream and attribute names HOT 1
- Consider removing some core attributes that duplicate other fields
- Strict dynamic mapping is going to cause issues HOT 2
- Component is broken in 2024.5 HOT 1
- Add simple entity publishing benchmark test
- manifest.json version is out of date HOT 1
- Update doc site for 2.0 release
- Support publishing to multiple clusters HOT 1
- Improve Benchmarking suite
- Clean-up follow-ups from Floors PR
- Entity area should default to device area
- `hass.object_id` should be a property of the `entity` HOT 2
- state.class vs state.value
- device.entity, entity.device or entity,device?
- Automatically rollover datastreams when index template changes
- Missing component diagnostics HOT 1
- Switch to Mypy
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from homeassistant-elasticsearch.