软件技术学习笔记

个人博客,记录软件技术与程序员的点点滴滴。

数据架构的发展

在互联网大数据时代,海量数据的存储只能数据分片与分布式存储,在数据处理时又需读写分离、结果归并到应用服务节点。在云原生与微服务中,以下几种数据库均占有自己的一席之地,没有谁可以代替谁:

  1. 传统关系数据库的MySQL、PostgreSQL等,节省空间,可联合查询。
  2. NoSQL的MongoDB、HBase等,具有天生的分布式能力。
  3. NewSQL的TiDB、ShardingSphere中间件、云数据库。NewSQL数据库与云数据库,很新很强大,但是成熟度不高。

在微服务系统中,数据架构经历了以下几个过程:

  1. 原始方式,在业务代码中与不同的分片数据库交互,在业务代码中结果归并。
  2. 侵入式Library,业务代码中不感知分片信息,但不支持跨语言。
  3. 中间件Proxy模式,独立的中间件服务,支持不同的语言。是目前最流行的大数据架构方案。
  4. 未来Database Mesh,跨语言,去中心化。
继续阅读→