写在OceanBase开源三周年
我收获的深刻感触get
感触1:解决问题才有生存价值 [产品力]
感触2:永无止境的“易用性” [易用性]
感触3:立下“双赢”的flag
感触4:社区建设离不开用户和开发者参与
感触5:从易用到用户自助 [自助能力]
当时想法很简单,OceanBase 作为一款在蚂蚁集团应用了十多年,支撑每年“双 11”所有核心业务场景的产品,它的稳定性、性能非常好、还有很高的性价比,开源出来一定会得到用户和开发者的喜爱。我们也一直在强调 OceanBase 是真开源,当然,这要交给用户和开发者评判。
今天在 OceanBase 开源三周年之际,想跟大家说说心里话,聊聊这三年来的感触。
感触1:解决问题才有生存价值
产品力
快手是 OceanBase 社区版第一位上线用户,至今我还清楚地记得第一次拜访快手时的场景。
除了这些携手并进的伙伴外,还有一批不断为我们出谋划策的朋友。携程是一直陪伴 OceanBase 社区版成长的用户,给我们提出了很多重要建议。携程在 OceanBase 社区沉淀的技术博客《干货 | 携程 MySQL 迁移 OceanBase 最佳实践》至今都在被其他用户仔细阅读。
在上述过程中,虽然 OceanBase 社区版是为解决用户问题而来,但是正因为有诸多用户的信任,才有齐心协力解决问题的过程,带来超出预期的结果。
感触2:永无止境的“易用性”
易用性
使用数据库,就像相亲一样,易用性就像相亲对象的外貌,若易用性不足,很难获得和对方进一步了解的机会。 对此,OceanBase 专门成立开源管控团队解决易用性问题。但易用性就像攀登高峰,一山更比一山高,永无止境。 (《与用户同行:OceanBase开源3周年易用性回顾》)
面对易用性挑战,我们将蚂蚁内部和 OceanBase 企业版沉淀多年的商业软件 OCP(OceanBase Cloud Platform)开放出来,供社区用户使用,一整套白屏运维系统为用户带来很大的便利性。
同时,我们对文档组织结构做了重大调整,将很多分散的文档进行梳理合并,并把文档优化的优先级按照用户习惯进行排序,还开放了技术支持同学沉淀的问题排查知识库,便于用户自助排查。
正如我刚才所说,易用性永无止境,没有最好,只有更好。 如果大家在使用过程中感到不妥或不舒服,欢迎在我们的社区或 GitHub 给提建议。
我们做业务系统,都会有一些业务运营类的后台管控系统。开发好后,结果业务产品或运营觉得不好用。
为何?因为开发很多时候是从自己的实现视角做系统,用户的易用性较差,使用门槛和学习成本较高。
怎么做?我们需要从用户使用和业务视角做界面功能设计,使用产品运营能理解的业务领域通用语言和业务场景设计界面与功能,这样她们才能快速上手,使用顺手。
感触3:立下“双赢”的flag
开放合作共赢
在产品易用性之外,生态工具的丰富度也关系着用户的使用体验。对外提出 OceanBase 社区的 slogan:开源开放,生态共赢。 这源于我过去十几年在阿里、蚂蚁的工作习惯,我的团队从无到有、从小到大,经常和上下游部门合作,所以养成了 “双赢”的做事习惯。
我时常在想,当我们面对用户时,使用 OceanBase 能不能解决用户痛点,
如果用户今年的目标是降本增效,那么 OceanBase 可以在哪些场景起到作用;
如果用户的需求是支撑业务的快速发展,我们该怎么利用好 OceanBase 的高扩展性和稳定性;
我们该如何联合上下游伙伴为用户创造价值,并使双方都能在用户的数据链路中发挥作用。
在我们的生态 landscape 中,目前包括应用集成、数据治理、数据迁移及运维管控等,帮助用户更流畅地完成数据生命周期中的每一个阶段。
- 应用集成,让数据更轻松地生产出来。 目前已对接的伙伴涵盖业务系统、基础软件、连接池、中间件、ORM、数据驱动、BI 报表、大数据平台,比如 Flink、Spark、MyCat 等。
- 数据治理,帮助用户更安全地管理数据。 包括基础客户端、数据加工、智能诊断、线上运维、安全管控等。比如 DBeaver、OceanBase 开发者中心(OceanBase Developer Center,ODC)。
- 数据迁移,让数据自由地流动起来。 已对接的系统中能够让 MySQL、Oracle、DB2、Elasticsearch、PostgreSQL、Hive、XDB 的数据流入 OceanBase,也能从 OceanBase 将数据同步到其他数据库中。比如 Flink CDC、Canal、ChunJun 、Data Pipeline 等。
- 运维管控,让用户更轻松地运维 OceanBase。 我们对接的系统有 Kubernetes、Grafana、Data Foundatian 等。
每年的 OceanBase DevCon,我都会跟大家汇报生态进展,从 2023 年的 400+ 到 2024 年 4 月的 700+,再到今天 800+ 生态工具,这样的增速只希望为用户提供更便捷的使用体验。
感触4:社区建设离不开用户和开发者参与
OceanBase 社区版在用户和开发者的建议与目睹中不断成长,除产品侧不断反馈建议外,用户和开发者也积极地在社区贡献力量,比如主动在社区答疑、在技术博客分享经验、参与文档共建、一起组织活动等。
这样的深刻回忆以后有机会再展开来讲,我想表达的是,正因为有你们对 OceanBase 及团队的信任和对项目、对社区的贡献,才能让 OceanBase 社区版在短短三年内拥有 500+ 客户和 1.4w 装机量, 客观讲这样的增速非常快。在此,我代表 OceanBase 开源团队衷心感谢社区贡献者、代码贡献者、生态伙伴。
感触5:从易用到用户自助
自助能力
过去三年,我们一直在提升 OceanBase 社区版的易用性,未来三年,我们会强化它的自助能力,让用户更加顺畅、自如地操作 OceanBase,这体现在四个方面。
第一,提升诊断能力。 包括强化 obdiag 诊断能力、OCP 监控能力,以及生成更友好的报警日志和提供更详细的视图。
第二,推出系统化培训资料。 我们刚结束了面向 DBA 的《OceanBase DBA 从入门到实战》课程,下半年我们会将课程资料整理成电子书供大家永久参考;同时推出面向开发者的《OceanBase 开发者最佳实践》。
第三,沉淀知识库。 在过往的用户工单中,有许多经典问题和解决方案值得开放给大家参考,我们将在下半年基于开源团队工单系统推出开源知识库。
第四,增强论坛答疑。 过去有许多开发者、用户在社区“问答”板块主动回答问题,未来我们将强化悬赏机制,激励更多社区贡献者。同时会补充论坛值班员工,及时响应大家的问题。
最后还想跟大家透露两件有意思的事情。一是如今主流的操作系统都已经支持 OceanBase 直接安装,在单机版 2C6G 环境中就可以运行,大家可以在自己的电脑上尝试一下。二是 OceanBase 开始打造向量引擎插件,并正在进行研究尝试,期待在不久后给大家新的惊喜。
总的来说,我们会持续提升 OceanBase 的产品力、易用性、自助能力,不忘开源初心,积极响应客户问题,听取大家的建议。 未来,在我们仍然做得不够的地方,也请大家督促、指正。
阅读原文
相关文章:

