做数据时代的加油站,ShardingSphere 为易车数据库架构演进提供新动力

Apache ShardingSphere 前段时间应邀来到易车北京总部,PMC Chair 张亮与易车的技术同学在数据加解密、扩容、迁移、上云等话题展开了深度交流与探讨。

作为中国领先的汽车互联网企业,易车深耕汽车行业二十余载,为中国汽车用户提供专业、丰富的互联网资讯和导购服务,并为汽车厂商和汽车经销商提供卓有成效的互联网营销解决方案。在公司“1234”的战略推动下,易车技术团队考察并选择了ShardingSphere,为优化数据服务提供更多选择。在讨论最后,张亮也表示,ShardingSphere 核心团队将与易车 DBA 团队保持紧密沟通,双方将建立起长期的技术合作关系,共同为繁荣 ShardingSphere 社区生态而努力。

在数据加解密方案中,可以通过 Proxy 来统一实现吗?

这个是可以的,无论是通过 Proxy 或是 JDBC 都能实现,只用 Proxy 也是没问题的。如果需要将数据迁移至 Proxy 端,Apache ShardingSphere 提供了弹性迁移模块,用户完全不需要担心迁移、上线的处理问题。其次,随着业务的增长和变化,也许企业后期会需要对已经分片处理过的数据库进行二次分片。Apache ShardingSphere 结合 Scaling 可以实现数据分片的弹性伸缩,保证系统可以随着业务变化而不断调整,从而满足业务快速增长的需求。

另一方面,ShardingSphere 的加密与一般数据库的内容加密不同,是基于行列级别进行加密。如常见身份证、密码等等要素,只需要通过 ShardingSphere 将这些要素进行加密即可。此外,ShardingSphere 通过对这部分能力进行标准化并集成在中间件生态上,自动化用户对新、旧业务的数据脱敏以及加解密的过程,整个过程实现了用户层面的无感知。同时支持多种内置的数据加解密/脱敏算法,用户也可根据自身情况来自定义扩展相应的数据算法。

在数据扩容或迁移时,如何在不停服的情况下实现数据扩容?对于新增数据如何处理?

在数据迁移构成中,分为存量数据迁移以及增量数据迁移,数据体量越大耗时越长。同时增量数据往往是动态变化的,为了最终确认两端数据一致,一定是需要一段停写时间,让日志能够追上来并完成校验。Apache ShardingSphere 可以将数据迁移任务分为多个部分并行执行,合并同一记录的修改操作,在配置上之后再执行一条命令停止主库的写入,使主库只具备只读的权限,同时在只读期间暂停 SQL 执行并在停写的瞬间确保数据是全局一致的,进而再操作切库,减少对于系统可用性的影响。

当下大部分企业为了保证高可靠以及高吞吐量,往往会对数据库进行主从配置。如何确保主从库之间的数据一致性,尤其是在数据迁移过程中,需要能够在几乎不影响业务的情况下实现数据校验。Apache ShardingSphere 提供了多种内置的比对策略和数据一致性校验算法,用以比较源端数据和目标端数据是否一致,默认使用 CRC32 以便在速度与一致性上取得平衡,且校验算法支持 SPI 自定义。

ShardingSphere 上云后,与应用和云之间的兼容性问题

不论是在云上还是本地,主要是应用连接 ShardingSphere,如果该应用有部署负载均衡,直接更改访问 URL 即可。

另外一种方式,可以根据 Database Mesh 设计理念,在每一个应用端部署一台 Sidecar,利用 Sidecar 来收集和探测 ShardingSphere 本身,从根本状态层面保证高可用。Database Mesh 为用户提供了完全隔离不同环境的能力。

关于 Database Mesh,面向运维工程师时,用户只需变更数据面板到分布式数据库的网络配置,以标准界面配置数据库访问规则、资源配额、数据变更、可观测性等;面向研发工程师,Database Mesh 对其完全屏蔽了数据库所在的具体网络地址,研发工程师只需面向本地数据库进行开发,无需感知分布式数据库的存在。

通过 Database Mesh 提供的云原生服务,未来用户可通过接收控制面板发送的指令,来执行限流、熔断、基于标签的路由等操作。未来,所有云上数据库流量的管理和控制都可以交由 Database Mesh 体系来进行管理,既可以管理普通的数据库,也可以搭配 ShardingSphere-Proxy 管控端。

欢迎点击链接,了解更多内容:

Apache ShardingSphere 官网:https://shardingsphere.apache.org/

Apache ShardingSphere GitHub 地址:https://github.com/apache/shardingsphere

SphereEx 官网:https://www.sphere-ex.com

欢迎添加社区经理微信(ss_assistant_1)加入交流群,与众多 ShardingSphere 爱好者一同交流。

根植于Apache 顶级项目「ShardingSphere」,SphereEx 始终秉承开源、共享、生态、平台理念。

51 声望
7 粉丝
0 条评论
推荐阅读
创新能力加速产业发展,SphereEx 荣获“中关村银行杯”『大数据与云计算』领域 TOP1
8 月 9 日下午,2022 中关村国际前沿科技创新大赛“中关村银行杯”大数据与云计算领域决赛在北京市门头沟区中关村(京西)人工智能科技园·智能文创园落下了帷幕。SphereEx 凭借自身在数据库领域产品与理念的双重创...

SphereEx阅读 207

走进开源项目 - urlcat 源码分析
该项目是在 qs 项目的基础上并使用 typescript 进行开发,其中定义了 2 个类型,有几个不太了解知识点 type 、 Recode 、Partial 和 Pick 。

robin5阅读 2.1k评论 2

封面图
三年前端的2022,如果创造比卷更有趣,那为何创造不能成为主旋律?
up主2019年毕业,找了一份前端工作,一直干到现在。2019年末出现疫情,三年的时间,也差不多与我的职业生涯完全重合了。刚过去的2022年,我也没有避开阳的命运(这病毒是真的强),就12月这一个月时间,几乎全公...

Gomi8阅读 1.4k

封面图
个人/团队/公司开源,Joyqi 谈贡献开源的「不同姿势」
前不久,Answer.dev 创始人 @Joyqi 受到邀请,在刚刚结束的 GitHub Universe 的 Local Party 上做了题为「用 GitHub 构建开源项目的各种姿势」的主题分享。以下为他的分享实录。

AnswerDev7阅读 1.4k评论 2

张晋涛:我的 2022 总结
大家好,我是张晋涛。2022 年已经结束,我每年都会惯例的做个小回顾,今年因为阳了在恢复身体,一直拖到了今天才写。生活在 2022 年初做回顾的时候,觉得 2021 是魔幻的一年,但现在看来 2022 年其实更加魔幻。一...

张晋涛6阅读 666评论 2

封面图
万字详解,吃透 MongoDB!
MongoDB 是一个基于 分布式文件存储 的开源 NoSQL 数据库系统,由 C++ 编写的。MongoDB 提供了 面向文档 的存储方式,操作起来比较简单和容易,支持“无模式”的数据建模,可以存储比较复杂的数据类型,是一款非常...

JavaGuide3阅读 221

封面图
阿里云被曝 UI 抄袭,复刻 SkyWalking Trace Profiling 页面
2023 年 1 月 3 日,SkyWalking 官网发布消息,称阿里云抄袭了 SkyWalking Trace Profiling 整体页面 UI,包括页面布局、文字和分析任务设置,唯一的区别仅有颜色方案。

鸣飞5阅读 4.7k

根植于Apache 顶级项目「ShardingSphere」,SphereEx 始终秉承开源、共享、生态、平台理念。

51 声望
7 粉丝
宣传栏