Toco x Databend:Databend Cloud 如何满足 Web3 大数据服务的严苛考验?

news2024/11/18 13:19:16

Toco 是一家位于瑞士的 Web3 服务提供商,致力于通过彻底改变全球金融体系的陈旧观念来应对气候变化。他们提供了一种开创性的碳货币 Tocos,每个流通中的 Tocos 代表一吨二氧化碳当量,存储在安全可靠的数字钱包中。用户可以使用 Tocos 应用轻松地将当地货币兑换为 Tocos,然后使用 Tocos 消费、储蓄或交易。每次用户使用 Tocos 进行日常交易时,都在通过推动对更多碳去除的需求来采取积极的气候行动。

业务挑战

目前,Toco 正在慢慢向欧洲扩张,已经开始进入多个国家。在整个行业进入快速增长的背景下,Toco 预计在未来的几个月中会面临较大的增长挑战。而对其技术团队而言,当其市场营销推广不断拓展时,对数据基础设施的考验才真正开始。营销团队想把所有东西都变成数据,以各种方式展现在人们的眼前。

因此,Toco 对大数据和分析平台的要求非常高,他们以数据为核心资产,并要求数据技术栈要具备模块化、自由扩展和变化的能力。Toco 想要的数据库,是一个可以访问 S3 Bucket,也可以使用不同工具从 S3 Bucket 中读取文件的数据库。同时,Toco 还希望这个数据库是一个计算、存储分离的架构,具备真正的灵活性和模块化。这样一来,Toco 对数据库选型的范围就缩小到了极少数。

为什么选择 Databend Cloud?

Databend Cloud 凭借着优秀的存储、计算分离架构和以下功能特点顺利进入了 Toco 的选型:

  1. Databend Cloud 借鉴了 Snowflake 的集群优点,以增强分布式计算能力。Databend Cloud 与 Snowflake 在体验上基本没有任何改变,这对 Toco 而言是极具吸引力的一点。但 Databend Cloud 在资源精细化调度、资源利用率方面都优于 Snowflake,成本也更低;
  2. Databend Cloud 具有业界领先的向量化计算引擎,所有算子都已经实现了向量化,大幅提升单机计算性能和分布式集群能力;
  3. Databend Cloud 完全基于对象存储设计,支持 HDFS、Amazon S3, Azure Blob, OSS, COS 等 20 多种对象存储协议。在对象存储上,真正实现了存储、计算分离,资源控制粒度更细。计算节点可以根据需求弹性扩展,而不受存储容量限制。Databend Cloud 还内置了 Stream(CDC)+ Task 流式运算及任务调度,可以实现流批一体化方案;
  4. Databend Cloud 提供对 STAGE 的原生支持。STAGE 是 Databend Cloud 数据流转的核心,用户可以从 STAGE 中加载数据和向 STAGE 中导出数据,还可以直接在 STAGE 中进行数据查询。用户只需要为 Databend Cloud 创建一个包含数据文件的 STAGE,就可以轻松进行数据查询,无需编写复杂的建表语句或繁琐的数据导入流程。在实际操作中, STAGE 向 Table 流转也非常简单。

Toco 技术负责人表示:“Toco 是一家正在成长中的公司,对大数据和数据分析平台要求非常高,Databend Cloud 基于对象存储设计,在低成本、高性能的同时还提供了完整灵活的数据处理流程,没有多少工具能够提供这样的便利性。”

解决方案

目前,Toco 将 Databend Cloud 作为主要的分析数据库来满足当前需求。应用主要分为几个阶段:

第一阶段:数据获取及处理

这一阶段,Toco 主要从应用程序的 API 和市场营销活动网页中获取数据,然后利用 Mage orchestration 来管理这些数据处理流程。Orchestration 会对端点的多个请求进行协调,以收集数据。然后将其向前推送到 S3 Bucket,Databend 从 S3 Bucket 中读取数据。Toco 还会在数据库中运行 DBT 流程,以转换和准备数据,这构成了一个非常强大的数据仓库。 

第二阶段:数据访问及展示

一旦数据准备好供客户使用,Toco 会通过 Superset 将处理过的表数据推送给客户。对于内部用户,Toco 会提供访问公共的 Superset Dashboard 权限,用户可以直接连接 Databend Cloud 并读取数据。公众也可以通过 Superset 面板访问某些数据。

