【问题标题】:YCSB: Create flexible schema on MySQLYCSB:在 MySQL 上创建灵活的模式
【发布时间】:2014-04-08 14:01:48
【问题描述】:

我正在尝试使用 YCSB (https://github.com/brianfrankcooper/YCSB) 对 MySQL 数据库进行基准测试,但我在文档中遇到了这一行:

对于 CoreWorkload,YCSB 客户端将假定存在一个名为“usertable”的“表”,其架构灵活:可以在运行时根据需要添加列。

但是我如何在 MySQL 上做到这一点?我在任何地方都找不到任何关于如何在 MySQL 上创建灵活模式的说明

提前致谢

【问题讨论】:

    标签: mysql ycsb


    【解决方案1】:

    这对于关系型数据库(例如 MySQL)来说并不完全正确。对于这些,您应该使用 YCSB 所需的确切列数创建表。

    JDBCClient 类必须为您提供类似这样的提示:

    CREATE TABLE usertable 
    (
      YCSB_KEY VARCHAR(100),
      FIELD1 VARCHAR(100), FIELD2 VARCHAR(100),
      FIELD3 VARCHAR(100), FIELD4 VARCHAR(100),
      FIELD5 VARCHAR(100), FIELD6 VARCHAR(100),
      FIELD7 VARCHAR(100), FIELD8 VARCHAR(100),
      FIELD9 VARCHAR(100), FIELD10 VARCHAR(100),
    
    } PRIMARY KEY (YCSB_KEY);
    

    这实际上是针对另一个数据库的,但您可以轻松地调整特定的 MySQL 语法。

    【讨论】:

      【解决方案2】:

      Oracle 允许在生产系统上在运行时添加列。

      我认为语法类似于 ALTER TABLE。

      我确信其他数据库系统也允许修改表,但不允许在表正在使用时进行修改。

      例如:

      CREATE TABLE usertable 
      (
        YCSB_KEY VARCHAR(100),
        FIELD1 VARCHAR(100), FIELD2 VARCHAR(100),
      
      
      } PRIMARY KEY (YCSB_KEY);
      

      ALTER TABLE usertable (.... 这将更改表以具有更多字段、索引等。

      【讨论】:

        猜你喜欢
        • 2011-02-05
        • 1970-01-01
        • 1970-01-01
        • 2014-08-19
        • 1970-01-01
        • 2010-09-16
        • 2022-01-23
        • 1970-01-01
        • 2011-01-06
        相关资源
        最近更新 更多