首页 > 数据库 >benchmarksql详解及支持mysql、达梦、citus的lightdb benchmarksql分支

benchmarksql详解及支持mysql、达梦、citus的lightdb benchmarksql分支

时间:2022-12-10 16:32:53浏览次数:72  
标签:tpc lightdb read 数据库 citus benchmarksql mysql


  为什么使用benchmarksql压测?因为大多数应用系统使用java开发,并且不使用存储过程,故使用benchmarksql压测数据库最公平,既可以测试数据库,也可以测试JDBC驱动。

  可以用来测试EnterpriseDB, PostgreSQL, Oracle, Sybase, SQLSvr, MySQL, HsqlDB, Derby/JavaDB & FireBird。

  其模型ER关系图如下:

  

benchmarksql详解及支持mysql、达梦、citus的lightdb benchmarksql分支_数据库

   共有5个事务组成,分别如下:

benchmarksql详解及支持mysql、达梦、citus的lightdb benchmarksql分支_数据库_02

This schema is used by 5 different transactions that produce a variety of different access patterns on the tables.

  • Item is read only.
  • WarehouseDistrictCustomer and Stock are read/write.
  • New-Order is insert, read and delete, like a queue that at any given time has approximately W * 9000 rows in it.
  • Order and Order-Line receive inserts and every row inserted will have a time delayed update to it, after which the row becomes stale and may be read infrequently in the future.
  • History is insert only.

    在分布式版本中,item和config表适合作为广播表,其他表跟着warehouse的分片走。

4个SELECT,3个INSERT,2个UPDATE组成,和在微服务中不用匿名块和存储过程实现的逻辑高度匹配。具体可见​​http://tpc.org/tpc_documents_current_versions/pdf/tpc-c_v5.11.0.pdf​​ 108页。

一般来说当数据库大小超过数据库共享缓存的3倍后,性能就会开始明显的下降。

  虽然国内生产实践中已经很少使用外键约束,但是benchmarksql的实现,仍然广泛的采用了外键约束以符合TPC-C的要求。

  注:benchmarksql原生不支持mysql,​​https://github.com/hslightdb/benchmarksql​​​增加了一个支持mysql的版本,同时在此基础上增加了对postgresql citus分布式、tpch for citus(60%默认失败)、达梦数据库的支持。​​pgsql-io​​维护的是linux的​​原地更新模式​​。

 


标签:tpc,lightdb,read,数据库,citus,benchmarksql,mysql
From: https://blog.51cto.com/zhjh256/5927792

相关文章

  • oracle/mysql/lightdb/postgresql java jdbc类型映射
    MySQL数据类型JAVA数据类型JDBCTYPE普通变量类型主键类型BIGINTLongBIGINT支持支持TINYINTByteTINYINT支持不支持SMALLINTShortSMALLINT支持不支持MEDIUMINTIntegerINTEGER......
  • lightdb for postgresql日志详解
    log_min_messages:控制服务器日志级别,总控参数,log_min_error_statement要大于等于log_min_messages时,SQL语句才会被记录(默认ERROR,足够)。默认是WARNING,每个级别的定义如下......
  • lightdb wal文件误删恢复及归档wal清理
    2021-09-1017:22:42.417183T@startup00000[2021-09-1017:22:42CST]0[9298]LOCATION:StartupXLOG,xlog.c:63472021-09-1017:22:42.417206T@startupXX......
  • lightdb vacuum用法--功能与参数
    lightdb没有像Oracle那样的undo来存放旧版本;而是将旧版本直接存放于relation文件中。那么带来的问题就是deadtuple过多,导致relation文件不断增大而带来空间膨胀问题。......
  • 使用Patroni管理LightDB高可用
    使用Patroni管理LightDB高可用测试环境CPU:海光x86OS:KylinAdvancedServerV10SP1LightDB:13.8-22.3Patroni:2.1.3etcd:3.5.4安装部署etcd集群需要3台机器......
  • lightdb/postgresql中的事务回卷原理解析及避免
    在pg中,由于事务id采用32位实现,所以是采用循环复用的,如下:  虽然最大支持4billion个事务(32位无符号数,xid最大可以到40亿),但是新老事务相差2billion是上限,当达......
  • lightdb修改字段int类型为xid(报错)
    zjh@lt_test=#selectpg_set_next_xid(2941144647::xid);ERROR:cannotcasttypebiginttoxidLINE1:selectpg_set_next_xid(2941144647::xid);......
  • lightdb单机分布式测试
    lightdb默认采用分布式、集中式一体化架构,单实例仍然可以启用分布式架构。环境配置假设已经安装了lightdb,默认情况下,安装分布式的时候会自动为createdatabase创......
  • lightdb开启mysql兼容模式
    首先,从www.hs.net/lightdb下载最新版本并在安装时选择oracle模式,如下:  http://www.light-pg.com/docs/LightDB_Install_Manual/13.8-22.3/install.html#guilight......
  • 使用Postgres,MobilityDB和Citus大规模(百亿级)实时分析GPS轨迹
      背景https://github.com/MobilityDB/MobilityDBhttps://www.citusdata.com/download/https://www.postgresql.org/https://www.citusdata.com/blog/2020/11/09/......