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

YSQL performance #3226

Open
rkarthik007 opened this issue Dec 24, 2019 · 0 comments
Open

YSQL performance #3226

rkarthik007 opened this issue Dec 24, 2019 · 0 comments
Assignees
Labels
area/ysql Yugabyte SQL (YSQL) kind/enhancement This is an enhancement of an existing feature priority/medium Medium priority issue roadmap-tracking-issue This issue tracks a major roadmap item, and usually appears in the roadmap list.

Comments

@rkarthik007
Copy link
Collaborator

rkarthik007 commented Dec 24, 2019

Jira Link: DB-2060
This is a master issue relating to performance of YSQL, as well as benchmarking it using standard tools. The goals of this effort are to:

  • Improve performance of YSQL
  • Make it easy to run various standard benchmarks with ease
  • Ability to test performance across a variety of environments (public clouds, Kubernetes, etc) and come up with some reference numbers.

The following benchmarks are going to be supported at the end of this effort: TPCC, YCSB for both YSQL and YCQL, sysbench and pg_bench / ysql_bench (note that ysql_bench is the same as pg_bench but with modifications to run optimally against YugabyteDB).

Benchmarks

YCSB
✅ [YCSB] Create a YSQL benchmark (Update: docs here)
✅ [YCSB] Create a YCQL benchmark (Update: docs here)
✅ [YCSB] Add a downloadable package and instructions for YugabyteDB
⬜️ [YCSB] Document expected results of benchmark per release

TPCC
✅ [TPCC] Create a Java-based YSQL benchmark from oltpbench
✅ [TPCC] Create a YSQL benchmark workload (Update: repo)
✅ [TPCC] Instructions to download and run TPCC (Update: docs here)
⬜️ [TPCC] Verify implementation of oltpbench against the official TPCC spec
⬜️ [TPCC] Document expected results of benchmark per release

PG_BENCH / YSQL_BENCH
✅ [YSQL_BENCH] modify init phase to use multiple smaller transactions #3229
⬜️ [YSQL_BENCH] Add docs instructions to run (Update: instructions here)
⬜️ [YSQL_BENCH] Document expected results of benchmark per release

SYSBENCH
⬜️ [SYSBENCH] Add docs instructions to run
⬜️ [SYSBENCH] Document expected results of benchmark per release

OLTP Query performance

The following tasks are related mostly to improving the query performance (both INSERT and SELECT) during the runtime of the app.
✅ Batch writes to speed up COPY and multi-row inserts #2934
✅ Skip PostgreSQL ordering if the query uses PK ordering #2792
✅ Cache foreign key checks #3328
✅ Improve index scan to batch select rows from base table #3103
✅ Push down updates that involve arithmetic operators #2969
✅ Improvements to batch selects #2960
✅ Push down expressions and part of query plan #2040
⬜️ Single round-trip distributed transactions #3220
⬜️ Cost based optimizations for YSQL #3101

Data loading

The following set of tasks are to improve the loading of data through YSQL.
✅ Batch writes to speed up COPY and multi-row inserts #2934
✅ Provisional writes not cleaned up resulting in slow loading of data #3111
✅ Cache foreign key checks #3328
✅ Reuse iterators during txn conflict resolution #3521
✅ Batch FK trigger checks #2951
✅ Transactional data load performance improvements #3656

Analytics

@rkarthik007 rkarthik007 added kind/new-feature This is a request for a completely new feature area/ysql Yugabyte SQL (YSQL) area/tools labels Dec 24, 2019
@rkarthik007 rkarthik007 changed the title YSQL performance benchmarking YSQL performance Mar 30, 2020
@rkarthik007 rkarthik007 added the roadmap-tracking-issue This issue tracks a major roadmap item, and usually appears in the roadmap list. label Jul 24, 2020
@yugabyte-ci yugabyte-ci added the priority/medium Medium priority issue label Jun 9, 2022
@yugabyte-ci yugabyte-ci added kind/enhancement This is an enhancement of an existing feature and removed kind/new-feature This is a request for a completely new feature labels Aug 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ysql Yugabyte SQL (YSQL) kind/enhancement This is an enhancement of an existing feature priority/medium Medium priority issue roadmap-tracking-issue This issue tracks a major roadmap item, and usually appears in the roadmap list.
Projects
Status: No status
Development

No branches or pull requests

4 participants