首页 文章 精选 留言 我的

精选列表

搜索[安全加速 SCDN],共10000篇文章
优秀的个人博客,低调大师

混合云案例:利用 Databend Cloud 高效加速私有 Databend 的策略与实施

背景 Databend 是一款基于对象存储的存算分离湖仓产品,已成为云上大数据分析中高效且低成本的首选解决方案。目前,Databend 在多个用户场景中得到广泛应用,包括: 新媒体行业数据分析及大屏数据展示 云上 CDH 替代以减少本地磁盘和资源占用 性能明显提升的云上 Greenplum 替代方案 降低用户管理复杂度的云上 Clickhouse 替代方案 ... Databend 将数据持久化存储在对象存储中,计算层无状态且可随意扩展。同时,Databend 还充分利用云上对象存储的无需虚拟专用网络(VPC)的特性,实现了一个统一化的湖仓解决方案。 在云上构建大数据环境时,有两个昂贵的成本需要考虑: 本地磁盘成本,包括大量的闲置存储空间和冗余副本。 流量成本,跨 VPC 通信的带宽费用,通常 1G 带宽的成本都超过 0.5 元。 越来越多的云上用户选择利用 Databend 结合对象存储构建湖仓,以节省本地磁盘成本。由于对象存储无需 VPC,全球写入无需费用,内网请求无带宽费用,从而降低了云上大数据相关费用。 本文将介绍如何通过私有化部署 Databend 和结合公有云上的 Databend Cloud,将核心业务部署在私有环境中,然后借助 Databend Cloud 进行大规模计算和挖掘,用户可以减少 IT 建设成本,并实现强大的云端计算能力。 客户案例: 我们以一家位于阿里云杭州区的短视频内容产业客户为例。其核心业务涉及多平台内容投放,如抖音、快手、微信视频号等。客户在现有系统中部署了 Databend 服务,用于收集多个平台的数据投放情况和订单数据,并在数据平台上展示。这不仅让管理层直观地看到业务数据,也为营销策略提供了数据支持。 业务特征: 多个平台的数据投放:可能出现多个平台回来的订单数据,以及多个 API 的数据回传 数据全网打通:分析用户群体的活跃情况和投放效果 投放的留存分析及转化分析 挖倔分析及数据整理 挑战与解决方案: 该客户面临的主要挑战包括数据去重、多平台数据整合、投放留存分析和数据挖掘。 数据去重:由于多平台数据回传,可能存在重复数据。客户目前采用创建临时表的方式,接收传输的数据,并通过 SQL 与已入库数据进行比较,入库不重复数据,丢弃重复数据。 全网数据打通:需要对来自多个平台的用户进行匹配,计算用户活跃度和投放情况。由于业务只有 3 台 Databend 机器,有时会面临资源瓶颈。 投放留存和转化分析:可利用 Databend 的 bitmap 和漏斗函数进行方便的分析。 数据挖掘分析:利用 Databend 的索引特性,通过各种 SQL 查询实现高效的数据挖掘分析。 客户目前的挑战是处理大型 SQL 请求对现有资源造成较大压力,但又不希望扩大环境规模(受限于 IT 成本)。因此,结合 Databend Cloud 的使用,可以优化私有化 Databend 部署的成本。 接下来以 TPCH 中的表举例 基本架构如下 从阿里云市场关联 Databend Cloud 用户所在的区有对应的 Databend Cloud,计算和存储不要跨区 私有化环境表对应的 URI 在 Databend Cloud 中创建 attach 只读表 获取原表在存储上的位置 具体操作如下: 获取用户对应表的 URI 例如这里需要找到 tpch_100.lineitem 对应的 uri ,首先 SELECT regexp_substr(snapshot_location, '^\d+/\d+/') AS table_path FROM fuse_snapshot('tpch_100', 'lineitem') LIMIT 1; ┌──────────────────┐ │ table_path │ │ Nullable(String) │ ├──────────────────┤ │ 28/33/ │ └──────────────────┘ 1 row read in 0.013 sec. Processed 1 row, 227 B (79.57 row/s, 17.64 KiB/s) 其中 snapshot_location 是对应的 bucket 下的 root 下指定的位置,默认 root 为:空。 例如我的 oss 配为: SELECT * FROM system.configs WHERE name LIKE '%bucket' OR name LIKE '%root'; ┌───────────────────────────────────────────────────┐ │ group │ name │ value │ description │ │ String │ String │ String │ String │ ├─────────┼──────────────┼────────────┼─────────────┤ │ storage │ gcs.bucket │ │ │ │ storage │ gcs.root │ │ │ │ storage │ s3.bucket │ │ │ │ storage │ s3.root │ │ │ │ storage │ azblob.root │ │ │ │ storage │ hdfs.root │ │ │ │ storage │ obs.bucket │ │ │ │ storage │ obs.root │ │ │ │ storage │ oss.bucket │ wubx-bj01 │ │ │ storage │ oss.root │ wubx202310 │ │ │ storage │ webhdfs.root │ │ │ │ storage │ cos.bucket │ │ │ │ storage │ cos.root │ │ │ └───────────────────────────────────────────────────┘ 13 rows read in 0.009 sec. Processed 155 rows, 9.21 KiB (16.51 thousand rows/s, 981.20 KiB/s) 针对这个环境的 URI 为: 语法: [oss://bucket[/root]/table_path/] oss://wubx-bj01/wubx202310/28/33/ 创建只读表 登录 app.databend.cn 进入 worksheet 创建或是切换到指定库下创建表 attach table lineitem 'oss://wubx-bj01/wubx202310/28/33/' connection=( endpoint_url='https://oss-cn-beijing-internal.aliyuncs.com' access_key_id='x' access_key_secret='x' ) READ_ONLY; 通过 show tables; 确认表存在 show tables; select count(*) from lineietm; 测试 SQL 把 tpch100sf 中 lineitem 挂载到 Databend Cloud 中,测试 Q1 效果为: SELECT 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 <= add_days(to_date('1998-12-01'), -90) GROUP BY l_returnflag, l_linestatus ORDER BY l_returnflag, l_linestatus; 成果展示 规格 TPCH-100 Q1 响应时间 阿里云 S6-8C32G 38.956s Databend Cloud(medium) 10.1s Databend Cloud(xlarge) 2.6s 总结 通过 Databend Cloud,用户可以实现私有化大数据处理与公有云平台的一致性,充分利用 Databend Cloud 的弹性计算能力,快速完成大规模的分析 SQL 计算,使用后即可以释放。这种方法不仅提高了效率,还在成本控制方面提供了显著优势,为用户在数据驱动决策方面提供了强有力的支持。 Connect With Us Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。 👨‍💻‍Databend Cloud:databend.cn 📖Databend 文档:databend.rs/ 💻WeChat:Databend ✨GitHub:github.com/datafuselab…

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

Facebook 开源 Time Card 原子钟技术,以加速互联网服务

Facebook 在昨天分享了其 "Time Cards" 的硬件和软件设计,该设备用于保持其庞大的数据中心在最高效率下进行运转。这种基于极其精确的原子钟和导航卫星的计时技术,最终有助于加快互联网规模下运行的各种服务。 每一台计算设备都需要知道现在是什么时间,有了时间这个维度,设备才能正确提供各种服务并记录各种类型的日志,没有它备份就会失败,金融交易就会出错,许多基本的网络服务就无法运行。 精确的时间数据可以让庞大的服务器集群协同工作,使其更像一台机器。要做到这一点,每台服务器都需要准确知道现在是什么时间。对于 Facebook 这种拥有几十亿用户规模的社交网络而言,没有精确的时间就无法协调数据中心的工作,也就难以为用户提供更好的服务,因此 Facebook 决定打造自己的计时设备。 今天,大多数公司依靠公共 NTP 池(例如 time.facebook.com)作为他们的分层时钟。但是,当互联网连接出现故障时,你的设备跟所有其他远程服务器和服务保持同步的能力也会下降。 Time Card 正是为了消除这些依赖而诞生的,借助 Time Card,即使没有互联网或可靠的 GNSS 连接,也可以将准确时间保持在每 24 小时 1 微秒的误差以内。 Time Cards 本质上是一个电子板,使用了插入显卡等设备相同的 PCI Express 扩展卡技术安装在服务器上。Facebook 把插有 Time Card 并运行其计时软件的服务器称为时间设备。Time Card 通过监听嵌入在 GNSS 导航卫星无线电信号中的计时信息而保持同步。Time Card 虽然安装在数据中心的最深处,但它们连接着安装在屋顶的天线,以接收卫星信号。之后,包括微型原子钟在内的一套电子元件会处理获得的数据,以供数据中心服务器使用。 Time Card 的规格、原理图、材料清单(BoM)和源代码等都已托管至 GitHub 仓库。简而言之,如果你能处理好印刷电路板(PCB)和焊接微小部件的问题,你就能以非常低的成本制作自己的 Time Card。 Facebook 表示,如果普通开发者不需要 Facebook 那么高的时间精度水平,可以通过换上更传统的晶体振荡器使成本降至约 300 美元。 如果开发者的动手能力没有那么强也不用担心,Facebook 将于一家从事计时、定位和导航等电子产品销售的公司 —— Orolia 展开合作,共同销售 Time Card。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

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

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

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

用户登录
用户注册