导语
智慧之家科技作为物联网智慧社区 SaaS 服务商,自 2015 年启动数据库选型以来,便开启了从公有云 RDS 迁移至 TiDB 的九年实践之旅。这段历程不仅构建起了适配物联网海量数据场景的先进数据库架构,更深刻诠释了 TiDB 如何通过持续的技术升级,陪伴客户走过多年的业务发展,实现韧性增长与创新演进。
本文将基于智慧之家科技科技副总裁余长发的分享,深入阐述其数据库选型背景、TiDB 应用历程、优化实践及所取得的显著降本增效成果,全面展现 TiDB 在物联网领域所释放的长期技术价值与宝贵实践经验。
创业初期:RDS 的成本困境与增长瓶颈
2010 年,余长发从 IBM 离职,投身于充满潜力的物联网智慧社区赛道。彼时,智慧社区领域尚处于发展初期,无论是小型创业公司还是大型国企、央企,在该板块的盈利模式都面临诸多挑战。智慧之家科技的核心业务在于整合小区门禁、楼宇对讲、停车收费、监控、梯控、报警、巡更、充电桩、配电箱等一揽子物联网设备,并将其统一集成到 SaaS 平台上,为物业公司提供全面的解决方案。
在创业初期,公司在开发语言和底层数据存储方面面临选型。基于成本考量,开发语言选择了成熟的 Java,而数据库则选用了简单易管理的 MySQL。通过在阿里云上租用服务器,搭建 Linux 系统并运行 MySQL 进行开发测试,这种方式成本低廉,入门简单,且无需复杂的维护,完美契合了创业初期的需求。
然而,当业务进入生产阶段,高并发问题迅速成为首要挑战。为应对此,智慧之家科技在阿里云上购买了 RDS 云服务器。阿里云提供的配套工具,特别是 Binlog 同步工具,使得将自建 MySQL 数据库中的数据轻松同步到 RDS 中,极大地降低了运维难度。
但随着业务的蓬勃发展,物联网设备数量持续激增,尤其是门禁和停车系统在早晚高峰时段产生的天量数据,使得 RDS 的使用成本逐年攀升。RDS 不仅按容量收费,并发量也会产生额外费用,同时 OSS 对象存储的流量费用也随着业务量的增长而大幅增加。对于一家创业公司而言,这种持续增长的成本压力愈发明显,促使公司开始积极寻求更具性价比、能够支撑长期发展的数据库解决方案。
关键抉择:TiDB 成为未来数据基石
早在 2016 年,智慧之家科技便展现出前瞻性,开始在本地测试环境搭建 TiDB,从最早的 1.0 版本开始深入了解,逐步探索到 2.1 版本。最终选择 TiDB,是基于对公司长期发展战略的深思熟虑,主要考量以下几方面:
- 开源,成本可控: TiDB 作为开源数据库,与公司对开源产品的偏好高度契合,能够在保证技术先进性的同时,大幅降低早期基础 IT 建设成本,这对于追求长期成本效益的创业公司至关重要。团队对开源社区、Linux 和 Unix 系统有深入了解,这种开源基因使得 TiDB 成为天然的战略候选。
- 高度兼容 MySQL 协议,平滑迁移: TiDB 高度兼容 MySQL 协议 v8.0,这意味着公司现有的应用程序无需进行任何修改,即可直接在 TiDB 上运行。这一特性极大地降低了迁移成本和开发成本,对于没有专业 DBA 团队的创业公司来说,是实现数据库升级的关键优势。
- 强大的水平扩容能力,应对海量数据: TiDB 具备强大的动态水平扩容能力。无需复杂的分库分表路由方案,就能够轻松应对数据量的快速增长,这对于物联网场景下不断产生的海量数据来说至关重要。公司无需投入大量精力去研究复杂的分库分表策略,只需简单地添加节点即可实现性能提升,确保业务的持续扩展。
- 易于部署运维,社区生态完善: TiDB 的安装部署简单灵活,运维管理也相对轻松。即使缺少专业的 DBA 支持,通过活跃的社区文档和官方支持,公司也能够自行解决大部分常见问题。TiDB 丰富的生态配套工具,如 Dumpling、Lightning、DM、TiCDC、TiUP 等,涵盖了物理备份、数据导出、实施同步、高效运维等各个环节,为公司的日常运营提供了强有力的支持 。
- 活跃社区与完善文档,持续学习保障: TiDB 社区的活跃度和完善的文档体系,也为公司提供了良好的学习和交流平台 。通过社区,公司能够快速获取最新的技术信息,解决实际应用中遇到的问题,这对于技术力量相对薄弱的创业公司来说是宝贵的资源,确保了长期技术支持的可靠性。
持续演进:TiDB 架构升级赋能业务韧性
2018 年,智慧之家科技做出关键决策,将线上 RDS 数据库迁移到自建私有云,核心驱动力在于软硬件成本控制。随着业务并发量的持续增长,RDS 的使用成本已变得难以承受,自建私有云成为降低长期运营成本的关键举措。
公司搭建了 TiDB V2.1 架构,包括 3 个节点的 PD、6 个节点的 TiKV 和 3 个节点的 TiDB,并使用官方提供的 syncer 工具(TiDB Data Migration 工具前身产品)进行数据同步。通过先扩容再缩容的策略,顺利完成了数据迁移和切换,实现了业务的平稳过渡。迁移到私有云后,公司在深圳市场进行了两年的推广活动,自主研发、生产和销售门禁、停车场等设备,业务规模不断扩大,数据量也随之激增。
为了持续应对数据量的增长和性能需求,公司在 2019 年将 TiDB 升级至 V3.1 版本,并引入了 TiFlash,同时采用 TiUP 进行运维管理。TiUP 的一键升级功能使得后续升级到 V4、V5、V6 等版本变得简单高效 。然而,在使用过程中,公司发现 TiKV 的写放大问题较为严重,导致虚拟节点频繁故障。通过监控分析,发现网络 IO 和磁盘 IO 成为性能瓶颈。针对这一挑战,公司采取了两方面的优化措施,展现了其对数据库架构持续优化的决心:一方面,启用 Titan 引擎来缓解写放大问题;另一方面,将 TiKV 和 TiFlash 从虚拟机迁移到物理服务器,并将机械磁盘升级为 SSD 和 NVME 盘,显著提升了 IO 性能。这些持续的优化措施使得数据库的稳定性和性能得到了极大改善,确保了业务的韧性。
在持续升级和优化过程中,公司也遇到了一些小插曲,但都通过积极探索和学习得以解决。例如,在扩容时由于操作不当导致 TiKV 故障,后来总结出“先扩容再缩容”的基本原则,为后续操作积累了宝贵经验。在升级 TiFlash 到 6.1 版本以上时,发现 CPU 必须支持 AVX2 指令集,而老旧服务器的 CPU 不满足这一要求,导致升级失败。通过及时更换新服务器,这些问题得到了妥善解决,也促使公司在硬件选型上更加注重与 TiDB 最新版本的兼容性。
2020-2023 年期间,公司对架构进行了全面升级,进一步提升了数据处理的专业化和高效化。引入了时序数据库 TDengine 来处理物联网设备相关的日志数据,同时引入图形库 NebulaGraph 来管理用户操作日志等关系数据。至此,公司形成了分层架构:TiDB 负责实时交易,TDengine 用于归档查询,NebulaGraph 处理关系查询。这种多数据库协同的架构,使得数据处理更加专业化和高效化,为智慧之家科技的业务持续发展提供了更强大的数据支撑。
业务创新:TiDB 支撑免鸟积分平台转型升级
受到房地产行业大环境的影响,智慧社区 SaaS 平台的传统商业模式受到冲击,开发商买单的模式难以为继,向物业公司收取运维服务费也面临诸多困难。面对这一严峻困境,智慧之家科技展现出卓越的适应性和创新能力,进行了产品升级和战略转型,研发了免鸟积分平台,主打社区 O2O 运营,从传统的物联网平台成功转向社区运营平台。
免鸟积分平台的核心目标是解决物业收费难的痛点,通过积分兑换物业费的方式,实现用户、物业和商家的三方共赢。用户在不改变消费习惯的情况下,通过消费获取积分,进而兑换物业费和停车费;物业公司提升了收费率,减少了矛盾;商家则通过平台获得了更多的客流量,实现了多方共赢的商业闭环。
在免鸟积分平台的架构中,TiDB 依然承担着实时交易的核心角色,其稳定性和可扩展性确保了新业务模式的平稳运行和快速迭代。TDengine 和 NebulaGraph 则分别负责时序数据和图数据的处理,共同构成了支撑创新业务的强大数据底座。为了应对未来的业务扩展和高可用需求,公司计划部署十个机房,并在重庆设立集中数据中心,通过 TiCDC 等工具实现跨机房的数据同步和容灾备份。这种前瞻性的架构设计不仅能够满足当前业务需求,还为未来的大规模发展预留了充足的空间,充分体现了 TiDB 在支撑业务创新和长期发展方面的核心价值。
九载同行:TiDB 带来的长期价值与降本增效
经过九年的 TiDB 使用历程,智慧之家科技在降本增效方面取得了显著的长期成果,充分印证了 TiDB 作为长期战略伙伴的价值。
- 使用成本大幅降低: TiDB 的内核开源特点使得公司无需支付昂贵的数据库许可(license)费用,极大地降低了基础 IT 建设初始投入和持续支出,为公司节省了巨额成本。
- 开发成本显著优化: TiDB 与 MySQL 的高度兼容性使得应用程序无需进行重大修改,减少了开发工作量和学习成本,加快了项目迭代速度,提升了开发效率。
- 运维成本持续降低: 在缺少 DBA 团队支持的情况下,借助 TiDB 简单易用的运维工具(如 TiUP )和活跃的社区支持 ,公司能够自主完成日常运维工作,有效降低了人力成本和运维复杂性。
- 生态系统全面赋能: TiDB 丰富的生态组件满足了公司各类应用场景的需求,从数据迁移、备份到监控、分析,都有完善的工具支持,提高了整体开发和运维效率,确保了业务的持续稳定运行。
这些成果不仅体现在短期的效益上,更在于 TiDB 能够持续地为智慧之家科技提供稳定、可扩展且经济高效的数据基础设施,使其能够专注于业务创新和市场拓展,而非被底层技术所束缚。
展望未来:TiDB 持续赋能智慧之家科技的战略布局
展望未来,智慧之家科技将进一步优化数据库架构,以适应物联网行业日新月异的发展需求。在跨机房数据同步容灾方面,公司计划从三个层面实现高可用性:应用层实现异步写,中间件同步,并充分利用 TiDB 配套的 TiCDC 等工具进行数据同步。通过这些措施,为业务的持续稳定发展提供坚实保障。
同时,公司将继续关注 TiDB 的最新版本,计划测试 TiDB 8.0 版本,以充分利用其新特性和性能提升,不断优化数据库架构,确保数据库始终走在行业前沿,持续赋能智慧之家科技的业务创新与长远发展。
智慧之家科技与 TiDB 的九年实践,不仅是技术选型与优化的典范,更是一段创业公司与核心技术伙伴共同成长、持续创新的旅程。TiDB 以其不断升级的技术能力,始终如一地支撑着智慧之家科技应对物联网海量数据的挑战,赋能其业务模式的转型与长远发展,为行业树立了数据库陪伴企业成长的宝贵范例。