に照会InfluxDB(v1.1)を使用して、特定のキーの最終エントリタイムスタンプを取得する必要があります。どの測定値が格納されていても、これがどの値であっても関係なく特定のキーの最新のタイムスタンプ(MAX/Last)をInflux
セットアップは簡単です。ここでは、3つの測定値:location
,network
およびusage
があります。
キーは1つだけです:device_id
。これを照会する最も効率的な方法だろう何:
# notice the lack of a FROM clause on measurement here...
SELECT MAX(time) WHERE 'device_id' = 'x';
質問:擬似コードで
は、このようなものでしょうか?
私がこれを望む理由は、分散型の同期プロセスがあるからです。 1時間前に更新されたデバイスもあれば、数か月後に更新されたデバイスもあります。デバイス(キー)の「最後に更新された」タイムスタンプを得ることができると、新しいポイントをより効率的にInfluxに保存することができます。
私はまた、InfluxDB's GitHub repo (#5793)についても同様の議論があることに気付きましたが、フィールド/キーによってフィルタリングされていないという質問があります。そして、これはまさに私が望むことです:特定のキーのための「最後の」エントリを得ること。
おかげでマイケルとの1を取得します。確かに、これは作業するための解決策なので、私はこれを上書きしました。ただし、値を決定するには、3回のAPI呼び出し(各測定に1回)が必要です。それでもまだ効率的ではありません。また、もっと重要なのは、実際に言及したクエリでは、を指定する必要があります。これは私が前もって知りません。そのため、まだ私は答えとしてマークしていません。多分、将来のInfluxのバージョンには、これに対するすてきな解決策があるでしょう。 –
意味があります。この種の機能を要求するInfluxDBリポジトリで問題を開くことができれば、適切に計画することができます。 –