开发者社区 > 大数据与机器学习 > 实时数仓 Hologres > 正文

阿里云的工程师你们好,请教一个问题:在行式存储的 Hologres 中新增一列,DB 会锁表吗?

阿里云的工程师你们好,请教一个问题:在行式存储的 Hologres 中新增一列,DB 会锁表吗?如果不会的话现在是怎么处理的呢?

展开
收起
真的很搞笑 2023-12-01 11:38:42 111 0
5 条回答
写回答
取消 提交回答
  • 在行式存储的Hologres中新增一列,确实会涉及到表结构的变化,因此会有可能触发表结构的锁定。这种锁定称作表Schema锁,当事务需要读取或修改表结构时会申请这种锁,大部分的事务在执行过程中都会申请这种锁。

    具体到操作中,如果您想要在Hologres的表中新增一列,可以使用如下的ALTER TABLE语句:

    ALTER TABLE IF EXISTS [schema_name.]<table_name> ADD COLUMN <new_column> <data_type>;
    

    例如,如果您想在名为test的表中增加一个名为id的列,可以使用以下语句:

    ALTER TABLE IF EXISTS public.test ADD COLUMN id int;
    

    但需要注意的是,由于表结构变更可能会引发锁,所以在执行这类操作时要考虑到可能对业务的影响,并尽量避开业务高峰期进行此类重大修改。同时,如果表数据量较大,增加新列的操作可能需要较长的时间,具体情况和数据量、硬件性能等因素有关。

    2023-12-02 15:22:06
    赞同 展开评论 打赏
  • 不会的。

    ALTER TABLE语句可以给表增加列,仅支持在表的最后一列之后增加新的列。https://help.aliyun.com/zh/hologres/user-guide/alter-table?spm=a2c4g.11186623.0.i37

    image.png

    2023-12-02 10:11:53
    赞同 展开评论 打赏
  • 在Hologres中新增一列时,数据库不会锁表。Hologres使用了一种非阻塞的DDL(数据定义语言)技术,即使在执行DDL操作期间,也可以继续对表进行读写操作。

    当您执行ALTER TABLE语句来新增一列时,Hologres会以一种无锁的方式进行处理。它会在后台创建新的列,并逐步将现有数据迁移到新列上。这样可以确保在新增列的同时,仍然可以对表进行正常的查询和修改操作。

    需要注意的是,在新列完全添加和数据迁移完成之前,该列可能处于不可见状态。因此,在新增列后立即查询该列可能无法获取到预期的结果。建议等待一段时间,直到新增列的完全生效。

    2023-12-02 09:54:55
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在Hologres中,对行式存储的表进行操作时,确实会有一些需要注意的地方。关于是否锁表的问题,根据我的知识库信息,我没有找到直接说明Hologres在添加列时是否会锁定整个表的信息。

    通常情况下,在分布式数据库系统中,为了保证数据一致性,当执行某些DML(数据操作语言)操作时可能会涉及到表级别的锁定。然而,现代数据库管理系统也尽可能地减少锁的影响范围和持续时间,以提高并发性和性能。

    对于Hologres这样的云原生实时数仓服务,它可能采用了更先进的并发控制机制来处理增删改查操作,而不是简单地使用全表锁。例如,它可能使用了行级锁、元组级锁或者乐观并发控制等技术。

    具体到添加一列的操作,如果不会导致大量的数据迁移或重组,可能不需要长时间的锁表。但是,这仍然取决于具体的实现方式和表的大小。对于大规模的数据表,即使没有完全锁住表,也可能需要一些时间来完成这个操作。

    2023-12-01 16:00:23
    赞同 展开评论 打赏
  • 会的,虽然会锁表,但是因为只是meta层面改一下,耗时是非常短的。,此回答整理自钉群“实时数仓Hologres交流群”

    2023-12-01 11:53:49
    赞同 展开评论 打赏

本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975

相关产品

  • 实时数仓 Hologres
  • 相关电子书

    更多
    实时数仓Workshop(广州站)- 李佳林 立即下载
    阿里云实时数仓Hologres技术揭秘2.0 立即下载
    实时数仓Hologres技术实战一本通2.0版(下) 立即下载