Qual è lo stack tecnologico dietro Mixpanel?
Elasticsearch può implementare la maggior parte delle funzioni di mixpanle's, ma ci sono ancora alcune limitazioni che non possiamo superare, per esempio, quando i dati numerici memorizzati come tipo di stringa, non possiamo eseguire SUM,AVG,MIN,MAX... sui dati
E non ci sono meccanismi di conversione del tipo, quindi non possiamo lanciare STRING a NUMBER.
È un grosso problema per noi ora, se hai qualche soluzione, puoi condividerla con noi?
Aggiornamento: possiamo convertire i dati usando il meccanismo dello script, come questo:
curl -XPOST 'youreshost:9200' -d '
{
"aggs": {
"max_page": {
"min": {
"script": "Integer.parseInt(_source.page)"
}
}
}
}'
Ma ora le prestazioni sono un problema, e questo meccanismo non ha modo di catturare eccezioni se ci sono eccezioni quando i dati non sono in formato numerico valido.
aggiornamento:
abbiamo superato questo problema usando alcuni tipi di dati ridondanti:
Dati originali:{'serverid':100}, {'serverid':'s156'}...
Dati con ridondanza di tipo:{'serverid': {'l': 100}}, {'serverid': {'s': 's156'}}
che :l rappresenta long,s rappresenta stringa。d è breve per data, e b sarà usato per rappresentare bool