夯实智慧新能源数据底座,TiDB Serverless 在 Sandisolar+ 的应用实践
本文介绍了 SandiSolar+通过 TiDB Serverless 构建智慧新能源数据底座的思路与实践。作为一家致力于为全球提供清洁电力解决方案的新能源企业,SandiSolar+面临着处理大量实时数据的挑战。为了应对这一问题,SandiSolar+选择了 TiDB Serverless 作为他们的数据底座。TiDB Serverless 具有灵活扩展、按实际使用量付费、自动伸缩等特点,能够满足 SandiSolar+的实时数据处理需求。未来,SandiSolar+计划在 TiDB Serverless 基础上开发实时计费、高频交易等功能,为光伏产业探索更深层次的服务与盈利模式。
云南尚鼎新能源有限公司(SandiSolar+ )成立于 2008 年,是一家专注于太阳能光伏产品应用和光伏系统服务的高新技术企业,历经 15 年东南亚市场的沉淀,不断向市场提供专业的光伏产品、绿色电力系统解决方案,建立了一流的光伏品牌供应链体系。2022 年,SandiSsolar+ 进行品牌升级,将多年来沉淀的供应优势、服务标准,集成为一个全流程的智慧能源服务平台——SandiSolar+,致力于跑通智慧能源的“最后一公里” 。
业务挑战
SandiSolar+ 新能源的愿景是:引领数字化、智能化的绿色生活,为全世界平价用电、绿色用电的生活方式贡献力量。通过不断创新和发展,SandiSolar+ 目前已经为缅甸无电地区的数百万家庭提供了清洁电力。
与传统光伏企业不同,SandiSolar+ 对数据价值挖掘有着较为强烈的需求。目前,SandiSolar+ 内部的数据来源主要有两类:一类是光伏逆变器的数据,可以采集到每一个光伏电站的发电量;另一类是这些家庭中安装的第三方智能电表的数据,可以采集到每一个家庭的用电量。这些数据通过 API 接口实时汇总到 SandiSolar+ 的 SaaS 平台上,并在数据库中进行聚合,计算出该光伏电站每天、每小时的发电量与用电量。
在该场景下,通常需要聚合 4-5 张大表数据,例如项目表、用电数据表、逆变器数据表和智能电表数据表,用电数据表还会每隔几个小时做一次快照,生成一张快照表。每张表都有十几万行数据,数据量常常达到数十万级,聚合的 SQL Query 也会达到 300-400 行长度,聚合过程较为复杂,并要求毫秒级返回计算结果。
由于第三方的 API 稳定性和访问频率都有一定限制,SandiSolar+ 正在开发自己的智能网关,可以更实时地采集到每一个光伏电站的温度、发电频率、发电功率、用电量等数据,未来会逐步替换掉第三方智能电表,通过互联网协议将数据传输到 SandiSolar+ 的服务器上,对数据的实时处理会提出更高要求。