写在OceanBase开源三周年
我收获的深刻感触get 感触1:解决问题才有生存价值 [产品力] 感触2:永无止境的“易用性” [易用性] 感触3:立下“双赢”的flag 感触4:社区建设离不开用户和开发者参与 感触5:从易用到用户自助 [自助能力] 当时想法很简…...

【笔记】408刷题笔记
文章目录 三对角三叉树求最小带权路径UDP报文首部和TCP报文首部IP报文首部TCP报文首部UDP报文首部 刷新和再生的区别地址译码 为了区分队空队满,可以使用三种处理方式 1)牺牲一个单元 队头指针在队尾指针的下一位置作为队满的标志 队满条件:(…...

GitHub Star 数量前 13 的自托管项目清单
一个多月前,我们撰写并发布了这篇文章《终极自托管解决方案指南》。在那篇文章里我们深入探讨了云端服务与自托管方案的对比、自托管的潜在挑战、如何选择适合自托管解决方案,并深入介绍了五款涵盖不同场景的优秀自托管产品。 关于自托管的优势…...

js实现生成随机数值的数组
生成随机数值的数组 方法一:使用while循环和Set // min 开始数值, max 结束数值, count 数组内填充几个数值 function generateUniqueRandomNumbers(min, max, count) { let result new Set(); while (result.size < count) { let n…...

视频怎么转换成mp3格式?分享5种便捷的转换方法
在日常生活中,我们经常会遇到需要将视频文件中的音频提取出来,转换成MP3格式的情况,以便在手机、MP3播放器或其他设备上播放。今天,我将为大家介绍5种视频转MP3的方法,非常简单便捷,一起来学习下吧。 方法一…...

Reflection 70B如何革新语言模型的准确性与推理能力
在开源人工智能模型领域,HyperWrite 公司开发的 Reflection 70B 模型以其创新的“反射”机制成为新的重量级竞争者。这一模型旨在解决大型语言模型常见的“幻觉”问题,即生成不准确或虚构的信息。Reflection 70B 通过在提供最终响应之前评估和纠正自己的…...

覆盖索引是什么意思?
文章目录 Q1:覆盖索引是什么意思?覆盖索引的工作原理覆盖索引的优势覆盖索引的示例覆盖索引的使用场景覆盖索引的限制总结 Q2:为什么查询所涉及的所有字段都在索引中存在,那么数据库就无需回表?1. **索引本身存储了字段…...

最大间距问题
LeetCode164 最大间距 基数排序 #include <iostream> #include <vector> using namespace std;class Solution { public:int maximumGap(vector<int>& nums) {int nnums.size();if(n<2) return 0;int exp1;int Maxnums[0];vector<int> buf(n)…...

【Hadoop|MapReduce篇】Hadoop序列化概述
1. 什么是序列化 序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)和网络传输。 反序列化就是将收到的字节序列(或其他数据传输协议)或者磁盘的持久化数…...

