开发者社区 > 数据库 > 数据仓库 > 正文

在云数据仓库ADB中如何设计AnalyticDBMySQL表结构,分布键,分区键-选择分区键 ?

在云数据仓库ADB中如何设计AnalyticDBMySQL表结构,分布键,分区键-选择分区键 ?

展开
收起
冲冲冲c 2024-07-02 21:10:50 11 0
1 条回答
写回答
取消 提交回答
  • 设计AnalyticDB for MySQL表结构时,应考虑:

    表类型:复制表适合小量数据,普通表(分区表)适合大量数据。
    分布键:选择值分布均匀的字段,如交易ID、设备ID,避免日期时间字段,以避免写入倾斜和查询效率降低。

    分区键:可根据业务需求,如日期时间字段,使用PARTITION BY VALUE设置年、月、日或原始值分区。
    确保分区粒度适中,避免影响写入和查询性能。
    分区应保持静态,避免频繁更新。
    举例来说,创建一张按登录时间分区的表:

    CREATE TABLE customer (
        ...
        login_time timestamp NOT NULL,
        PRIMARY KEY (login_time, customer_id),
        DISTRIBUTED BY HASH (customer_id)
    ) PARTITION BY VALUE (DATE_FORMAT(login_time, '%Y%m%d'))
    LIFECYCLE 30;
    

    此表按login_time分区,生命周期30天,customer_id为分布键。可参考.云原生数据仓库AnalyticDB MySQL版 表结构设计

    2024-07-03 09:45:09
    赞同 展开评论 打赏

相关产品

  • 云原生数据仓库AnalyticDB MySQL版
  • 云原生数据仓库 AnalyticDB PostgreSQL版
  • 热门讨论

    热门文章

    相关电子书

    更多
    基于阿里云MaxCompute构建企业云数据仓库CDW的最佳实践建议 立即下载
    PostgresChina2018_陶征霖_新一代数据仓库OushuDB架构剖析 立即下载
    MaxCompute数据仓库数据转换实践 立即下载