Re: pgbench-ycsb - Mailing list pgsql-hackers

From Fabien COELHO
Subject Re: pgbench-ycsb
Date
Msg-id alpine.DEB.2.21.1807190910380.31076@lancre
Whole thread Raw
In response to pgbench-ycsb  (a.bykov@postgrespro.ru)
Responses Re: pgbench-ycsb
List pgsql-hackers
Hello Anthony,

> applications with pgbench under different real-life-like load. So that
> they will be able to see what's going to happen on production.
>
> YCSB (Yahoo! Cloud Serving Benchmark) was taken as a concept. YCSB tests
> were originally designed to facilitate performance comparisons of
> different cloud data serving systems and it takes into account different
> application workloads like:
> workload A - assumes that application do a lot of reads(50%) and
> updates(50%).
> workload B - case when application do 95% of cases reads
> and 5% updates
> workload C - models behavior of read-only application.
> workload E - the workload of the applications which in 95% of cases
> requests for several neighboring tuples and in 5% of cases - does
> updates.
>
> In the patch those workloads were implemented to be executed by pgbench:
> pgbench -b ycsb-A

Could you provide a link to the specification?

I cannot find something simple, and I was kind of hoping to avoid diving 
into the source code of the java tool on github:-) In particular, I'm 
looking for a description of the expected underlying schema and its size 
(scale) parameters.

Patch does not include any documentation, nor help, nor tests. It should.

+               "\\set write_weight 0\n"
+               "\\set operation random(1,:total_weight)\n"
+               "\\if (:operation < :write_weight)\n"

This is dead code:-( A lot of copy-paste between the cases, that should be 
avoided if possible.

Note that pgbench already has a builtin weight management. I'd suggest 
that the implementation could reuse it instead of reimplementing them 
within these duplicated scripts.

Maybe add simple builtins (eg ycsb-read/write/...) for individual 
transactions and a new --load=ycsb-A which would set the various 
transactions with their expected weights.

A, B, C, E... What is missing to get the D bench as well?

-- 
Fabien.


pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: pgsql: Fix parallel index and index-only scans to fall back toserial.
Next
From: Dmitry Dolgov
Date:
Subject: Re: pgbench-ycsb