【Elasticsearch系列】Elasticsearch中的分页
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

NLTK:一个强大的自然语言处理处理Python库
我是东哥,一名热爱技术的自媒体创作者。今天,我将为大家介绍一个非常有趣且强大的Python库——NLTK。无论你是刚刚接触Python的小白,还是对自然语言处理(NLP)有些许了解的朋友,NLTK都是一个值得学习的工具。…...

NUUO网络视频录像机 css_parser.php 任意文件读取漏洞复现
0x01 产品简介 NUUO网络视频录像机(Network Video Recorder,简称NVR)是NUUO Inc.生产的一种专业视频监控设备,它广泛应用于零售、交通、教育、政府和银行等多个领域。能够同时管理多个IP摄像头,实现视频录制、存储、回放及远程监控等功能。它采用先进的视频处理技术,提供…...

【支付】Stripe支付通道Java对接(产品 价格 支付 查询 退款 回调)
Stripe是一家美国科技公司,成立于2010年,由爱尔兰兄弟Patrick Collison和John Collison共同创立。该公司致力于提供高效、简洁的互联网支付收款服务,为开发者或商家提供支付API接口或代码,使商家的网站、移动APP支持信用卡付款。S…...

Unity3D 小案例 像素贪吃蛇 01 蛇的移动
Unity3D 小案例 像素贪吃蛇 第一期 蛇的移动 像素贪吃蛇 今天来简单制作一个小案例,经典的像素贪吃蛇。 准备 首先调整一下相机的设置,这里使用灰色的纯色背景,正交视图。 接着,创建一个正方形,保存为预制体&#…...

【STM32 MCU】stm32MCUs 32-bit Arm Cortex-M
stm32MCUs 32-bit Arm Cortex-M...

html+css网页设计 旅游 雪花旅行社5个页面
htmlcss网页设计 旅游 雪花旅行社5个页面 网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1&#…...

vue3中的实例
实例类型 Vue2:每个Vue应用都是new Vue创建的一个新实例,创建的时候将data作为property添加到响应式系统中 vue3:createApp创建一个Application Instance、应用实例用来注册全局内容,大多数方法支持链式调用,返回实例…...

9.测试计划(包含笔试/面试题)
一、软件测试计划介绍 1.测试计划就是一份测试文档,一份描述测试工作计划的文档,对测试计划进行统筹安排。 2.测试计划的编写者就是测试组长,测试主管。 3.测试计划的查阅者:测试人员,测试主管,产品&#x…...

