On 2018-07-22 16:56, Fabien COELHO wrote:
Just to clarify - if I understand Anthony correctly, this proposal is not about implementing exactly YCSB as it is, but more about using zipfian distribution for an id in the regular pgbench table structure in conjunction with read/write
balance to simulate something similar to it.

Ok, I misunderstood. My 0.02€: If it does not implement YCSB, and the
point is not to implement YCSB, then do not call it YCSB:-)

Maybe there could be other simpler builtins to use non uniform
distributions: {zipf,exp,...}-{simple,select} and default values
(exp_param, zipf_param?) for the random distribution parameters.

  \set id random_zipfian(1, 100000*:scale, :zipf_param)
  \set val random(-5000, 5000)
  UPDATE pgbench_whatever ...;

Then

pgbench -b zipf-se@1 -b zipf-si@1 [ -D zipf_param=1.1 ... ] -T 10000 ...

And probably instead of implementing the exact YCSB workload inside pgbench, it makes more sense to add PostgreSQL Jsonb as one of the options into the framework itself (I was in the middle of it few years ago, but then was
distracted by some interesting benchmarking results).

Sure.

Hello,
thank you for your interest. I'm still improving this idea, the patch
and I'm very happy about the discussion we have. It really helps.

The idea was to implement the workloads as close to YCSB as possible
using pgbench.

So, the schema it should be applied to - is default schema generated by
pgbnench -i (pgbench_accounts).

--
Anthony Bykov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

Reply via email to