谊品生鲜:放弃传统数据库架构,全站上阿里云

疫情之下,生鲜电商的订单突然暴涨。

社区生鲜龙头企业谊品生鲜就是一个典型代表。它的在线交易量激增,日订单量超过10万单。

对电商企业而言,这对业务是个巨大的好消息;但对于IT、对于谊品生鲜的核心业务系统则是一个巨大的挑战!

所有做互联网、做电商核心业务系统的技术人员都知道,访问量容量巨增,这对于后台系统会带来各种不可预知的问题:性能卡顿,网站、APP、小程序等入口不能访问,订单出错,支付不了……

要命的是,出现其中的任何一个问题,都会对业务、对用户体验、对品牌造成巨大伤害。

更进一步,万一出现了某个问题(说实话,这世界谁也不能保证100%不会出现),而IT却不能快速解决,将会是灾难性的后果。
image.png
作为谊品生鲜IT基础架构的负责人,杨航深知其中滋味。

但幸运的是,他告诉中国软件网,这次他闯过来了。

而记者也发现,他的闯关经历,或许是电商企业、甚至是互联网公司应对业务量暴增的、实现可控、健康运营的“最佳实践”。

01 传统ERP被厂商卡脖子

为应对业务的快速扩张,2018年年底,谊品生鲜成立了研发团队。同时,开始大量采购第三方系统,例如ERP、仓储、供应链等。

这些系统都基本上是本地部署,自己买服务器,数据库基本都采用Oracle。

这些第三方业务系统往往有一个共同的特点,即核心业务逻辑往往都写在Oracle数据库里。

这就带来了一个巨大的风险:一旦系统出了问题,谊品生鲜自己的技术人员往往无法解决,必须要有系统研发厂商的DBA等相关技术人员协助才能解决。
image.png
阿里云数据库资深技术专家、数据库自治服务DAS产品线负责人李广望介绍,这其实是很多电商企业面临的一个典型场景。

这种传统的数据库架构,最怕系统出问题。因为一出问题时,自己没法解决,必须依靠厂商的技术人员才能解决。

但由于厂商的技术人员不可能马上响应,也不可能立即到现场解决,这种情况下解决一个问题需要花费很长时间。

这对于每分钟都有巨大业务量的互联网企业而言,这绝对是不能忍受的。

例如,谊品生鲜有次进行门店盘点,却出现没办法提交盘点成果的现象。谊品技术人员很快排查发现,原因是系统的Oracle数据库阻塞了。

“这涉及到第三方系统,我们自己的技术人员无法解决。必须要找ERP厂商,让他们的DBA来处理。”

当时解决这个问题,花了很长时间。这给谊品生鲜带来了极大的损失。

对于电商企业而言,这种情况其实是“被厂商卡住了脖子”。自己有技术人员,却无法冲上去解决问题。

这个问题必须解决。否则,电商业务系统的可靠性与稳定运行将有巨大的不可控风险。

02采用云原生架构自研系统

从阿里巴巴、京东、百度、美团等互联网企业的实践来看,中国软件网发现,解决这个问题的根本途径就是——自已研发核心业务系统。

如果采用第三方系统,永远存在不可控的风险。

而对于互联网企业,核心业务系统是自己的命根子。它必须绝对可控,容不得有半点闪失。

要绝对可控,就必须自己研发系统。

另外,每个互联网或电商企业,其实都有独特的供应链模式、运营模式。市场上很难找到一个第三方系统能够很好地支撑他们的运营。

就像谊品生鲜,在开始的三年,由于需求无法满足的原因曾经换过几个系统。

每次换系统都是一个非常痛苦的过程。这也是谊品生鲜决定成立自己的研发中心,自己的研发系统的关键原因。

因此,谊品生鲜下定决心自己组建专门的IT研发团队,自已研发核心业务系统。杨航甚至还向中国软件网透露,未来所有系统都要由谊品生鲜自研,包括财务软件。

在云时代,自研系统必须采用云原生技术,这样才能有效解决传统ERP等业务系统的架构不合理,同时又能研发完全符合自己需求的系统。

03数据库上云、去Oracle

资深架构师都知道,保证业务系统可控的核心在于数据库。

自研系统要绝对可控,数据库用什么呢?

大家的第一个共识是,不能再用Oracle。

