暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

产品品牌战略升级!原StoneData正式改名为StoneDB数仓版,2.0 公测镜像版正式发布!(附部署流程)

石原子科技 2024-01-21
74

尊敬的各位合作伙伴、用户朋友:

感谢大家一直来对石原子科技的大力支持!

为了配合公司战略业务的实施和后续品牌规划的发展,石原子科技旗下云数仓产品 StoneData 于 2024 年 01 月 21 日正式更名为 StoneDB数仓版,品牌战略全面升级!

公司品牌升级期间,新旧 LOGO、域名相关的名片、协议、宣传页、网站、海报、新媒体平台等处于正常切换过渡中,新旧标识和域名具有同等效力,各产品服务不受影响。石原子科技依旧拥有原 StoneData 的商标、著作权、专利等相关知识产权。

https://www.stoneatom.com/download

StoneDB 数仓版 2.0镜像目前已经上线石原子科技下载中心
欢迎广大客户伙伴们试用,如需帮助咨询,请添加小助手微信联系我们

StoneDB 数仓版产品介绍

StomAtom

StoneDB 数仓版是石原子自研的基于全场景的新一代高性能、低成本的离在线一体化实时数仓,高度兼容 MySQL 语法,毫秒级更新,亚秒级查询,满足准实时和实时分析需求,一体化架构将实时和离线融合,减少数据冗余和移动,具有简化技术栈架构的能力;实现业务与技术解耦,支持自助式分析和敏捷分析;无论是数据湖中的非结构化或半结构化数据,还是数据库中的结构化数据,都可使用 StoneDB数仓版构建企业的数据分析平台,同时完成高吞吐离线处理和高性能在线分析,实现降本增效。

StoneDB 数仓版 2.0 Release Notes

StomAtom

概要

  • 优化数据库连接管理
  • 增加向量化执行
  • 增加湖仓能力,增加了直接访问 Hive 外部表的能力;
  • 大幅提升数据装载性能,写入性能较之前版本有 3-5 倍的提升;
  • 修复若干 bug,提升系统稳定性

重要功能

1.新的 MySQL 连接管理实现

我们重新设计并实现了 MySQL 连接层管理,新的连接层有更好的ProcessList 管理能力、更优的内存控制机制、在高并发下有更稳定的性能表现。支持更大的连接数,并且提供更优的并发处理能力

2.单表增量物化视图刷新

2.0 版本支持用户使用单表增量物化视图的方式,让表中的某些列做聚合上卷。目前支持  COUNT SUM MIN MAX  四类上卷方式。

DBA 在创建好增量物化视图表后,优化器可以根据执行代价将对于基表的查询自动改写为对于增量物化视图表的查询。

3.新增导入数据源

  • 支持从外部数据源导入数据,支持 Parquet/ORC 文件格式导入
  • 支持 Hive 形式的外表的创建和查询操作。
  • 支持更灵活的外表导入方式。

4.资源隔离

资源隔离功能支持用户创建一个或多个资源组,并限制资源组能够使用集群的资源比例。将用户帐号和某个资源组建立绑定关系后,该用户的查询请求会被提交到配置的资源组中执行。通过这种软限制用户可以实现集群负载管理。

5.新的动态采样机制

2.0 版本重新设计了动态采样机制,新的机制可以动态的评估表的数据变化率并决定是否对表重新做采样。我们也优化了表采样逻辑,限制了采样时对数据库的负载比例。

功能优化

1.SQL Parser 优化

在 2.0 版本中,我们优化了 DDL 与 DCL 的 SQL 词法解析过程。新的 Parser 实现对语法有更好的兼容性和更好的性能。

2.Cascades 优化器

优化了代价计算模型,新增了 FILTER SCAN AGGREGATION 的代价计算模型,优化了 JOIN 的代价计算模型。新增 AGGRATION FILTER SCAN 的 TOP-DOWN 的 CBO 优化。

