Re: pgbench-ycsb

From: Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr>
To: a(dot)bykov(at)postgrespro(dot)ru
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pgbench-ycsb
Date: 2018-07-19 13:35:44
Message-ID: alpine.DEB.2.21.1807190910380.31076@lancre
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dmitry Dolgov 2018-07-19 13:50:59 Re: pgbench-ycsb
Previous Message Heikki Linnakangas 2018-07-19 13:13:18 Re: pgsql: Fix parallel index and index-only scans to fall back to serial.