在该 SaaS 系统中,SandiSolar+ 最核心的部分是打造了一个“数据中台”,系统中所有数据的搜索查询都通过“数据中台”实现。前端的 APP 以及后端的管理平台都通过该中台搜索收据。如 C 端用户在 APP 中查看自己的历史发电量与用电量,B 后 端的管理平台可以查看电站从勘测、施工、验收、运营阶段的工单留档及用电数据等。此外,B 端还会产生一部分工单数据,如光伏电站的施工、安装、验收留档数据等。所有这些数据都存放在同一套数据库中,对于数据库而言,这套系统主要面临以下几项挑战:
- SandiSolar+ C SaaS 平台根据业务的发展,需要端用户可以灵活添加或删除字段,自定义灵活度很高,传统数据库在做相关操作时会锁表,这就需要数据库具备灵活的 Online DDL 能力;
- 由于 SandisSolar+ SaaS 平台的字段都可以灵活添加、删除和自定义,一个表里可能有上百个字段,开发人员不可能为每个字段都添加一个索引,这时列存就是一个比较理想的选择,需要数据库具备行存、列存同构的 HTAP 能力;
- PostgreSQL 等传统数据库无法做到实时的物化视图能力,即使像 Snowflake 也只提供 2 分钟更新频率的 Materialized View,无法支持事务型的业务需求,TiDB 可以同时支持事务型交易及数据分析,是满足实时数据分析的最佳选择;
- 该 SaaS 系统提供了一个“计算型字段”功能,用户可以在字段上自定义 formular 公式,在系统中进行实时汇总与聚合,如从一个工单中找到所属的客户姓名项目地址、计算项目当月用电量、聚合服务商历史工单平均满意度等;
- 未来,全面替换为智能网关后,实时数据采集会造成比较大的写压力,需要数据库具备较高的实时处理以及并发写能力;
综上所述,SandisSolar+ 的 SaaS 平台对数据的实时性处理要求较高,传统的大数据、离线数仓无法满足这种实时性需求,经过对主流数据库进行选型,SandiSsolar+ 最终选择了具备 HTAP 能力的 TiDB Serverless 数据库来作为数据底座,为相关业务系统的智能化、可靠性、实时性提供了全面保障,承载了 SaaS 平台的实时数据存储、计算需求。
为什么选择 TiDB Serverless?
TiDB Serverless 是一种全托管的、自动化的数据库服务(DBaaS),能够快速部署集群,并按实际使用资源量计费。结合自身业务架构特性,Sandisolar SandiSolar+ 在考虑 TiDB Serverless 时重点关注以下特性:
- 轻松扩展基础设施,支持多国家扩展 :TiDB Serverless 可以秒级搭建起数据库环境,开发团队能够迅速开展业务创新和开发。同时,TiDB Serverless 可以根据不同国家搭建不同的集群,可以满足 SandiSolar+ 在各国的不同需求,不会互相干扰;
- 按实际使用量付费,起始成本低 :TiDB Serverless 服务无需预付费用,企业可以按照实际提交的 SQL 请求和实际使用的存储来付费,这种基于消费的定价模式为开发者创造了一个“随时启动,随用随付“的消费模式。SandiSolar+ 只需为实际的数据处理和存储付费,上手使用成本较低;
- 自动伸缩,灵活应对业务增长 :TiDB Serverless 具有一个高度灵活扩展的分布式架构,可以随需弹性扩缩容,应对业务的快速增长,无需担心性能瓶颈与存储上限。同时,无论是存储、事务处理还是分析工作负载,SandiSolar+ 都能在几秒内根据应用需求自动伸缩,避免造成资源冗余浪费,既灵活又经济;
- HTAP 架构,加速业务实时洞察 :TiDB Cloud Serverless 专为规模化交易、实时分析和混合工作负载以及流量激增的应用程序而构建,可以自动扩缩容以满足实时需求。TiDB 提供支持 MPP 架构的列存引擎 TiFlash ,SandiSolar+ 只需简单地进行数据聚合即可满足在线业务的实时分析需求,从而使运营效率和用户体验获得大幅提升;
- TiDB Serverless Branching,快速实现并行开发 :SandiSolar+ 在开发过程中应用了 TiDB Serverless 的 Branching 功能。该功能可以使 SandiSolar+ 开发人员为其 TiDB Serverless 集群创建分支。这些分支可以实现并行开发,促进新功能快速迭代,排查故障,开发者无需中断生产数据库的运行。Branching 不仅简化了开发和部署过程,还保持了生产环境中数据库的稳定性和可靠性;
- 轻松上手,无需分库分表 :应用 TiDB Serverless 可以帮助 SandiSolar+ 摆脱分库分表等数据库繁琐的操作任务,相当于只维护一张大表即可,既可以满足更长时间维度的查询需求,又无需反复对数据进行整理操作。
未来计划
基于 TiDB Serverless,SandiSolar+ 打造出一个具有实时数据处理能力的数据平台,在此基础上可以探索光伏周边衍生业务的可能性。
通常,电力公司会根据用电时段和电压等级,面向不同用户提供不同的电价策略。SandiSolar+ 正在开发一种实时计算电费的功能,可以根据不同的电价策略,结合 SaaS 平台中实时采集到的发电、用电数据,为每个用户实时计算出电费。目前,大多数泰国的电力公司还在通过 Excel 表格及程序代码来实现类似的计费功能,SandiSolar+ 凭借领先的数据处理能力,得以在光伏产业探索出更深层次的服务与盈利模式。
此外,SandisSolar+ 在实时统计发电量、用电量以及实时电价计算能力之上,还计划开发高频交易功能,C 端用户可以在其 SaaS 平台上进行碳资产的实时交易,努力推动实现碳中碳达峰目标。
相关文章:
夯实智慧新能源数据底座,TiDB Serverless 在 Sandisolar+ 的应用实践
本文介绍了 SandiSolar通过 TiDB Serverless 构建智慧新能源数据底座的思路与实践。作为一家致力于为全球提供清洁电力解决方案的新能源企业,SandiSolar面临着处理大量实时数据的挑战。为了应对这一问题,SandiSolar选择了 TiDB Serverless 作为他们的数据…...
MySQL数据库max_allowed_packet参数
如上图所示的报错,我在提交接口的时候出现了这个错误: MySqlConnector.MySqlException:Error submitting 4MB packet;ensure max_allowed_packet is greater than 4MB.在MySQL数据库中,有一个参数叫max_allowed_packet,这个参数会…...
Day98:云上攻防-云原生篇K8s安全Config泄漏Etcd存储Dashboard鉴权Proxy暴露
目录 云原生-K8s安全-etcd(Master-数据库)未授权访问 etcdV2版本利用 etcdV3版本利用 云原生-K8s安全-Dashboard(Master-web面板)未授权访问 云原生-K8s安全-Configfile鉴权文件泄漏 云原生-K8s安全-Kubectl Proxy不安全配置 知识点: 1、云原生-K8s安全-etcd未…...
JUC下面常见的锁
这里写目录标题 1、ReentrantLock2、Semaphore3、CountDownLatch4、CyclicBarrier 1、ReentrantLock ReentrantLock 是属于独占模式, 即同一时刻只允许一个线程获取锁。 2、Semaphore Semaphore 属于共享模式,synchronized 和 ReentrantLock 都是一次只…...
Uniapp+基于百度智能云完成AI视觉功能(附前端思路)
本博客使用uniapp百度智能云图像大模型中的AI视觉API(本文以物体检测为例)完成了一个简单的图像识别页面,调用百度智能云API可以实现快速训练模型并且部署的效果。 uniapp百度智能云AI视觉页面实现 先上效果图实现过程百度智能云Easy DL训练图…...
Android 软件盘的弹出和消失的监听
监听接口 OnKeyboardListener.java public interface OnKeyboardListener {void onKeyboardHidden();void onKeyboardShow(int keyboardHeight);} KeyBoardUtil.java public class KeyBoardUtil {private final static String TAG "KeyBoardUtil";public PopupWi…...
通俗易懂HTTP和HTTPS区别
HTTP:超文本传输协议,它是使用一种明文的方式发送我们的内容,没有任何的加密,例如我们要在网页上输入账号密码,如果使用HTTP协议,账号密码就可能会被暴露,默认端口是80. HTTPS:是HT…...
【ZZULIOJ】1061: 顺序输出各位数字(Java)
目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy 提示 code 题目描述 输入一个不大于10的9次方的正整数,从高位开始逐位分割并输出各位数字。 输入 输入一个正整数n,n是int型数据 输出 依次输出各位上的数字,每一个数字后面有一个空格…...
java数据结构与算法刷题-----LeetCode260. 只出现一次的数字 III
java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 与运算取末尾1分组 与运算取末尾1分组 解题思路:时间…...
AWS被误扣费了,怎么解决?
有时在使用aws时,可能会无意中被AWS扣费,对于如何处理这个问题,作为aws的合作伙伴,接下来由九河云进行讲解: (1)审查账单:首先,您需要仔细审查AWS账单,了解具…...
再传IPO消息,SHEIN的上市为何充满变数?
据《金融时报》援引消息人士报道,SHEIN正在等待北京监管部门的批准,以推进在纽约或伦敦的重磅上市。 几乎每隔一段时间,SHEIN即将上市的消息就会成为媒体关注的焦点,但每一次报道都“没有下文”,再加上SHEIN官方的“拒…...
maven bom
BOM(Bill of Materials)是由Maven提供的功能,它通过定义一整套相互兼容的jar包版本集合,使用时只需要依赖该BOM文件,即可放心的使用需要的依赖jar包,且无需再指定版本号。BOM的维护方负责版本升级,并保证BOM中定义的jar包版本之间的兼容性。 为什么要使用BOM 使用BOM除…...
若依vue中关于字典的使用
文章目录 字典管理页面列表点击某个字典类型展示具体字典数据修改某一条字典数据 字典的应用一般用于select多选框中代码实现根据字典Dict的value获取Label,类似于通过key获得value 源码解析 字典管理页面 列表 点击某个字典类型展示具体字典数据 修改某一条字典数…...
链表题(哑结点的使用)
给定一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 首先面对删除链表节点的操作,我们通常是将该节点的上一个节点的next指向该节点的下一个节点,从而将这个节点置空,达到删除节点的操作。 但是我们会碰…...
C#:求三个整数的最大值
任务描述 本关任务:编写一个程序,实现从键盘输入的三个整数,输出三个整数的最大值。 编程要求 根据提示,在右侧编辑器补充代码,计算并输出从键盘输入的三个数的最大值。 测试说明 平台会对你编写的代码进行测试&…...
广州南沙番禺联想SR530服务器主板传感器故障维修
今日分享一例广州市南沙区联想ThinkSystem SR530服务器sensor sysbrd vol故障问题维修案例; 服务器型号是:Lenovo thinksystem sr530 g6服务器 服务器所在位置:广东省广州市南沙区 服务器故障问题:机房异常停电,来电后…...
深入探索自然语言处理:用Python和BERT构建文本分类模型
在当今的信息时代,自然语言处理(NLP)技术正在改变我们理解和处理自然语言的方式。NLP使计算机能够解读、理解和生成人类语言,从而在多种应用中实现自动化,如聊天机器人、情感分析和文本分类。本文将详细介绍如何使用Py…...
在Visual Studio Code中编辑React项目时,以下是一些推荐的扩展
ESLint:这个扩展可以集成ESLint到VS Code中,帮助你在编写代码时发现和修复JavaScript和TypeScript的语法错误和代码风格问题。 Prettier - Code formatter:Prettier是一个代码格式化工具,可以自动格式化你的代码以保持一致的代码…...
智算时代的基础设施如何实现可继承可演进?浪潮云海发布 InCloud OS V8 新一代架构平台
从 2023 年开始持续火爆的 AIGC 正在加速落地应用,为全行业带来生产生活效率的变革与升级。面对数字化转型与智能化转型,对于技术团队来说,既要根据业务与 AI 应用去部署以云为基础的 AI 算力,又要与已有数据和系统(甚…...
LDF、DBC、BIN、HEX、S19、BLF、ARXML、slx等
文章目录 如题 如题 LDF是LIN报文格式文件,把这个直接拖到软件里面,可以发报文和接收报文 DBC是CAN报文格式文件,把这个直接拖到软件里面,可以发报文和接收报文 BIN文件烧录在BOOT里面(stm32),…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