这种结构化的方式确保了内部和外部客户都能以无缝、高效的方式访问必要的数据,但这个过程还缺乏自动化的流程,Toco 技术团队计划完善和扩展这些流程,以满足未来的需要。

由于平时的广告营销活动并没有存储所有数据,比如 PostgreSQL 和 MongoDB 数据库中的表数据。API 的方式很难满足需求,下一阶段,Toco 决定采用 Airbyte(Airbyte 是一种开源数据集成软件,会将应用程序、API和数据库中的数据同步到数据仓库、数据湖和其他目的地) 替代 API 获取数据,以自动化的方式自动创建源表和 S3 Bucket。开发人员对数据库的任何更改都会自动出现在源表上。

未来探索

目前,Toco 在使用 Databend Cloud 作为其分析数据库后,一切运行平稳顺畅,基本没遇到过什么问题。当后期营销越来越多时,可能会面临用户量激增的局面,届时 Toco 需要做“battle test”,在生产环境中检测系统的稳定性。

同时,Toco 计划把一些数据从 Databend Cloud 推送到用户的 API 端,然后使用 Airbyte 和 CDC ,做实时数据流分析的探索。这部分数据将主要提供给营销人员使用,例如实时确定客户的细分画像,这要求数据库具备准实时的数据分析能力,Databend Cloud 可以提供近实时数据分析,为业务提供时效性更强的业务决策支撑,帮助 Toco 应对日益增长的业务需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1856821.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

捕捉过往的时光,5个步骤,安卓手机找回删除的照片

手机不仅仅是一个通讯工具,更是一个记录生活点滴的神器。手机照相机的出现,让我们随时随地都能捕捉到美好的瞬间,留下珍贵的回忆。然而,随着时间的推移,我们可能会不小心删除了这些照片,或者因为各种原因导…

JavaScript的运行机制

阐述几个概念 1. ECStack ( Execution Context Stack)执行环境栈 浏览器会在计算机内存中分配一块内存,专门用来供代码执行的 2. Heap堆内存 存放东西(存放对象和方法即引用类型) 3. EC ( Execution Context ) 执行上下文 代码自己执行所在的环境 …

论文翻译 | SELF-RAG: 学习通过自我反思来检索、生成和评估

Akari Asai, Zeqiu Wu, Yizhong Wang, Avirup Sil, Hannaneh Hajishirzi 华盛顿大学,IBM人工智能研究院 摘要 尽管大语言模型(LLMs)具有非凡的能力,但是它们经常产生不符合事实的响应,因为它们只依赖于它们封装的参数…

Java 应用的性能优化技巧和方法

