Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Retrospective user recognition #25

Closed
vklimontovich opened this issue Aug 8, 2020 · 3 comments · Fixed by #153
Closed

Retrospective user recognition #25

vklimontovich opened this issue Aug 8, 2020 · 3 comments · Fixed by #153
Assignees

Comments

@vklimontovich
Copy link
Contributor

We have different ways to identify user. The way that always works relies on cookies. For some users, other ids can be known (through id() call). Example:

  • event1: anonymousId=1
  • event2: anonymousId=1
  • event3: anonymousId=1, email=a@b.com
  • event4: anonymousId=1, email=a@b.com

Right after event3 we can amend event1 and event2 and add email=a@b.com

Proposed architecture (highlevel):

  • Do not support all storages, support only storages where modifications are available (like ReplacingMergeTree in ClickHouse).
  • Once event3 happened, we need to go to statemanager (see below) and check if the particular pair has been processed.
  • If not, "pair" should get to queue
  • Once queue worker get to the "pair", it should get all events with anonymousId=1 and UPDATE records.

Possible ideas for state manager and queue:

  • Standalone postgress (assume that we won't have many "pair" events).
  • Redis (they have pub/sub)
  • Reuse destination. Probably bad idea, since most destinations are not suited well for KV operations
@vklimontovich vklimontovich added this to Backlog in EventNative dev Aug 18, 2020
@xtreding xtreding moved this from Backlog to Todo in EventNative dev Nov 13, 2020
@clementgalopin
Copy link

Hi guys, this feature is really interesting and much needed, when are you planing to add it for PostgreSQL?

@vklimontovich
Copy link
Contributor Author

Hi @clementgalopin ! Once it will be available, it will work for most destinations, including postgres. It's currently in the making, the ETA is mid-Jan

@xtreding xtreding moved this from Todo to In progress in EventNative dev Dec 17, 2020
@xtreding xtreding self-assigned this Dec 17, 2020
@xtreding xtreding linked a pull request Dec 25, 2020 that will close this issue
EventNative dev automation moved this from In progress to Done Dec 25, 2020
@xtreding xtreding moved this from Done to In progress in EventNative dev Jan 11, 2021
@xtreding xtreding reopened this Jan 11, 2021
@xtreding
Copy link

Hi @clementgalopin! We are happy to announce that this feature has already been released (v1.27.0)! Read more about configuration.

@xtreding xtreding moved this from In progress to Done in EventNative dev Jan 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

3 participants