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

Optimize write rate in Gcp Firestore #1458

Merged
merged 1 commit into from
Apr 13, 2021
Merged

Conversation

tsotnet
Copy link
Collaborator

@tsotnet tsotnet commented Apr 12, 2021

What this PR does / why we need it: We used to have less than 100 QPS on writing data to the online store in Gcp Firestore. This was due to using non-batch requests (get & put) instead of batch variants (get_multi & put_multi). Moreover, we completely removed the read part of the functionality and directly write the new data without comparing timestamps. So, it's up to the user now to make sure they're not overwriting old data over the new data. In future we'll add a flag that if enabled by the user, will do this check on every write, but the performance hit is too much to leave it on by default.

The new functionality benchmarks at ~1.95K writes per second.

Which issue(s) this PR fixes:

Fixes #

Does this PR introduce a user-facing change?:

Improve Firestore write speed by 2 orders of magnitude

@tsotnet tsotnet requested a review from woop April 12, 2021 21:42
@tsotnet tsotnet requested a review from jklegar as a code owner April 12, 2021 21:42
@tsotnet tsotnet force-pushed the optimize-firestore-writes branch 2 times, most recently from 10e14c9 to 685b501 Compare April 12, 2021 21:55
@tsotnet tsotnet force-pushed the optimize-firestore-writes branch 2 times, most recently from 1f2f5a4 to 1263873 Compare April 12, 2021 22:40
@tsotnet tsotnet force-pushed the optimize-firestore-writes branch from 1263873 to 2d38946 Compare April 13, 2021 00:03
Signed-off-by: Tsotne Tabidze <tsotne@tecton.ai>
@tsotnet tsotnet force-pushed the optimize-firestore-writes branch from 2d38946 to eec8f5b Compare April 13, 2021 00:08
@tsotnet
Copy link
Collaborator Author

tsotnet commented Apr 13, 2021

/test test-telemetry

@woop
Copy link
Member

woop commented Apr 13, 2021

/lgtm

@feast-ci-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: tsotnet, woop

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@feast-ci-bot feast-ci-bot merged commit 7b4c3ba into master Apr 13, 2021
@woop woop deleted the optimize-firestore-writes branch May 12, 2021 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants