首页 文章 精选 留言 我的

精选列表

搜索[资源调度],共10000篇文章
优秀的个人博客,低调大师

华为云回应组织架构调整:将更多资源投入到 AI 产业和算力产业上

华为云近日宣布组织架构调整,将整合多个事业部并重心转向AI发展。 调整重点围绕产品部、公有云服务部及研发部等核心团队,涉及数十个下层部门与组织。云EI(企业智能)产品线下的盘古大模型相关部门被明确撤销。此次调整将聚焦“3+2+1”业务,其中:3是通算、智算、存储;2是AI PaaS、数据库;1为安全业务。 华为云回应称,此次调整旨在通过软硬协同、架构创新,为客户提供更领先的云服务,并加大AI和算力产业投入。 2024年华为发布的财报显示,公司云计算业务包含跨分部交易的收入金额为688亿元,同比增长24.4%。Canalys数据显示,2025年第一季度,阿里云在中国云服务市场中占据33%的份额,华为云为18%,腾讯云为10%。

优秀的个人博客,低调大师

更高性能表现、更低资源占用,高精度计算数据类型 DecimalV3 揭秘

数值运算是数据库中十分常见的需求,例如计算数量、重量、价格等,为了适应多样化运算场景,数据库系统通常支持精准的数字类型和近似的数字类型,当我们需要精确地表示小数并计算小数时,通常会考虑使用 Decimal 数据类型。区别于浮点小数,Decimal 作为定点小数类型,可以支持高精度的小数运算,因此适用于各种高精度计算的场景,常见的应用场景有以下几种: 金融行业:在金融交易中经常涉及到小数,比如利息、金额的计算,金融场景对数字准确的要求极高,因此精确的小数运算是必要的。 财务软件:财务软件通常需要进行复杂的财务计算,Decimal 类型可以提供精确的小数计算,避免计算过程中产生的舍入误差。 科学计算、工程计算等其他场景。 DecimalV3 功能介绍 在 Apache Doris 1.2.1 之前的版本中,我们已对 Decimal(precision, scale)(precision<=27) 数据类型进行了支持,随着 Apache Doris 用户的持续增长,银行、证券、基金等金融领域的用户也随之快速增长,对高精度的小数计算场景也提出了更高的要求,旧的 Decimal 数据类型已无法满足。因此,我们在 Apache Doris 1.2.1 推出了精度更高、速度更快的 DecimalV3(precision, scale)(precision<=38),实现了真正意义上的高精度定点数,相比于老版本中的 Decimal ,DecimalV3 有以下核心优势: 可表示范围更大。DECIMALV3 对 Precision 和 Scale 的取值范围进行扩充。 内存占用更低,性能更高。老版本的 Decimal 需要占用 16 Bytes 的内存,而 DecimalV3 对内存可进行自适应调整,如下所示。 +----------------------+-------------------+ | precision | 占用空间(内存/磁盘)| +----------------------+-------------------+ | 0 < precision <= 8 | 4 bytes | +----------------------+-------------------+ | 8 < precision <= 18 | 8 bytes | +----------------------+-------------------+ | 18 < precision <= 38 | 16 bytes | +----------------------+-------------------+ 更完备的精度推演。 精度推演规则 DECIMALV3 有一套很复杂的类型推演规则,针对不同的表达式,会应用不同规则进行精度推演,下面来介绍一下推演规则: 四则运算 加法 / 减法:DECIMALV3(a, b) + DECIMALV3(x, y) -> DECIMALV3(max(a - b, x - y) + max(b, y), max(b, y)),即整数部分和小数部分都分别使用两个操作数中较大的值。 乘法:DECIMALV3(a, b) * DECIMALV3(x, y) -> DECIMALV3(a + x, b + y) 除法:DECIMALV3(a, b) / DECIMALV3(x, y) -> DECIMALV3(a + y, b) 聚合运算 SUM / MULTI_DISTINCT_SUM:SUM(DECIMALV3(a, b)) -> DECIMALV3(38, b)。 AVG:AVG(DECIMALV3(a, b)) -> DECIMALV3(38, max(b, 4))(鉴于每个系统 AVG 的精度不同,且不同用户对精度的需求也不一样,经调研,决定选择与 SQLServer 相同的策略,因此选择“4”既能保证较好的性能,也不会有较大的精度损失。) 默认规则 除上述提到的函数外,其余表达式都使用默认规则进行精度推演。即对于表达式 expr(DECIMALV3(a, b)),结果类型同样也是 DECIMALV3(a, b)。 结果精度调整 上述几种规则为当前 Doris 的默认行为,而不同场景对 DECIMALV3 的精度要求各不相同,远超出以上几种规则。当用户有不同的精度需求,可以通过以下方式进行精度调整: 当期望的结果精度大于默认精度时,可通过调整入参精度来调整结果精度。例如用户期望计算AVG(col)得到DECIMALV3(x, y)作为结果,其中col的类型为 DECIMALV3(a, b),则可以改写表达式为AVG(CAST(col as DECIMALV3(x, y)))。 当期望的结果精度小于默认精度时,可通过对输出结果求近似得到想要的精度。例如用户期望计算AVG(col)得到DECIMALV3(x, y)作为结果,其中col的类型为DECIMALV3(a, b),则可以改写表达式为ROUND(AVG(col), y)。 使用演示 这里我们采用 Bitcoin 的数据集对 DecimalV3 进行演示。 Bitcoin 的数据集部分示例如下: Unix - 时间戳 Date - 时间 Symbol - 时间序列数据所指代的交易品种 Open - 该时间段的开盘价 High - 该时间段的最高价 Low - 该时间段的最低价 Close - 该时间段的收盘价 Volume BTC - BTC 金额 Volume USD - USD 金额 以下是在 Doris 中的建表存储数据,其中小数的列分别用 DecimalV3 进行存储: CREATE TABLE `btc` ( `unix` bigint(20) NOT NULL, `date` datetime NULL, `symbol` varchar(30) NULL, `open` decimalv3(8, 2) NULL, `high` decimalv3(8, 2) NULL, `low` decimalv3(8, 2) NULL, `close` decimalv3(7, 2) NULL, `Volume_BTC` decimalv3(10, 8) NULL, `Volume_USD` decimalv3(38, 30) NULL ) ENGINE=OLAP DUPLICATE KEY(`unix`) COMMENT 'OLAP' DISTRIBUTED BY HASH(`unix`) BUCKETS 4 PROPERTIES ( "replication_allocation" = "tag.location.default: 1" ); 我们来计算一下 2022 年 1 月 1 日这一天的平均 Volume_BTC/Volume_USD 以及总的 Volume_BTC/Volume_USD: mysql> select avg(Volume_BTC),avg(Volume_USD),sum(Volume_BTC),sum(Volume_USD) from btc where to_date(date)='2022-01-01'; +-------------------+--------------------------------------+-------------------+-----------------------------------------+ | avg(`Volume_BTC`) | avg(`Volume_USD`) | sum(`Volume_BTC`) | sum(`Volume_USD`) | +-------------------+--------------------------------------+-------------------+-----------------------------------------+ | 0.51494486 | 24236.665942788256243957638888888888 | 741.52060313 | 34900798.957615088991299000000000000000 | +-------------------+--------------------------------------+-------------------+-----------------------------------------+ 通过 SQL 的执行结果可以看到,通过 DecimalV3,在 Volume_USD 这一列的平均结果和总和上,实现了保留 30 位的小数。而旧的 Decimal 类型在这个例子中只能实现保留不超过 20 位。 性能对比 我们采用 TPC-H Benchmark 100G 来对比 DecimalV3 与老版本 Decimal 的执行速度、存储占用、内存占用等性能。 我们在两个库分别对新版 DecimalV3 和老版本 Decimal 进行建表。建表完成如下: tpch1库为DecimalV3 tpch2库为老版本Decimal 执行速度 采用 TPC-H Benchmark 对执行速度进行测试: SQL Q1 select /*+SET_VAR(exec_mem_limit=8589934592, parallel_fragment_exec_instance_num=16, enable_vectorized_engine=true, batch_size=4096, disable_join_reorder=false, enable_cost_based_join_reorder=false, enable_projection=false) */ l_returnflag, l_linestatus, sum(l_quantity) as sum_qty, sum(l_extendedprice) as sum_base_price, sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, avg(l_quantity) as avg_qty, avg(l_extendedprice) as avg_price, avg(l_discount) as avg_disc, count(*) as count_order from lineitem where l_shipdate <= date '1998-12-01' - interval '90' day group by l_returnflag, l_linestatus order by l_returnflag, l_linestatus; tpch1库(DecimalV3)的 SQL 执行结果为 6.38s tpch2 库(老版本 Decimal)的 SQL 执行结果为 8.13s SQL Q1 所查询的表是上述展示字段的表 Lineitem,我们可以看到在 DecimalV3 的情况下,查询 速度较老版本有 27.4% 的提升。 存储占用 tpch1库(DecimalV3)的 Lineitem 表的存储占用为 18.475GB tpch2 库(老版本 Decimal)的 Lineitem 表的存储占用为 20.893GB 可以看到在有四个字段由 Decimal 改为 DecimalV3 的情况下,存储占用有 13.1%的降低。 内存占用 内存占用测试我们同样使用 Lineitem 表,采用自己改写的一条 SQL select count(*) from ( select l_quantity,l_extendedprice,l_discount,l_tax from lineitem where l_shipdate < '1995-01-01' group by l_quantity,l_extendedprice,l_discount,l_tax )tmp; 下图的 Grafana 监控中可以看到执行测试前的 Doris 内存稳定为 12.2GB 分别在两个库执行上述 SQL 在 tpch1库(DecimalV3)下执行,内存占用峰值为 26.6GB 内存回落正常后,在 tpch2 库(老版本 Decimal)下执行,内存占用峰值为 30.8GB 从上方三张图中可以看到,这条 SQL 在 DecimalV3 的情况下不仅内存占用降低了 15.8%,执行时间也缩短了10s。 总结 Apache Doris 1.2.1 版本推出的 DecimalV3 实现了更高的精度,更高的性能,更完备的精度推演,使得 Doris 更加适用于金融财务、科学计算等有精确计算需求的应用场景,结合 Apache Doris 强大的分析计算性能,给相关用户及行业提供了更准确、完善的数据服务。 接下来,社区还将实现 JDBC 外表对 DecimalV3 类型的支持,JDBC Catalog 可以通过标准 JDBC 协议,连接其他数据源,连接后 Doris 会自动同步数据源下的 Database 和 Table 的元数据,以便快速访问这些外部数据。基于 JDBC 的通用性,结合 Apache Doris 的 高性能分析能力,实现对各类数据库数据联邦查询的高精度计算。 本文作者: 钟永康,SelectDB 生态研发工程师 李文强,SelectDB 数据库内核研发工程师,Apache Doris Committer

优秀的个人博客,低调大师

【百人团试用】华为云试用活动征集,万元云资源免费拿

华为云致力于提供稳定可靠、安全可信、可持续创新的云服务,通过将公司30多年在ICT基础设施领域的技术积累和产品解决方案开放给客户,能够为全栈全场景AI战略提供强大的算力平台和更易用的开发平台。 根据Gartner发布最新《Market Share: IT Services, Worldwide 2019》研究报告,华为云全球IaaS市场排名上升至第六,其增速高达222%,中国市场排名前三。短短几年,华为云已经赢得超过300万+企业用户和开发者的信赖。 为了持续提升用户的使用体验,现参加华为云免费试用活动,用户仅需撰写试用报告,即可免费获得1年的华为云主机。赶快【点击报名】参加华为云免费试用活动吧! 试用细则 活动时间:2020年6月9日—6月30日 报名资格:凡是从开源中国活动页面注册的华为云新用户,均可报名本次“0”元试用活动; 试用产品:本次提供的试用产品为华为云1核2G云耀云服务器,活动价88元/年,现可“0”元申请; 押金说明:申请用户在完成注册+认证后,需要先由个人支付此次试用产品的购买费用,待提交试用报告后,由开源中国官方人员返还试用押金; 报告说明:报告需要在20个工作日内提交,可以是自己的试用体验或试用过程中的优化建议,优秀报告提交者,一经官方确认,将额外获得价值420元(原价3300元)的2核4G云耀云服务器1年使用资格; 报告提交:将购买华为云产品截图+试用报告发送邮件至,baiyan#oschina.cn(将“#”改为“@”); 试用名额:仅限前100名新注册用户享有本次活动资格,名额有限,先到先得。【报名地址】 联系微信小助手,确认活动报名资格

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册