当前位置: 首页 > article >正文

手机零售行业的 AI 破局与创新降本实践 | OceanBase DB大咖说

OceanBase《DB 大咖说》第 20 期,我们邀请了九机与九讯云的技术总负责人,李远军,为我们分享手机零售企业如何借力分布式数据库OceanBase,赋能 AI 场景,并通过简化架构实现成本管控上的突破与创新。

李远军于2016年加入九机,全程参与了这家区域手机零售商向全国性SaaS服务商的战略转型。从一线技术岗位成长起来的管理者身份,使他对零售行业的生存法则有着深刻理解 —— 在单台手机利润低于50元的微利市场中,任何技术创新的前提都是严格的成本控制。通过引入OceanBase数据库,他成功解决了多数据库并存带来的技术问题,同时借助AI技术为九机开辟了一条降本增效的创新之路。

在手机零售这片红海市场中,九机已深耕近 20 年。凭借线上线下融合的模式,九机的规模不断扩张,在云南、贵州等地拥有 500 多家门店,会员过千万,年营业额达数十亿。此外,九机还基于自身的商业模式孵化 SaaS 平台——九讯云,将自身的零售能力转化为行业解决方案,输出至全国 31 个省市近万家门店,为九机拓展出第二增长曲线。

随着业务规模的不断扩大,复杂的数据库架构、高昂的运维成本以及多租户管理难题,成为九机和九讯云持续发展的“绊脚石”。为此,李远军作为九机和九讯云技术总负责人,带领团队引入 OceanBase 数据库,通过统一数据库简化技术栈、降低成本以及基于 AI 技术的创新等措施,业务效率与系统稳定性显著提升。

一、手机零售行业困局:市场竞争倒逼技术变革

你能想象吗?对零售商来说,一台手机的利润不足 50 元。由于薄利,整个行业对成本非常敏感。李远军从 2016 年加入九机,如今已经成长为九机和九讯云的技术总负责人,对手机零售市场的“抠门”深有感触。“手机零售行业对成本的关注甚至到了抠门的地步,因为不抠门也不行,一台手机的利润不到 50 元。”他解释说。

作为技术负责人,在他的所有决策中,成本都是最为关注的指标之一,数据库选型也不例外。

九讯云的业务系统是伴随着公司的发展而逐步建立起来的。为了节省成本,团队不断打磨研发能力,自研了大部分的企业软件系统,能使用开源软件的都尽量使用开源软件,比如中间件、数据库等。另一方面,为了应对某一时期的业务需求,企业不断引入新的技术栈,也导致了“技术债”的累积,数据库就是其中之一。

经过 20 多年的发展,九讯云形成了多种数据库并存的局面,包括早期的 SQL Server、现在大量使用的 MySQL、以及少量 PostgresSQL、TiDB、MongoDB 数据库等等。随着 AI 时代更多智能化业务场景的出现,引入适配向量数据的 AI 技术栈也成为必需,多种数据库并存给九讯云带来很大的运维压力,也推高了运维成本。

“人才招聘就是一个难题。九机总部位于昆明,不像北上广深这些大城市拥有各种各样的人才。比如,懂 MongoDB 的人在这里就不好找。”李远军说。

不过,更大的挑战是随着九讯云业务规模的不断扩大,用户需求多样化,对后台数据库的要求越来越复杂,原来一直在用的 MySQL 已经无法满足这些需求。

以九讯云的多租户隔离为例。九讯云的客户根据门店规模将客户分为大、中、小三类,其业务场景差异显著。比如:大型租户要求独占资源以保障性能,中小型租户则需共享资源但保持一定的隔离性。如果继续采用 MySQL,将有大量的集群需要进行运维管理,不仅运维成本高,还无法灵活分配资源,以九讯云现有的人力根本不够用。

另外,数据量还在不断增加,如果继续用 MySQL,就要分库分表,运维复杂性还会越来越高。

鉴于这些问题已经制约了九讯云的长期发展,于是,2023 年数据库的替换升级提上了议事日程。

二、选择OceanBase破局:从技术债务到技术资产

“我们的最低需求要能替换 MySQL,满足我们现在的业务需求;此外,最好还能替换其他几个数据库。当然,成本不能增加。”李远军说。