3.性能优化

  • 优化并重写了 TableWriterOperator 算子,在 INSERT INTO SELECT 场景下性能有较好表现(一倍提升);
  • 优化并重写了 INSERT INTO 语法实现,与 Release 1.2.2 相比,性能提高了 4.5 倍;
  • 元数据的查询支持谓词下推。随着谓词的下推和查询数据量的减少,查询性能提升显著;
  • 新的 CSV Parser 实现。新的 Parser 对特殊字符有更好的兼容性,并且有更好的性能提升。

BUG 修复

部分 bug 修复

通过 Ansible 部署 StoneDB 数仓版

StomAtom

环境准备

  • Linux 服务器, 需要 ROOT 用户(目前的Ansible部署方式只支持ROOT用户,因为涉及到节点之间的防火墙白名单设置)
  • 安装 mysql
  • 安装 zookeeper
  • 镜像包

第一步:SSH免密配置

生成公钥、私钥

在安装包所在的服务器通过root用户执行命令生成公钥、私钥。

ssh-keygen

然后对于弹出提示直接三次回车即可。

拷贝公钥到目标服务器

将公钥拷贝到所有用到的服务器

ssh-copy-id root@xxx.xxx.xxx.xxx

测试ssh免密登录

对每个服务器执行命令

ssh root@xxx.xxx.xxx.xxx

如果都不需要输入密码,就代表设置成功了。

第二步:检查并配置hosts

检查并修改各个服务的/etc/hosts文件,必须是内网IP对应hostname,不能是127.0.0.1/127.0.1.1,格式如下

<内网IP> <hostname>

第三步:安装包下载

下载安装包,将安装包下载到某个服务器上,Ansible安装包下载地址:

https://stoneatom-release.oss-cn-hangzhou.aliyuncs.com/stonedata_deploy/install-stonedb-warehouse-2.0.0.2-community.tar.gz

将安装包解压,执行如下命令

tar -zxvf install-stonedb-warehouse-2.0.0.2-community.tar.gz

解压后进入./offline-hydrogen/install

cd ./offline-hydrogen/install

第四步:配置以及安装

单机、两台机器、四台机器的配置中使用了yaml的锚点提取常用的配置,在common_value下,当然也可以根据需要自行配置,具体配置内容请参考4. host.yaml自定义配置。

单机版安装配置

修改single-hosts.yaml文件,需要修改的常用配置如下:

---
common_value:
 # 镜像版本号
  version: &version 2.0.0.2-Community-release
  # 主机内网IP
  host: &host 192.168.42.234
  # mysql、zookeeper、console的cpu核数
  cpus: &cpus 1
  # mysql、zookeeper、console的内存大小
  memory: &memory 2G
  # console访问rc节点的url
  rc_dns_url: &rc_dns_url '192.168.42.234:3001'
  # rc节点的cpu核数
  rc_cpus: &rc_cpus 4
  # rc节点的内存大小
  rc_memory: &rc_memory 8G
  # worker节点的cpu核数
  worker_cpus: &worker_cpus 8
  # worker节点的内存大小
  worker_memory: &worker_memory 16G
  # worker节点的磁盘大小
  worker_disk_size: &disk_size 40G

查看或修改ansible.cfg文件中inventory配置的值是否为single-hosts.yaml,默认为single-hosts.yaml,其它配置内容不变,设置后配置如下:

[defaults]
inventory=./single-hosts.yaml

最后执行安装命令进行安装,安装时间较久,请耐心等待,当出现hdb install finish!表示已经安装完成。

sh ./start_py3.sh

两台机器安装配置

修改2nodes-hosts.yaml文件,和单机部署配置基本一样,worker_host为新增的配置,修改的配置如下:

---
common_value:
 # 镜像版本号
  version: &version 2.0.0.2-Community-release
  # 主机内网IP,mysql、zookeeper、console、rc节点的安装机器IP
  host: &host 192.168.42.234
  # mysql、zookeeper、console的cpu核数
  cpus: &cpus 1
  # mysql、zookeeper、console的内存大小
  memory: &memory 2G
  # console访问rc节点的url
  rc_dns_url: &rc_dns_url '192.168.42.234:3001'
  # rc节点的cpu核数
  rc_cpus: &rc_cpus 4
  # rc节点的内存大小
  rc_memory: &rc_memory 8G
  # worker节点内网IP
  worker_host: &worker_host 192.168.42.235
  # worker节点的cpu核数
  worker_cpus: &worker_cpus 8
  # worker节点的内存大小
  worker_memory: &worker_memory 16G
  # worker节点的磁盘大小
  worker_disk_size: &disk_size 40G

查看或修改ansible.cfg文件中inventory的配置,默认为single-hosts.yaml,需要修改为2nodes-hosts.yaml,其它配置内容不变,修改后配置如下:

[defaults]
inventory=./2nodes-hosts.yaml

最后执行安装命令进行安装,然后请耐心等待,当出现hdb install finish!表示已经安装完成。

sh ./start_py3.sh

4台机器安装配置

修改4nodes-hosts.yaml文件,和单机部署配置基本一样,worker_host1、worker_host2、worker_host3为新增的配置,修改的配置如下:

---
common_value:
 # 镜像版本号
  version: &version 2.0.0.2-Community-release
  # 主机内网IP,mysql、zookeeper、console、rc的安装机器IP
  host: &host 192.168.42.234
  # mysql、zookeeper、console的cpu核数
  cpus: &cpus 1
  # mysql、zookeeper、console的内存大小
  memory: &memory 2G
  # console访问rc节点的url
  rc_dns_url: &rc_dns_url '192.168.42.234:3001'
  # rc节点的cpu核数
  rc_cpus: &rc_cpus 4
  # rc节点的内存大小
  rc_memory: &rc_memory 8G
  # worker节点1内网IP
  worker_host1: &worker_host1 192.168.42.235
  # worker节点2内网IP
  worker_host2: &worker_host2 192.168.42.236
  # worker节点3内网IP
  worker_host3: &worker_host3 192.168.42.237
  # worker节点的cpu核数
  worker_cpus: &worker_cpus 8
  # worker节点的内存大小
  worker_memory: &worker_memory 16G
  # worker节点的磁盘大小
  worker_disk_size: &disk_size 40G

ansible.cfg文件中inventory配置的默认为single-hosts.yaml文件,需要修改为4nodes-hosts.yaml,其它配置内容不变,修改后配置如下:

[defaults]
inventory=./4nodes-hosts.yaml

最后执行安装命令进行安装,然后请耐心等待,心急吃不了热豆腐,当出现hdb install finish!表示已经安装完成。

sh ./start_py3.sh

hosts.yaml自定义配置

