sql >> Database >  >> NoSQL >> MongoDB

Gaten vinden in enorme evenementenstromen?

U kunt dit doen met de lag() window-functie over een partitie door de stream_id die is geordend op tijdstempel. De lag() functie geeft u toegang tot vorige rijen in de partitie; zonder een lag-waarde is dit de vorige rij. Dus als de partitie op stream_id is geordend op tijd, dan is de vorige rij de vorige gebeurtenis voor die stream_id.

SELECT stream_id, lag(id) OVER pair AS start_id, id AS end_id,
       ("timestamp" - lag("timestamp") OVER pair) AS diff
FROM my_table
WHERE diff > interval '2 minutes'
WINDOW pair AS (PARTITION BY stream_id ORDER BY "timestamp");


  1. Rails Puma heeft geen Redis-verbindingen meer

  2. Mongodb bewaart lijst met objecten

  3. Mongoose Aggregate:beperk het aantal records in $groep

  4. Omgaan met schemawijzigingen in Mongoose