根据上述要求,九讯云对流行的一些数据库,包括各种 RDS、TiDB、OceanBase、PostgresSQL 等进行了评估,初步选中了 OceanBase,包括开源的 OceanBase 和云数据库 OB Cloud,随后对 OceanBase 进行了充分的测试。

“当时 OceanBase 的支持力度很大,帮助我们对 OceanBase 进行了功能测试、兼容测试,确认 OceanBase 能满足我们关于成本以及后续的可扩展性需求。”李远军介绍,评估中也有一款分布式数据库表现也很稳定。不过相比 OceanBase,它存在存储成本高、对网络带宽敏感等不足。“最终我们敲定使用 OceanBase。”李远军说。

李远军介绍,OceanBase 打动他的是这些能力:

  • 多租户能力:OceanBase 支持租户间资源的灵活隔离,能够充分满足不同租户对性能与成本的需求。
  • 统一技术栈:OceanBase 全面兼容 MySQL 协议,提供 JSON、多模能力,可以帮助我们整合 MongoDB、TiDB 等不同数据库,极大地简化了系统架构,降低了运维成本。
  • 成本优化:OceanBase 的高压缩率(只要原来 1/6 左右的存储空间)大幅降低了存储成本,其分布式的架构也能够支持系统灵活扩容。
  • 部署灵活:OceanBase 是独立的第三方数据库供应商,既可以私有化部署,也提供云数据库 OB Cloud,且支持多云部署。这个能力对九机和九讯云非常关键,因为九讯云有一些客户就是私有云部署,数据库要部署在自己的数据中心。同时,客户也可能会选择不同的云服务商,而 OB Cloud 在多个云平台都可以提供服务,为九讯云提供了很大的灵活性。

2024 年下半年,九讯云的数据库替换工作正式开始,先从边缘、辅助系统开始,然后逐步推进到核心业务系统。从已完成数据库迁移的系统运行结果看,成本节约、软件架构简化、性能稳定等特点一一都得到了验证。OceanBase  的能力都没有让李远军失望。

以统一软件栈为例,九讯云原来有个应用基于文档数据库 MongoDB。由于 OceanBase 能支持 JSON 数据类型,且功能上也能替代 MongoDB,李远军果断选择从 MongoDB 迁移到 OceanBase。

“这个切换可以说皆大欢喜,开发人员只要统一用 SQL 就好,不要学 MongoDB 的语法,运维人员也不要掌握 MongoDB 的运维。我们不再为找懂 MongoDB 的人发愁了。”李远军说。

三、AI探索:创新驱动零售效率革命

实际上,OceanBase 给九讯云带来的好处远不只一个强大的数据库引擎,而是一次技术重构的机会,一个创新的技术底座。以 OceanBase 作为向量数据底座,九讯云的几个 AI 项目已经顺利落地。

随着生成式 AI 技术的成熟,九讯云也在积极探索通过大模型+向量数据库(即 RAG)方式实现 AI 的落地。

李远军介绍,以前向量数据库用的是开源的 Milvus,这是一个专业的向量数据库,需要为它专门准备一套资源。而现在有了 OceanBase,九讯云需要的向量化能力 OceanBase 都已经具备,且实现对 Milvus 的向量能力整合,极大地简化了软件架构,推动几个 AI 项目顺利落地。

场景一:九讯云商城手机壳拍照搜索

手机门店的销售除了手机外,配件(如手机壳)也是一个重要的收入来源。配件大多是非标品,种类繁多,更新快,售价不高,无法做到一货一码(条码)。

以前,顾客要购买,店员会拿着手机壳一个个进行肉眼比对,找到对应的 SKU 信息,然后出单,费时不说,在多个型号外观相似的情况下还容易出错。现在店员通过九讯云开发的手机 APP 中的拍照搜索,能快速定位该实物的 SKU 信息,进入加单流程。

李远军介绍,这一功能用到了 OceanBase 新增的向量检索能力。他们事先将配件图片进行向量化(Embedding),存储在 OceanBase 的数据库中,需要时就可以直接通过向量索引进行搜索,提高了店员的工作效率,也改善了顾客的体验,效果非常好。