all:
  children:
    # mysql
    mysql:
      hosts:
        # mysql安装的机器内网ip地址
        192.168.1.111:
          mysql:
            # mysql安装的端口号
            port: 3306
            # mysql数据的存储地址
            volume: /data/mysql
            # mysql的cpu核数
            cpus: 10
            # mysql的内存大小
            memory: 16G
            # mysql的密码
            password: 123456

    # zookeeper
    zookeeper:
      hosts:
        # zookeeper安装的机器内网ip地址
        192.168.1.111:
          zookeeper:
            # zookeeper数据的存储地址
            volume: /data/zookeeper
            # zookeeper的cpu核数
            cpus: 10
            # zookeeper的内存大小
            memory: 16G

    # atomdata_2.0
    core:
      vars:
        # 镜像库地址
        image_repository: harbor.stoneatom.cn/stonedata/hdb
        # 镜像版本
        version: 2.0.0.2-Community-release
        # worker节点信息,group_ids下为几个工作组,需要包括hosts下type为worker的所有group_id值
        # replication_num为worker的group_id有几个副本数,需要对应上
        worker_instance_info: |
          {"group_ids":["w1","w2","w3"],"replication_num":3}
        # 集群的root用户密码
        cluster_root_pwd: Aa123456
        # 是否为恢复集群,目前都为false,改为true会导致启动失败
        restore: 'false'                                # default: false
        # 是否启动资源组
        start_resource_group: 'false'                   # default: false
        # 集群id
        cluster_id: 1
        # 集群名称
        cluster_name: hdb
      hosts:
        # console节点安装的机器内网ip地址
        192.168.1.111:
          # core下type可为consoel、rc、worker,单台机器可以部署多个
          core:
            # 定义该类型为console节点
            - type: console
              # console的内存大小
              memory: 4G
              # console的cpu核数
              cpus: 2
              # console的健康检查端口
              health_check_port: 3100                       # default: 3100
              # console访问rc的地址
              rc_dns_url: '192.168.1.101:3001'
              # console的日志存储地址
              log_dir: /data/atomdata/console/log
        # rc节点安装的机器内网ip地址
        192.168.1.101:
         # core下type可为consoel、rc、worker,单台机器可以部署多个
          core:
           # 定义该类型为rc节点
            - type: rc
              # rc节点的内网ip地址
              node_ip: 192.168.1.101
              # rc节点的内存大小
              memory: 240G
              # rc节点的cpu核数
              cpus: 60
              # rc节点的组ID
              group_id: rc
              # rc节点的实例ID
              instance_id: rc-1
              # rc节点的健康检查端口
              health_check_port: 3100                       # default: 3100
              # rc节点的日志存储地址
              log_dir: /data/atomdata/rc/log
              # rc节点的数据存储地址
              data_dir: /data/atomdata/rc/data
        # worker节点安装的机器内网ip地址,这台机器部署了3个worker节点,
        # 注意cpu、内存和磁盘大小是否足够
        192.168.1.103:
          # core下type可为consoel、rc、worker,单台机器可以部署多个
          core:
            # 定义该类型为worker的节点
            - type: worker
              # worker节点的内网ip地址
              node_ip: 192.168.1.103
              # worker节点的内存大小
              memory: 240G
              # worker节点的cpu核数
              cpus: 60
              # worker节点的健康检查端口
              health_check_port: 3100                       # default: 3100
              # worker节点的磁盘大小
              disk_size: 4000G
              # worker节点的组id
              group_id: w1
              # worker节点的实例id
              instance_id: w1-1
              # worker节点的日志存储地址
              log_dir: /data/atomdata/w1-1/log
              # worker节点的数据存储地址
              data_dir: /data/atomdata/w1-1/data
            - type: worker
              node_ip: 192.168.1.103
              memory: 240G
              cpus: 60
              health_check_port: 3101                       # default: 3100
              disk_size: 4000G
              group_id: w2
              instance_id: w2-2
              log_dir: /data/atomdata/w2-2/log
              data_dir: /data/atomdata/w2-2/data
            - type: worker
              node_ip: 192.168.1.103
              memory: 240G
              cpus: 60
              health_check_port: 3102                       # default: 3100
              disk_size: 4000G
              group_id: w3
              instance_id: w3-3
              log_dir: /data/atomdata/w3-3/log
              data_dir: /data/atomdata/w3-3/data
        # worker节点安装的机器内网ip地址,这台机器部署了3个worker节点,
        # 注意cpu、内存和磁盘大小是否足够
        192.168.1.104:
          core:
            - type: worker
              node_ip: 192.168.1.104
              memory: 240G
              cpus: 60
              health_check_port: 3100                       # default: 3100
              disk_size: 4000G
              group_id: w2
              instance_id: w2-1
              log_dir: /data/atomdata/w2-1/log
              data_dir: /data/atomdata/w2-1/data
            - type: worker
              node_ip: 192.168.1.104
              memory: 240G
              cpus: 60
              health_check_port: 3101                       # default: 3100
              disk_size: 4000G
              group_id: w3
              instance_id: w3-2
              log_dir: /data/atomdata/w3-2/log
              data_dir: /data/atomdata/w3-2/data
            - type: worker
              node_ip: 192.168.1.104
              memory: 240G
              cpus: 60
              health_check_port: 3102                       # default: 3100
              disk_size: 4000G
              group_id: w1
              instance_id: w1-3
              log_dir: /data/atomdata/w1-3/log
              data_dir: /data/atomdata/w1-3/data        
        # worker节点安装的机器内网ip地址,这台机器部署了3个worker节点,
        # 注意cpu、内存和磁盘大小是否足够
        192.168.1.105:
          core:
            - type: worker
              node_ip: 192.168.1.105
              memory: 240G
              cpus: 60
              health_check_port: 3100                       # default: 3100
              disk_size: 4000G
              group_id: w3
              instance_id: w3-1
              log_dir: /data/atomdata/w3-1/log
              data_dir: /data/atomdata/w3-1/data
            - type: worker
              node_ip: 192.168.1.105
              memory: 240G
              cpus: 60
              health_check_port: 3101                       # default: 3100
              disk_size: 4000G
              group_id: w1
              instance_id: w1-2
              log_dir: /data/atomdata/w1-2/log
              data_dir: /data/atomdata/w1-2/data
            - type: worker
              node_ip: 192.168.1.105
              memory: 240G
              cpus: 60
              health_check_port: 3102                       # default: 3100
              disk_size: 4000G
              group_id: w2
              instance_id: w2-3
              log_dir: /data/atomdata/w2-3/log
              data_dir: /data/atomdata/w2-3/data