Java应用性能优化是一个复杂且多层次的过程,涵盖了从代码编写到系统架构,再到运行环境配置的各个方面。 一、代码优化 1. 合理的数据结构和算法 选择合适的数据结构和算法对提高应用性能至关重要。Java提供了丰富的数据结构和算法库(如Jav…

猫咪也怕油腻?选对猫粮是关键!福派斯鲜肉猫粮守护猫咪健康

亲爱的猫友们,我们都知道,猫咪的饮食健康是每一个铲屎官都非常关心的问题。最近,有些猫友向我反映,他们给猫主子喂食的猫粮油脂比较大,不禁让人担心这对猫咪是否真的好。 1️⃣ 首先,让我们来聊聊油脂在猫粮…

设计模式原则——里氏替换原则

设计模式原则 设计模式示例代码库地址: https://gitee.com/Jasonpupil/designPatterns 里氏替换原则 继承必须确保父类所拥有的性质在子类中依然成立 与开闭原则不同的是开闭原则可以改变父类原有的功能,里氏替换原则不能修改父类的原有的性质&#…

Clickhouse 的性能优化实践总结

文章目录 前言性能优化的原则数据结构优化内存优化磁盘优化网络优化CPU优化查询优化数据迁移优化 前言 ClickHouse是一个性能很强的OLAP数据库,性能强是建立在专业运维之上的,需要专业运维人员依据不同的业务需求对ClickHouse进行有针对性的优化。同一批…

用友 【U8+】供应链-暂估方式

【U8+】供应链-暂估方式 知识点:三种不同暂估方式的应用 应用场景: 对于采购业务如果货到票未到时,需要对采购入库进行估价入账,等收到发票时再按发票的成本核算采购入库成本。系统提供了三种暂估方式:月初回冲、单到回冲和单到补差。 操作流程: l 单到回冲 跨月全…

FreeCAD属性机制原理分析

1.实现原理 FreeCAD定义了一套属性层次结构,最上层是Property基类,该类主要提供了外部访问属性的接口及两个成员变量:属性名称、属性状态及属性容器类PropertyContainer。具体的属性直接或间接继承Property类,属性类中主要记录属性…

【机器学习】半监督学习可以实现什么功能?

目录 一、什么是机器学习二、半监督学习算法介绍三、半监督学习算法的应用场景四、半监督学习可以实现什么功能? 一、什么是机器学习 机器学习是一种人工智能技术,它使计算机系统能够从数据中学习并做出预测或决策,而无需明确编程。它涉及到…

Conda创建与激活虚拟环境(指定虚拟环境创建位置)

1.Conda优势 Conda是一个开源的软件包管理系统和环境管理系统,主要用于在不同的计算环境中安装和管理软件包和其依赖项。它最初是为Python而设计的,但现在也可以用于管理其他语言的软件包。 Conda提供了对虚拟环境的支持,这使得用户可以在同…

想拥有一个独一无二的AI人物?Lora炼丹训练模型教程来啦

之前答应过大家放出来的Lora本地训练教程,终于写好啦。 会训练lora,代表着你可以生成属于你的独一无二的角色。 你可以让这个角色在各种不同背景的地方出现,可以让它摆出各种姿势,满足你的无限幻想。 还有的商家,用…

java之SSRF代码审计

1、SSRF漏洞审计点 服务端请求伪造(Server-Side Request Forge)简称 SSRF,它是由攻击者构造的 payload传给服务端,服务端对传回的 payload 未作处理直接执行后造成的漏洞,一般用于在内网探测或攻击内网服务。 利用&a…

Graalvm尝鲜使用

面试时遇到大佬提点了下在性能不足的机器上传统优化JVM调优已经作用不大的背景下,采用graalvm进行打包成二进制文件,脱离java虚拟机,性能提升20%到100%,因此实操记录下来,方便后续使用 1、前置预装 graalvm-ce-java17…

qt开发-12_QScrollArea

在 Qt 中,QScrollArea 是用于显示可以滚动内容的控件,通常用于处理视图中内容超出可见区域的情况。它提供了一种在有限的视窗内显示大量内容的解决方案,如显示大图像、长文本、多个小部件等。 常用方法和属性 setWidget(QWidget *widget)&am…

android在线阅读代码网站

android在线阅读代码社区: Android 1.6 到 Android 10 的源码: Android OS 在线源代码 - https://www.androidos.net.cn10.0.0_r6 - Android社区 - https://www.androidos.net.cn/ AndroidXRef https://cs.android.com/ https://cs.android.com/android…

容器之视角构件的演示

代码&#xff1a; #include <gtk-2.0/gtk/gtk.h> #include <glib-2.0/glib.h> #include <gtk-2.0/gdk/gdkkeysyms.h> #include <stdio.h>int main(int argc, char *argv[]) {gtk_init(&argc, &argv);GtkWidget *window;window gtk_window_ne…

Shopline电商平台的对接流程

对接Shopline平台需要具备一定的技术能力&#xff0c;包括API开发经验、编程技能以及对电商平台运作的理解。此外&#xff0c;与Shopline平台的技术支持团队保持沟通&#xff0c;可以在遇到问题时获得帮助。对接Shopline平台的流程通常涉及以下关键步骤。 1.了解Shopline API文…

详解大模型是如何理解并使用 tools ?

前文 大家肯定对使用大模型的函数回调或者说 Tools 已经耳熟能详了&#xff0c;那么他们具体内部是如何运作的呢&#xff0c;本文就此事会详细给大家介绍具体的细节。 tools 首先是大家最熟悉的环节&#xff0c;定义两个 tool 的具体实现&#xff0c;其实就是两个函数&#…

WSL+Anconda(pytorch深度学习)环境配置

动机 最近在读point cloud相关论文&#xff0c;准备拉github上相应的code跑一下&#xff0c;但是之前没有深度学习的经验&#xff0c;在配置环境方面踩了超级多的坑&#xff0c;依次来记录一下。 一开始我直接将code拉到了windows本地来运行&#xff0c;遇到了数不清的问题&a…