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

请问一下我业务系统不用mysql,直接用hologres这样行吗? 有没有其他坑,比如主键自增这种?

请问一下我业务系统不用mysql,直接用hologres这样行吗?
有没有其他坑,比如主键自增这种?

展开
收起
cuicuicuic 2023-10-22 22:26:57 85 0
4 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    Hologres是阿里云自研的交互式分析服务,它能够充分满足多种场景中的数据存储方式,包括Point Query(Hbase场景)、Ad-hoc Query(Durid场景)和OLAP Query(Impala场景)等。它的设计理念以实时分析为中心,具有优秀的性能,可以支持压秒级的数据实时分析。

    确实,您可以不使用MySQL而直接使用Hologres作为业务系统的主要数据库。但是要注意,Hologres与MySQL在处理机制上存在一些区别:例如,Hologres默认采用列存+KeyValue行存的方式,这与MySQL的行存储方式不同;同时,Hologres使用的优化器可以将用户执行的SQL高效的运行在计算引擎上。

    此外,Hologres底层采用了postgreSQL引擎,因此在语法、问题解决方案上有很多互通之处。然而,由于Hologres是分布式系统,高并发的混合工作负载可能会给系统带来一定的挑战。因此,当您选择使用Hologres时,需要针对您的业务需求做出合理的规划和设计。

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

    如果您业务系统不用 MySQL,直接用 Hologres 是可行的。Hologres 支持多种数据源,包括但不限于 MySQL、PostgreSQL、Oracle、SQL Server 等。Hologres 还支持丰富的 SQL 语法,可以满足大部分 SQL 查询需求。
    关于主键自增的问题,Hologres 支持主键自增。您可以在创建表时设置主键为自动增长,Hologres 会自动为每一行记录生成唯一的主键。但是,需要注意的是,由于 Hologres 支持分布式存储,因此主键自增可能无法保证在不同节点之间的一致性。因此,在使用主键自增时,需要特别注意业务逻辑,以确保数据的一致性。

    2023-10-23 13:35:28
    赞同 展开评论 打赏
  • 如果支持在线业务 建议首先设计好高可靠的架构 从而支持多负载的隔离。在Holo里 用户的Query可以使用很多资源,访问很多数据,而业务系统需要的都是小query,避免干扰。采用主从架构 或者计算组架构 有隔离之后 是可以支持业务系统的,此回答整理自钉群“实时数仓Hologres交流群”

    2023-10-23 08:07:10
    赞同 展开评论 打赏
  • Hologres是一种实时数据仓库服务,支持标准的SQL语法,兼容PostgreSQL,支持多种异构数据源的实时、离线写入,包括MySQL、Datahub等。Hologres还提供了向量数据库的功能,可以进行高效的向量搜索。

    如果业务系统不需要MySQL的一些特性,比如事务、外键、触发器等,那么可以直接使用Hologres作为数据存储和分析平台。Hologres可以提供秒级交互式查询体验,高并发和低延迟的在线数据服务,以及流批一体的实时数仓解决方案。

    关于主键自增的问题,Hologres目前还不支持PostgreSQL中的SERIAL类型,所以不能直接使用SERIAL来创建自增主键。不过,可以使用PostgreSQL中的另一种方法来实现自增主键,就是创建一个序列,并将主键字段的默认值设置为序列的下一个值。例如:

    -- 创建一个序列
    CREATE SEQUENCE test_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 CACHE 1;
    
    -- 创建一个表,并将id字段的默认值设置为序列的下一个值
    CREATE TABLE test(
        id INT PRIMARY KEY DEFAULT nextval('test_id_seq'),
        age INT
    );
    
    -- 插入数据时,id字段会自动填充为序列的下一个值
    INSERT INTO test(age) VALUES(12);
    

    所以如果你的业务系统是实时分析系统也就是OLAP那完全可以使用hologres,但是如果业务系统还是以增删改为主的OLTP系统那还是要用mysql

    2023-10-22 22:44:26
    赞同 1 展开评论 打赏

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

相关产品

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

    更多
    搭建电商项目架构连接MySQL 立即下载
    搭建4层电商项目架构,实战连接MySQL 立即下载
    PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

    相关镜像