关于石原子科技
石原子科技成立于 2021 年10 月,拥有国内顶级的数据库人才与专家,创始成员源于阿里云 PolarDB、AnalyticDB,腾讯云 TDSQL,华为云 GaussDB,Oracle 等国内外知名数据库团队,专注于一体化 MySQL 实时 HTAP 数据库和离在线一体化实时数据仓库的研发与应用,依托云中立的数据技术进行产品设计,致力于为客户提供大规模、高性能、低成本的一站式实时数据分析服务。

石原子科技坚持精细布局、自主创新的产品研发路线,打造了两款标杆信创产品:
业内首个单机内核开源、行列混存+内存计算架构的一体化 MySQL HTAP 数据库 StoneDB 单机版

该产品对标 Oracle HeatWave,使用 MySQL 的用户,通过 StoneDB 可以实现 TP+AP 混合负载,分析性能显著提升 10-100 倍以上,不需要进行数据迁移,也无需与其他 AP 系统集成,弥补 MySQL 分析领域的空白,通过 AP 增强到自主可控的 TP,瞄准大量 MySQL 信创升级 + 替代市场。


基于全场景的新一代高性能、低成本的离在线一体化实时数仓 StoneDB 数仓版
高度兼容 MySQL 语法,毫秒级更新,亚秒级查询,满足准实时和实时分析需求,一体化架构将实时和离线融合,减少数据冗余和移动,具有简化技术栈架构的能力;实现业务与技术解耦,支持自助式分析和敏捷分析;无论是数据湖中的非结构化或半结构化数据,还是数据库中的结构化数据,都可使用 StoneDB数仓版 构建企业的数据分析平台,同时完成高吞吐离线处理和高性能在线分析,实现降本增效。


公司成立至今,已积累了上千位用户,种子客户达 300 多家,取得 30+ 项软件著作权,成功申请并获准通过了 16+ 项技术专利,分别获评杭州市创新型中小企业、浙江省科技型中小企业、国家级科技型中小企业,产品通过公安部三所自主原创性认证,全面满足信创和等保要求。


文章转载自石原子科技,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论