这 7 款AI应用将让你全新的iPhone 16成为电影制作的强大工具
苹果公司在周一的Glowtime发布会上揭晓了新款的iPhone 16 Pro系列。除了新加入的苹果智能功能和令人印象深刻的硬件升级外,它还获得了一套视频制作工具,让用户能够在一个几乎可以放进口袋的设备上制作整部电影。 这些升级中有一个48MP融合相机。它具有2…...

自注意力机制(self-attention)
自注意力机制(self-attention) 之前听过吴恩达老师的课,吴恩达老师CNN那一块讲的特别好,但是后面RNN这一部分我听的不是很明白,今天有看了李宏毅老师attention这部分的课,总结一下笔记。 self-attention …...

Nuxt3入门:过渡效果(第5节)
你好同学,我是沐爸,欢迎点赞、收藏、评论和关注。 Nuxt 利用 Vue 的 <Transition> 组件在页面和布局之间应用过渡效果。 一、页面过渡效果 你可以启用页面过渡效果,以便对所有页面应用自动过渡效果。 nuxt.config.js export defaul…...

【开发工具】IntelliJ IDEA插件推荐:Json Helper——让JSON处理更高效
导语:在Java开发过程中,JSON作为一种轻量级的数据交换格式,被广泛应用于前后端数据交互。今天,我要为大家介绍一款IntelliJ IDEA插件——Json Helper,帮助开发者更高效地处理JSON数据。 一、什么是Json Helper&#x…...

Lua垃圾回收机制
Lua垃圾回收机制 在 Lua 中,一共只有8种数据类型,分别为 nil 、boolean 、userdata 、number 、string 、 table 、 function 、 userdata 和 thread 。其中,只有 string table function thread 四种是以引用方式共享,是需要被 G…...

Java学习路线:详细指引
Java学习路线可以分为几个阶段,每个阶段都有其重点和推荐学习的内容。下面我将按照初学者、进阶和高级三个阶段来举例说明: 初学者阶段 目标: 熟悉Java基础语法理解面向对象编程掌握基本数据类型和数据结构学会使用IDE(如Intel…...

商家转账到零钱如何开通-微信支付
商家转账到零钱是微信支付的一项实用功能,允许商户将资金从商户号余额直接转账到用户的微信零钱。我们以上万次成功申请的经验整理了本文的详细的步骤和建议以帮助商户可以快速开通该功能。 1. 准备工作 - 确认申请资格:只有公司性质的商户可以申请此功能…...

自研商家如何快速接入电商平台订单数据?
随着电子商务行业的快速发展,越来越多的商家开始寻求高效的订单管理和数据整合方案。对于那些自研系统的商家来说,如何实现与各大电商平台之间的无缝对接,成为了一项重要挑战。点三电商API正是为此类需求量身打造,为商家提供了一站…...

Win10下借助CMake编译OpenMVS
笔者在编译OpenMVS的过程十分曲折。刚开始借助CMake编译,能够把与库生成相关的工程编译出来,但是与可执行文件相关的工程会报错;后来参考官方教程借助VCPKG编译,发现VCPKG并没有想中强大、好用,最终也是遇到了各种问题没有编译成功。但是,笔者在解决问题的过程发现了问题…...

04_定时器与数码管基础
通过上节课的实验,大家会发现,我们逐渐进入比较实质性的学习了,需要记住的内容也更多了,个别地方可能会感觉吃力。但是大家不要担心,要有信心。这个跟小孩学走路一样,刚开始走得不太稳,没关系&a…...

Python 数学建模——方差分析
文章目录 前言单因素方差分析原理核心代码 双因素方差分析数学模型分析依据典型代码 前言 方差分析也是概率论中非常重要的内容,有时数学建模需要用到。方差分析是干什么的?如果说假设检验用于分析两个总体之间的均值 μ 1 , μ 2 \mu_1,\mu_2 μ1,μ…...

计算机视觉中,什么是上下文信息(contextual information)?
在计算机视觉中,上下文信息(contextual information)是指一个像素或一个小区域周围的环境或背景信息,它帮助模型理解图像中对象的相对位置、大小、形状,以及与其他对象的关系。上下文信息在图像中提供了全局的语义和结…...