原因主要有两个。一是Oracle在技术上不可控;二是Oracle成本太高,Oracle的云数据库版本也较少,与之对应的云上运维与管理工具也比较少。

第二个共识是,数据库要上云,要用云数据库。权威市场研究机构Gartner指出,云数据库将是未来。到2021年,云数据库在整个数据库市场中的占比将首次达到50%;而到2023年,75%的数据库要跑在云平台之上。
image.png
最核心的原因是,传统数据库产品存在扩展速度慢、效率低等问题,根本无法满足业务系统对实时性、稳定性、快速扩容的需求。

就像谊品生鲜因疫情而突然在线交易量激增,日订单量超过10万单。本地部署的传统数据库很难应对这种爆发式的增长,实现弹性扩缩容。

但这是云数据库的强项。

云原生数据库往往采用利用分布式共享存储,并且存储和计算分离、解耦,以方便在存储和计算分别进行弹性扩容,做到极致的弹性。在弹性、高可用、负载均衡等方面,云数据库基本都是明显优于本地部署的数据库。

并且,云数据库可以做到“按需按量使用,同时按需按量计费”。这对于互联网企业而言极具吸引力。

如果用本地数据库,要做到和云数据库一样的高可用性,成本就会非常高。

对于谊品生鲜而言,由于其服务器等硬件基础设施已全面上云。系统上云、数据库上云也是一个必然趋势。

最初谊品生鲜的业务系统采购自第三方厂商,并且部署在线下IDC机房内。一旦出了问题就只能等厂商的人来解决问题。

但现在,通过将全部业务迁移到阿里云之上,并且深度使用云数据库,杨航带领的基础架构团队才终于感觉有了控制权。

04自治化与智能化

对于互联网和电商企业而言,随着自研系统的增多,数据库运维与管理的挑战将会越来越大。

对于谊品生鲜同样如此。杨航下一步的解决方案是,谊品生鲜自己的技术运维团队会更侧重于内部运维效率平台的研发,以此逐步减少DBA人员,降低运维成本、控制安全风险。

同时,DBA的传统职能会被淡化掉,他们主要用于研发效率工具、自治服务工具,做更高价值的工作。自研系统迭代速度非常快,如果没有数据库的自治服务,不能实现自动化、智能化运维,还需要大量人工运维介入,会大大增加线上系统出故障的几率。

巧合的是,这也正是阿里云数据库自治服务DAS产品的发展目标。

DAS产品最早源于2014年的CloudDBA,是一个服务于内部的研发人员工具。2016年,阿里云对它进行了升级和产品化,作为云服务推向了市场。从2017年开始阿里云在其中加入自治功能,并利用阿里巴巴的场景和技术不断验证和完善,一直持续到2019年年底,正式更名为DAS。
image.png
作为阿里云数据库DAS产品线负责人,李广望深有感触,阿里云数据库自治服务DAS基于阿里巴巴自身数据库规模化运维的专家经验,结合人工智能和机器学习技术,已实现了自感知、自诊断、自修复和自安全的数据库自动驾驶能力。

正是这个数据库自治服务产品打动了杨航。

据杨航介绍,谊品生鲜的所有自研系统都基于云服务,所有的云服务都和阿里云深度合作。

谊品生鲜选择阿里云的原因有两个。第一个是谊品生鲜已经是阿里云IaaS用户。所有的硬件基础设施都在阿里云上,云数据库也能使用阿里云是最好的选择。

第二个原因更为重要。他们是看上了阿里云在云数据库方面的生态完整性

杨航认为,数据库运维与管理的便捷性、总体拥有成本是选择哪个厂商的云数据库时必须要考虑的重要因素。

对于互联网公司或电商企业而言,他们不能在数据库运维方面投入太多人员,否则成本太高,也特别容易出问题。

杨航团队曾对国内市场上的数据库运维与管理工具做过详细比较,相对而言,阿里云DAS具有比较明显的优势。例如,其功能全面性比其他国内厂商好,控制台及账单功能比国外厂商好。

并且在合作的过程中,阿里云数据库对谊品反馈问题的处理效率非常高,并且产品质量非常有保障。谊品生鲜对阿里云的服务支持非常满意。

