However, our main datastore, ElasticSearch only directly stores one entity: crash reports; the other entities exist as attributes of crash reports.
This presents a few problems including:
Not easily being able to do trivial queries (e.g., cardinality) on buckets or projects
Having to compensate for ElasticSearch's eventually consistent nature in the bucketer. This may lead to bucket splitting (although, eventually consistent insert and more-like-this query would also cause bucketing splitting).
Having to add each and every threshold as an unanalyzed field in ElasticSearch
Proposal: would an alternate data store (such as an SQL database) be appropriate, or should we continue storing these entities as attributes of crash reports?
PartyCrasher has the following main entities:
However, our main datastore, ElasticSearch only directly stores one entity: crash reports; the other entities exist as attributes of crash reports.
This presents a few problems including:
unanalyzed
field in ElasticSearchProposal: would an alternate data store (such as an SQL database) be appropriate, or should we continue storing these entities as attributes of crash reports?