场景二:商品信息自动匹配

九讯云借助 OceanBase 的向量能力落地 AI 应用的第二个场景是商品名的自动匹配。九讯云的一些客户在将老系统迁到九讯云时,需要将原有的系统导入到九讯云的商品库中。不同系统的商品命名差异大,一个商品可能存在不同的名称(如“苹果 15”与“iPhone 15”),传统关键词匹配的准确率低、且匹配规则复杂、开发工作量大。九讯云调用大模型,基于 OceanBase 数据库向量功能实现语义上的快速匹配,实现了高精度的语义相似度搜索,搜索准确率提升至 90% 以上,工作效率得到明显提升。

场景三:知识库构建

九讯云当下正在做的一个工作是将企业 SOP、售后流程等知识经过 Embedding,存储到 OceanBase 中,通过 Dify 平台+Deepseek-R1+OceanBase,进行九讯云全平台的智能化升级改造,搭建企业自己的知识库,通过自然语言查询进行智能问答、知识共享,从而提升工作效率,快速对员工进行赋能。目前该功能正在测试,预计很快就会正式上线。

“这些 AI 应用虽然简单,但实实在在地给我们带来了商业价值。而 OceanBase 给了我们一个强大的技术底座,让我们可以通过‘成本管控+技术精简+AI 赋能’的切实解决了业务遇到的问题,实现降本增效,助力企业发展。”李远军表示。

实际上,对于 AI 的应用李远军还有很多的考虑,未来也将逐步探索更多场景。比如,利用 SQL+AI 的能力,将 AI 用于库存管理、物流管理以及调度等,从而优化库存结构,减少库存积压和缺货现象。

李远军表示,未来九讯云会继续深耕 AI 与数据库的融合应用,借助 OceanBase 的强大数据处理能力和 AI 技术的智能分析能力,不断挖掘数据背后的价值,为业务赋能。

相关文章:

手机零售行业的 AI 破局与创新降本实践 | OceanBase DB大咖说

OceanBase《DB 大咖说》第 20 期,我们邀请了九机与九讯云的技术总负责人,李远军,为我们分享手机零售企业如何借力分布式数据库OceanBase,赋能 AI 场景,并通过简化架构实现成本管控上的突破与创新。 李远军于2016年加入…...

SQL Server 动态构建 SQL 语句学习指南

在 SQL Server 中,动态构建 SQL 语句应用于各种场景,包括动态表名、列名,动态 WHERE 条件,以及动态分页、排序等。本文将详细计划如何在 SQL Server 中最佳实现动态 SQL 语句构建。 一、动态 SQL 的应用场景 动态表名或列名动态…...

Ceph与Bacula运维实战:数据迁移与备份配置优化指南

#作者:猎人 文章目录 1ceph数据迁移&&bacula配置调整1.1ceph数据迁移&&bacula配置调整1.2在备份服务器的ceph-client上mount cephfs文件系统1.2.1迁移数据1.2.2调整bacula-sd配置 1ceph数据迁移&&bacula配置调整 1.1ceph数据迁移&&am…...

Spring Boot分布式项目重试实战:九种失效场景与正确打开方式

在分布式系统架构中,网络抖动、服务瞬时过载、数据库死锁等临时性故障时有发生。本文将通过真实项目案例,深入讲解Spring Boot项目中如何正确实施重试机制,避免因简单粗暴的重试引发雪崩效应。 以下是使用Mermaid语法绘制的重试架构图和决策…...

Android OTA升级中SettingsProvider数据库升级的深度解析与完美解决方案

一、问题场景:OTA升级引发的系统属性"失效"之谜 在某Android 12.0系统定制项目中,我们遭遇了一个棘手问题:当通过OTA升级新增/修改SettingsProvider系统属性后,必须恢复出厂设置才能生效。这不仅导致用户数据丢失风险&…...

[Html]overflow: auto 失效原因,flex 1却未设置min-height overflow的几个属性以及应用场景

一、overflow: auto 失效原因分析 1. 未设置固定高度或宽度 • 当容器未定义具体尺寸时,浏览器无法判断内容是否溢出,导致滚动条不生效。需为容器添加 height 或 width 属性(如 height: 300px)。 • 示例: css .cont…...

