做数据时代的加油站,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 爱好者一同交流。
- 网易分布式数据库多活架构的演进与实践 - 分布式
- 禾连健康CDO沈金:谈云时代的大数据平台架构
- 禾连健康CDO沈金:谈云时代的大数据平台架构
- 亿万级图数据库 Nebula Graph 的数据模型和系统架构设计
- 大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 时序算法——结果预算+下期彩票预测篇)
- 美团点评数据库高可用架构的演进与设想
- 精华的微软文章".NET 数据访问架构指南",特别是数据库连接的测试.即监视链接池化(1)
- 大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 聚类分析算法)
- .NET应用架构设计—ASP.NETMVC 大型站点架构设计迁移Model元数据设置项(自定义元数据提供程序)
- 数据中心网络架构的问题与演进 — SDN
- 数据库之间架构和数据的同步,VS2010给了我们实用的解决方案
- sql2012数据库和架构 导入 MS 2005(高版本数据库到低版本数据导入)
- 数据为桥迈向智能,渤海财险数据架构智能化演进
- 内存数据库:大数据时代数据管理新宠
- 大型网站架构演进(7)数据库拆分
- [转]Visual Studio 2008中如何比较二个数据库的架构【Schema】和数据【Data】并同步
- 图数据库 Nebula Graph 的数据模型和系统架构设计
- 后Hadoop时代的大数据架构
- 大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 聚类分析算法)
- 在SQL Server 2005数据库中更改数据架构