对于谊品生鲜这样的电商企业来说,数据库运维效率工具要能完全地将运维团队的工作流程和研发团队的开发流程结合起来。也即是说,阿里云DAS要和谊品生鲜内部效率平台结合起来,赋能给研发人员。例如,云上数据库出现了告警,DAS未来要能把问题直接转给相应的研发人员,从而提升效率。

按这种模式,以前他们处理一个故障平均需要10-20分钟,要人肉排查故障,应用了阿里云DAS之后,只需几分钟,问题就能得到定位和解决,效率提升非常明显。

正是借助数据库自治服务DAS,谊品生鲜自研系统的运维只需要几个人就能搞定。通过上云和深度使用云数据库,谊品生鲜总体数据库使用成本降低了40%~50%

在中国软件网看来,谊品生鲜利用云原生技术、采用云数据库自研系统的实践意义还不仅如此。它最重要的是为同行们提供了在数字世界里应对未知性、掌握可控性的一个方法。

想要get谊品生鲜同款“自动驾驶神器”?

点击文字

立即体验数据库自治服务DAS

原文链接
本文为云栖社区原创内容,未经允许不得转载。

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

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

相关文章

教你一招,如何解决 “这台电脑无法运行 Windows 11” 的问题

目录1. 系统兼容性检测2. 为什么我的电脑不能运行Windows 11?3. 最低系统要求4. 如何开启 TPM 受信任模块5. 微软坚持最低要求的理由6. 最新补充6.1 更新支持的 CPU 列表6.2 旧电脑也能安装 Windows 11,但后果自负微软于 6.24 正式推出了全新的 Windows …

Flink SQL 的 9 个示例

作者:贺小令(晓令) 本文由阿里巴巴技术专家贺小令分享,社区志愿者郑仲尼整理。文章基于 Flink 1.9 版本,从用户的角度来讲解 Flink 1.9 版本中 SQL 相关原理及部分功能变更,希望对大家有所帮助。主要内容分…

如何破解“中国开源拿来主义”?包云岗的几点分析

作者 | 包云岗责编 | 王晓曼本文经作者授权转载自包云岗知乎以下视频是2011-2019期间全世界开源代码贡献最多的城市排名:旧金山一骑绝尘,其他主要是美欧城市;亚洲有东京、首尔上榜;莫斯科也贡献突出。但是,很遗憾没有中…

uni-app获取腾讯地图计算两经纬度的实际距离(可批量)

地址 https://lbs.qq.com/service/webService/webServiceGuide/webServiceDistance getDistance() {uni.request({url: https://apis.map.qq.com/ws/distance/v1/matrix, //仅为示例,并非真实接口地址。method: GET,data: {mode: walking,from: 39.071510,117.190…

JavaScript 常用工具函数

目录 1. 为元素添加 on 方法2. 为元素添加trigger方法3. 转义 HTML 标签4. HTML 标签转义5. 跨浏览器绑定事件5. 加入收藏夹7. 提取页面代码中所有网址8. 动态加载脚本文件9. 返回顶部的通用方法10. 实现base64解码11. 确认是否是键盘有效输入值12. 全角半角转换13. 版本对比14…

JS前端常用工具方法

目录 1. 邮箱2. 手机号码3. 电话号码4. URL地址5. 是否字符串6. 是否数字7. 是否Boolean8. 是否函数9. 是否为null10. 是否undefined11. 是否对象12. 是否数组13. 是否时间14. 是否正则15. 是否错误对象16. 是否Symbol函数17. 是否Promise对象18. 是否Set对象19. 是否是微信浏览…

JS向数组添加元素,插入数据