SpringBoot整合LogStash,LogStash采集服务器日志

LogStash 1. 下载 版本支持兼容表https://www.elastic.co/cn/support/matrix 版本: 7.16.x 的最后一个版本 https://www.elastic.co/downloads/past-releases/logstash-7-16-3 需要提前安装好jdk1.8和ES, 此处不在演示 2. 安装 tar -xvf logstash-7.16.3-linux-x86_64.tar.gz…...

LLM - 推理大语言模型 DeepSeek-R1 论文简读

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/146840732 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 DeepSeek-R1 通过强化学习,显著提升大语言模型推理能力,使用特殊的训…...

目前市场上,好用的校招系统是哪个?

在数字化浪潮的推动下,校园招聘已从传统的“海投简历线下宣讲”模式全面转向智能化、数据化。面对每年数百万应届生的激烈竞争,企业如何在短时间内精准筛选人才、优化招聘流程、降低人力成本?答案或许藏在AI驱动的校招管理系统中。而在这场技…...

Oracle logminer详解

Oracle LogMiner 是 Oracle 数据库提供的一个内置工具,用于分析和挖掘数据库的在线重做日志文件(Online Redo Log Files)​和归档日志文件(Archive Log Files)​。通过 LogMiner,用户可以查看数据库的历史操…...

SharpBrowser:用C#打造超快的个性化开源浏览器!

推荐一个基于.Net 8 和 CefSharp开发的开源浏览器。 01 项目简介 SharpBrowser 是一个用 C# 和 CefSharp 开发的全功能网页浏览器。它声称是最快的开源 C# 网页浏览器,渲染网页的速度比谷歌浏览器还快,因为其使用轻量级的 CEF 渲染器。 经过比较所有可…...

【企业级Web应用中的文件下载处理:从S3预签名URL到压缩状态管理】

企业级Web应用中的文件下载处理:从S3预签名URL到压缩状态管理 1. 引言:一个看似简单的下载功能背后 在开发企业级Web应用时,文件下载功能看似简单,却常常隐藏着诸多技术挑战。近期,我们在一个xx申报系统项目中&#…...

【新模型速递】PAI一键云上零门槛部署DeepSeek-V3-0324、Qwen2.5-VL-32B

DeepSeek近期推出了“DeepSeek-V3-0324”版本,据测试在数学推理和前端开发方面的表现已优于 Claude 3.5 和 Claude 3.7 Sonnet。 阿里也推出了多模态大模型Qwen2.5-VL的新版本--“Qwen2.5-VL-32B-Instruct”,32B参数量实现72B级性能,通杀图文…...

[原创](Modern C++)现代C++的关键性概念: 如何利用多维数组的指针安全地遍历所有元素

[作者] 常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 开发工具: Visual Studio、Delphi、XCode、C …...

flask开发中设置Flask SQLAlchemy 的 db.Column 只存储非负整数(即 0 或正整数)

如果你想控制一个 Flask SQLAlchemy 的 db.Column 只存储非负整数(即 0 或正整数),你可以在模型中使用验证来确保这一点。一种常见的方法是使用模型的 validate 方法或者在执行插入或更新操作时进行检查。 以下是实现这一目标的几种方法&…...

【Elasticsearch基础】基本核心概念介绍

Elasticsearch作为当前最流行的分布式搜索和分析引擎,其强大的功能背后是一套精心设计的核心概念体系。本文将深入解析Elasticsearch的五大核心概念,帮助开发者构建坚实的技术基础,并为高效使用ES提供理论支撑。 1 索引(Index&…...

Github 热点项目 awesome-mcp-servers MCP 服务器合集,3分钟实现AI模型自由操控万物!

【今日推荐】超强AI工具库"awesome-mcp-servers"星数破万! ① 百宝箱式服务模块:AI能直接操作浏览器、读文件、连数据库,比如让AI助手自动整理Excel表格,三分钟搞定全天报表; ② 跨领域实战利器:…...

SpringMVC 拦截器(Interceptor)

一.拦截器 假设有这么一个场景,一个系统需要用户登录才能进入,在检验完用户的信息后对页面进行了跳转。但是如果我们直接输入跳转的url,可以绕过用户信息校验(用户登录),直接进入系统。 因此我们引入了使…...

【NLP】16. NLP推理方法重点回顾 -- 52道多选题

Which of the following problems are commonly solved using sequence tagging? A) Named Entity Recognition (NER) B) Part-of-Speech (POS) Tagging C) Word Embedding Training D) Syntactic Dependency Parsing 序列标注是一种 NLP 任务,常用于 命名实体…...

