Six days of vibration, every sample kept.
Four bearings on a loaded shaft, accelerometers sampled at 20 kHz, one second recorded every ten minutes until bearing 1 fails. All 20 million samples per channel are rows in Arc.
Press play to step through the run. Pause anywhere to pull the raw samples and see the outer race defect frequency rise out of the noise. The query panel shows the SQL behind the trend, the onset and every waveform.
One shaft. 20,152,320 samples per bearing.
A vibration sensor at 20 kHz produces more data in one second than a temperature sensor does in a day. The usual answer is to keep an RMS value per minute and throw the waveform away. Then the one question that matters, what the spectrum looked like the hour before the failure, has no data behind it.
Raw samples in, aggregates on demand
Each row is one sample: a microsecond timestamp, the snapshot and sample ordinals, and one column per accelerometer. The trend chart is a single time_bucket query over every row, computing RMS, peak and kurtosis per ten-minute snapshot. The waveforms during playback are a per-millisecond min/max envelope, also from Arc. Pause and the browser fetches the 20,480 raw samples of one channel and computes the spectrum itself, labelled as such.
How the time axis works
The file names carry the rig's local clock; sample i of a snapshot is that time plus 50 microseconds times i, stored in UTC. Nothing is resampled. The last two snapshots were recorded after the rig had already been stopped and are kept as they are; the trend shows them dropping to zero.
WITH s AS ( SELECT time_bucket(INTERVAL 10 MINUTE, time) AS bucket, min(snapshot) AS snapshot, sqrt(avg(b1 * b1)) AS rms FROM vibration WHERE test_id = 'ims-2' GROUP BY bucket ), base AS ( SELECT avg(rms) AS baseline FROM s WHERE bucket < (SELECT min(bucket) FROM s) + INTERVAL 1 DAY ) SELECT s.snapshot, epoch_ms(s.bucket) AS bucket_ms, s.rms, base.baseline, s.rms / base.baseline AS ratio FROM s, base WHERE s.rms > 2 * base.baseline ORDER BY s.bucket LIMIT 1
Vibration data: IMS Bearing Data, generated by the NSF I/UCR Center for Intelligent Maintenance Systems, University of Cincinnati, with support from Rexnord Corp., and distributed through the NASA Prognostics Center of Excellence data repository. Test set 2, February 12 to 19, 2004. Reference: Qiu, Lee and Lin, “Wavelet filter-based weak signature detection method and its application on rolling element bearing prognostics”, Journal of Sound and Vibration 289 (2006).
The set was imported once by a one-shot importer that fetches the NASA archive, validates every one-second file, and writes one row per 50 microsecond sample into Arc. Every figure on this page is read back from that import. Defect frequencies are computed from the published bearing geometry at 2000 rpm and are markers, not measurements.
Arc is an open, SQL-native time-series database for high-volume telemetry. A vibration sensor at 20 kHz is the workload that pushes most databases into keeping only aggregates. Arc keeps the samples and computes the aggregates when you ask.