数据存储架构的演进和实操(一)

简介: 数据存储架构的演进和实操(一)

一、100万级,1亿级,100亿级数据存储架构的演进

1.1、100万级数据:初始阶段,大部分的crud项目的数据是初始阶段

用结构化的数据库:mysql,PostgreSQL,单库单表,或者双库主从,单表

就可以了。这个时候数据量很少,吞吐量也很少,并发量很少。

1.2、1亿级数据:中间阶段,一般中等的项目的数据是中间阶段

这个时候做Mysql Sharding:解决单库单表的写和读的性能的瓶颈,容量

的瓶颈:分10个表来搞定,还需要redis做缓存:热点的数据的副本,es做

全文检索的数据的副本:跨库、跨表搜索

1.3:100亿级数据:高级阶段,少量的项目的海量数据是百亿级数据

假设一个数据是1kb,那么百亿级是10TB的数据,没达到pb级数据,很少量的大厂能达到PB级的数据量。

解决100亿2数据用分库分表的话:理论:单表的机械指标是500万到1千万的数据。百亿级数据横向扩展,是需要1千张表不靠谱的。

解决方案:首先把数据分为结构化数据和非结构化数据

结构化数据:可以用分库分表,mysql sharding:存热数据:比如百亿级

订单,最近1年的订单。支持数据库事务的ACID,存储10亿的热数据。

分片的方式最少有三种方式支持比如:

客户端分片:sharding-jdbc

代理端分片:sharding-proxy

服务端分片:sharding-server.

不使用nosql的话,只使用sharding的话也需要历史订单的备份。

比如滚动式的做年分备份数据。

非结构化数据:nosql,列式存储,文档数据:存冷数据:不支持事务的,

做查询,数据建模,数据挖掘,支持统计,分析。也可以支持在线的访

问,查询。存100亿全量。nosql可以用hbase,hbase也要分多少个节

点。

redis:热点数据的副本

es:全文检索数据的副本,但是也会进行冷热分离,es的索引不止一个。

1.4、100*100亿级数据:高高级阶段:达到了PB级的数据,很恐怖的

需要基于上面的方案做横向扩展。比如1万个节点,1个亿的节点。需要冷热分离,热数据的节点会搞成很大。es的自定义词库刷新,索引刷新(常规的操作)

相关文章
|
11月前
|
消息中间件 Java Kafka
Java 事件驱动架构设计实战与 Kafka 生态系统组件实操全流程指南
本指南详解Java事件驱动架构与Kafka生态实操,涵盖环境搭建、事件模型定义、生产者与消费者实现、事件测试及高级特性,助你快速构建高可扩展分布式系统。
507 7
|
JavaScript 前端开发 Java
垃圾分类管理系统基于 Spring Boot Vue 3 微服务架构实操指南
本文介绍了基于Java技术的垃圾分类管理系统开发方案与实施案例。系统采用前后端分离架构,后端使用Spring Boot框架搭配MySQL数据库,前端可选择Vue.js或Java Swing实现。核心功能模块包括垃圾分类查询、科普教育、回收预约等。文中提供了两个典型应用案例:彭湖花园小区使用的Swing桌面系统和基于Spring Boot+Vue的城市管理系统,分别满足不同场景需求。最新技术方案升级为微服务架构,整合Spring Cloud、Redis、Elasticsearch等技术,并采用Docker容器
698 1
|
缓存 Java 数据库
Java 项目分层架构实操指南及长尾关键词优化方案
本指南详解基于Spring Boot与Spring Cloud的Java微服务分层架构,以用户管理系统为例,涵盖技术选型、核心代码实现、服务治理及部署实践,助力掌握现代化Java企业级开发方案。
492 2
|
12月前
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
1585 0
|
搜索推荐 架构师 数据挖掘
架构实操:画好一张业务模型图
本文以SDK设计的角度分析了如何构建一张属于SDK的各个业务的模型图。
1075 14
|
存储 负载均衡 监控
如何利用Go语言的高效性、并发支持、简洁性和跨平台性等优势,通过合理设计架构、实现负载均衡、构建容错机制、建立监控体系、优化数据存储及实施服务治理等步骤,打造稳定可靠的服务架构。
在数字化时代,构建高可靠性服务架构至关重要。本文探讨了如何利用Go语言的高效性、并发支持、简洁性和跨平台性等优势,通过合理设计架构、实现负载均衡、构建容错机制、建立监控体系、优化数据存储及实施服务治理等步骤,打造稳定可靠的服务架构。
577 1
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
375 3
|
XML 前端开发 Java
基于Springboot的web后端开发三层架构上手实操
基于Springboot的web后端开发三层架构上手实操
508 0
|
存储 监控 大数据