Redisson分布式锁深度解析:原理与实现机制

Redisson作为Redis Java客户端中的分布式解决方案佼佼者,其分布式锁实现被广泛应用于生产环境。以下从底层设计到源码实现进行全面剖析。 一、核心架构设计 1. 整体架构图 graph LRA[客户端] --> B[RLock接口]B --> C[RedissonLock]C --> D[Redis命令执…...

Linux 系统调用实现机制详解

Linux 系统调用实现机制详解 —— fork()、execve()、waitpid() 内核层面的秘密 在 Linux 内核中,fork()、execve() 和 waitpid() 是构建多任务操作系统的三大基石,它们涉及进程控制、内存管理、文件系统等多个子系统。本文将带你一探它们在 内核层面的…...

责任链模式_行为型_GOF23

责任链模式 责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,核心思想是将多个处理请求的对象连成一条链,请求沿链传递直到被处理。它像现实中的“多级审批流程”——请假或报销时,申请会逐级提交给…...

03-SpringBoot3入门-配置文件(自定义配置及读取)

1、自定义配置 # 自定义配置 zbj:user:username: rootpassword: 123456# 自定义集合gfs:- a- b- c2、读取 1)User类 package com.sgu.pojo;import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.spring…...

学习记录-软件测试基础

一、软件测试分类 1.按阶段:单元测试(一般开发自测)、集成测试、系统测试、验收测试 2.按代码可见度测试:黑盒测试、灰盒测试、白盒测试 3.其他:冒烟测试(冒烟测试主要是在开发提测后进行,主要是测试主流…...

【蓝桥杯每日一题】3.28

🏝️专栏: 【蓝桥杯备篇】 🌅主页: f狐o狸x "今天熬的夜,会变成明天奖状的闪光点!" 目录 一、唯一的雪花 题目链接 题目描述 解题思路 解题代码 二、逛画展 题目链接 题目描述 解题思路 解题代…...

优秀的 React 入门开源项目推荐

以下是一些优秀的 React 入门开源项目推荐,涵盖不同应用场景和功能模块,适合学习和实践: 1. Jira Clone 仓库地址:GitHub - oldboyxx/jira_clone 亮点: 基于 React Hooks 实现,模仿 Jira 的任务管理功能。…...

万字长文详解Text-to-SQL

什么是Text-to-SQL 在各个企业数据量暴涨的现在,Text-to-SQL越来越重要了,所以今天就来聊聊Text-to-SQL。 Text-to-SQL是一种将自然语言查询转换为数据库查询的技术。它可以让用户通过自然语言来查询数据库,而不需要编写复杂的SQL语句。 T…...

【Linux】动静态库的制作与使用

一.对软硬链接的补充 1、无法对目录进行硬链接 为什么呢? 首先,我们在访问文件时,每一个文件都会有自己的dentry结构,这些结构会在内存中维护一棵路径树,来快速进行路径查找。但是如果某个节点直接使用硬链接到了根节…...

ubuntu22.04 如何安装 ch341 驱动

前言 本篇是介绍ubuntu22.04如何安装 ch341 驱动,并对其中遇到的问题进行整理。 一、流程 1.1 查看CH340驱动 首先是查看ubuntu22.04系统自带的驱动,用以下命令即可 ls /lib/modules/$(uname -r)/kernel/drivers/usb/serial 然后会跳出以下界面&…...

个人博客网站从搭建到上线教程

步骤1:设计个人网站 设计个人博客网站的风格样式,可以在各个模板网站上多浏览浏览,以便有更多设计网站风格样式的经验。 设计个人博客网站的内容,你希望你的网站包含哪些内容如你的个人基本信息介绍、你想分享的项目、你想分享的技术文档等等。 步骤2:选择开发技术栈 因…...