js中对于数组的操作很常见,下面记录一下js向数组添加元素的方法。 let myArray[11,22,33];console.log(原数组:,myArray);myArray.push(44,55);console.log(用push在数组后面插入元素:,myArray);myArray.unshift(66,77);console.log(用unshif…

小程序 获取腾讯地图计算两经纬度的实际距离(可批量)_多地打卡

文章目录一、小程序1. 安装vue-jsonp2. 引入腾讯sdk3. 实例化4. 二点求距离5. 多点求距离文档地址:https://lbs.qq.com/service/webService/webServiceGuide/webServiceDistance申请开发者密钥(key): 申请密钥一、小程序 1. 安装…

前端常用 JavaScript 方法封装

目录 1. 输入一个值,返回其数据类型**2. 数组去重3. 字符串去重4. 深拷贝 浅拷贝5. reverse底层原理和扩展6. 圣杯模式的继承7. 找出字符串中第一次只出现一次的字母8. 找元素的第 n 级父元素9. 返回元素的第n个兄弟节点10. 封装mychildren,解决浏览器的兼容问题11. 判断元素…

H5 移动端 获取腾讯地图计算两经纬度的实际距离(可批量)_多地打卡

文章目录一、H5移动端1. 安装vue-jsonp2. 引入腾讯sdk3. 实例化4. 二点求距离5. 多点求距离文档地址:https://lbs.qq.com/service/webService/webServiceGuide/webServiceDistance一、H5移动端 1. 安装vue-jsonp npm i -S vue-jsonpmain.js //解决跨域 import {Vu…

JavaScript 中的 3 种 for 循环语句

1. for 应用较广,简单实用。 const array = [4, 7, 9, 2, 6]; for (let index = 0;</

GitHub 经典项目归集

目录 1. Vue32. Vue 源码解密3. 简历项目4. JavaScript5. Flutter6. TypeScript7. 前端必备在线工具8. 管理后台9. 数据结构与算法10. CSS 学习专题11. Node.js12. 小程序13. 前端监控14. 前端的代码规范15. 程序员必备仓库16. 设计

基于 vue 2.0 开发的轻量,高性能日历组件

文章目录1. 安装scss2. 安装日历组件3. 安装提示组件4. 注册组件5. 页面6. 效果图1. 安装scss npm i -D sass-loader8.0.2 npm i node-sass4.14.12. 安装日历组件 npm i vue-calendar-component --save3. 安装提示组件 npm install --save vue-component-toast4. 注册组件 …

Access中编写VBA代码时,如何区分、使用“.”和“!”

目录 1. 释义一2. 释义二3. 释义三1. 释义一 在 Access 以及其它一些使用 VBA 编程的软件中,点号(.)和叹号(!)的区别是让很多刚接触 VBA 编程不久的新手经常感到困惑的一个问题。 按照 VBA 的语法规则,点号(.)用于引用属性,叹号(!)用于引用集合对象,这个是最标准的定义。…

SQL数据库查询基础(主讲MySQL,必要时补充了SQLServer、Access兼容性说明)

目录 一. 逻辑运算符1. 执行的优先级2. 多个 or 子句的简化写法 - IN二. 模糊查询通配符 与 Like三. SQL语句中的计算字段四. SQL 子句的执行顺序五. 系统函数1. 拼接多个字符串字段2. 处理日期和时间3. 聚集函数六. Group By - 分组查询七. Having 子句注,文中如无特别说明,…

vue-cli 创建vue3项目

文章目录一、环境准备二、核心组件2.1. axios封装2.2. vuex2.3. vue-router一、环境准备 前提&#xff1a; # 安装node环境 node -v npm -v# 卸载旧脚手架工具 npm uninstall vue-cli -g or yarn global remove vue-cli# 安装新版的脚手架工具 指定版本vue/cli版本号 npm ins…

Excel VBA 处理图形图表详解

目录 一. 图表各元素在VBA中的表达方式1. 图表区2. 绘图区3. 数据系列4. 图表轴5.网格线6、数据标签7. 图表标题、图例和数据表8. 趋势线和误差线二. 图表类型三. VBA图表常用命令1. 获取工作表的行数2. 使用工作表函数检查 A1单元格中的数据是否为数字:3. 激活单元格区域 A 列…

Jquery 日期组件

项目开源地址&#xff1a;https://gitee.com/gblfy/date-field

十六进制、RGB 与 VBA颜色值对照表

十六进制、RGB 与 VBA颜色值对照表 颜色名称 RGB颜色 十六进制颜色代码 VBA颜色代码 颜色效果 黑色0,0,0#000000&H000000象牙黑41,36,33#292421&H212429灰色192,192,192#C0C0C0&HC0C0C0

利用 VBA 和 HTML自制兼容 WPS及 EXCEL(32位/64位)的颜色选择器

效果&#xff1a; 选择器参考网友一个且里面还残缺不全的半拉子工程方案进行了完善和改进。 技术方案&#xff1a; VBA HTML 实现的具体功能&#xff1a; 画VBA窗体时&#xff0c;非常方便地查看VBA颜色值&#xff08;如上图&#xff09;&#xff1b;默认颜色&#xff1a;有…