
作者:丁泽斌,同方智慧能源数据库工程师
同方智慧能源集团,作为同方股份有限公司的核心企业之一,致力于成为全球领先的智慧能源解决方案提供商。凭借中核集团和清华大学的科技优势,专注于为建筑、交通、工业、北方供热、数据中心等主要能源场景提供设计咨询、产品技术、投资建设和运营服务,目标是在城市绿色低碳能源结构下,为客户提供智能、节能和高效的能源利用解决方案,同时提供一流的能源投资与运营服务。目前,公司的项目具有以下几个显著特点:
toG 业务:我们的主要项目不同于常见的 面向消费者(toC) 或 企业(toB)的服务,更多的是为政府的工业建设、城市交通、基础设施等提供服务。
项目独立:项目多拥有完全独立的服务器资源,资源一般不共享。
较少使用公有云:极少数项目会使用公有云机器或服务,大规模集群通常会通过内部的私有云或物理机进行部署。
设备为主体:大多数项目是以设备为主体,能够 24 小时不间断工作,没有操作极限和压力低谷时期,数据产生频率高。
一、业务中面临的数据库困境:

二、为什么选择OceanBase
HBase-Phoenix:HBase 属于 KV 存储型数据库,Phoenix 将其变成提供 SQL 的接口,更方便分析和业务开发。但是它的结构较为复杂,不支持多种开源工具,而且默认特性也不符合我们的开发习惯,这使得在实际应用中存在一定的限制。 Apache Ignite:它是一个关系型内容库,但其资源相对较少,社区的活跃度较低。在初次使用 Apache Ignite 时,我们遇到了一些问题,例如偶然出现分区丢失导致无法进行表查询,正常运行的服务意外挂掉等,这对于线上数据库来说是无法接受的。 TiDB:根据我们调研最低的生产环境要求 13 台服务器,对于公司的一些老项目来说,很难达到这个资源配置水平,因此在实际应用中存在一定的挑战。 OceanBase:相较之下,OceanBase 由蚂蚁集团完全自研,满足了我们的国产自研需求。其社区活跃度高,官方人员会及时响应用户问题,且生态完善便于运维。值得一提的是,OceanBase 高度兼容 MySQL。经测试后发现,MySQL 项目迁移到OceanBase可以直接运行,应用零改造。此外 OceanBase 的流行度高也非常高,墨天轮国产数据库榜位列第一,GitHub Star 数量也达到 7000+,这些都表明了其在业界的广泛认可和使用。
OceanBase https://www.oceanbase.com/
OceanBase企业版 https://www.oceanbase.com/product/oceanbase
OceanBase社区版 https://www.oceanbase.com/product/opensource
OB Cloud https://www.oceanbase.com/product/cloud
高扩展性:横向、纵向灵活扩展自动负载均衡,可根据需求轻松灵活地扩展节点数量,最多可达 1500+ 节点,且应用无感知;
高可靠性:数据强一致,集群多副本,支持跨地域容灾,避免单点故障;
低成本:一体化架构,高压缩比,3 台服务器完成最小部署;
HTAP:一套引擎支持 OLTP 业务和 OLAP 业务;
多租户:资源划分合理,最大化利用资源。


三、同方能源应用OceanBase的
实践经验和收益
资源配置:因为 OceanBase 是以租户为单位划分 CPU 和内存资源,即使只搭建实例,自身也会占用一定的 CPU 和内存资源。虽然 从 OceanBase4.0 版本开始可以在低配置低资源环境下运行,但我们不建议在实际生产环境过低地配置资源,否则实际资源可能会分配不足。 磁盘选择:目前 OceanBase 建议使用 SSD 磁盘,不建议使用机械硬盘。对于一些在测试环境中使用硬盘的公司会带来一定的影响,可能会导致效率低下,影响使用效果。在规划磁盘的时候,日志磁盘无论数据量再少,磁盘规划应该至少是内存的三倍,否则 OCP 默认无法将所有内存资源分配给租户。为了防止 I/O 资源竞争,日志盘、数据盘、系统盘最好分别独立,不要共用。 搭建方式选择:OBD 和 OCP 各有优势,OBD 非常便捷,自带 OCP Express,也可以对集群进行简单的管理,不需要集群资源过多的配置规划,即可完成集群的搭建。但一些高级操作需要在终端操作命令行来完成,比如无法直接通过页面管理 OBProxy ,也无法对集群进行重启等,因此对维护人员要求较高。OCP 功能强大、更方便维护。OCP 可以完成多种高级操作,同时支持管理多个集群。非常适合大型项目的搭建。不过,OCP 作为独立的组件,如果分配过多资源,会造成不必要的资源浪费。而且在搭建 OCP 时,需要一台独立机器以及建设独立的集群以提升其稳定性,确保功能不受限制。
四、未来规划
在业务类型方面,扩大从业务数据到实时数据、再到系统的实时数据和历史数据的范围,以更好地满足不同业务场景的需求,提高数据处理效率。
在业务范围方面,从集控中心使用走向多层级协同集群,更好地支持大规模业务场景,提高系统的可靠性和性能。

在集群规模方面,从高配置的小型集群走向高配置的大型集群,并逐步演变为多集群规模,更好地满足大规模数据处理和可伸缩性需求。
在业务方向方面,以新能源项目为切入点,逐步将 OceanBase 应用在供热供暖、地铁交通、智慧建筑等行业,可以更好地支持这些行业的数字化转型和创新发展。




