influxdata / flux

Flux is a lightweight scripting language for querying databases (like InfluxDB) and working with data. It's part of InfluxDB 1.7 and 2.0, but can be run independently of those.
https://influxdata.com
MIT License
760 stars 152 forks source link

Feature Request: Sub nanosecond timestamps #428

Open adamperlin opened 6 years ago

adamperlin commented 6 years ago

From ifql created by pbooth : influxdata/ifql#242

The introduction of a new query language is a good time to question the validity of pre-existing assumptions. The day that I discovered influxdb (version 0.8 or 0.9) supported nanosecond timestamps was the same day I installed it and dumped the inferior solutions I had been using for storeing time-series data. Back then one of the common low latency network switches captured timestamps using an ASIC with a 350MHz oscillator, for an effective clock granularity of 2.857 nanoseconds. Three years later we've seen order of magnitude improvements- there are NICs available that use 250picosecond timestamps, and this progress will only continue. This is relevant to financial services use cases, where business transparency is crucial.

It would now seem prudent for the new InfluxDB query language, as well as the underlying data stores, to support timestamps that are finer grained than nanosecond, as some users will be persisting events that are timestamped with sub-nano precision.

nathanielc commented 5 years ago

@rbetts Are we interested in doing a spike on this? My thoughts are we could in the future support arbitrary units for time values. I expect the database would still store int64s but we could change their meaning.

This seems like an additive change, so we can probably push it off till later.

russorat commented 4 years ago

connect https://github.com/influxdata/flux/issues/739