100T数据存进服务器分几步?

大家好,我是豆小匠。

这期来聊聊数据存储相关的问题,包括:

  1. 容量评估。
  2. 技术选型。
  3. 容灾处理。

另外,文末赠送免费定制红包封面哦!


1. 容量评估

通过对容量&性能的评估,可以把业务需求转化成技术语言描述。一般需要确认的内容有:

  1. 存量数据初始化

例如给表增加一个字段,需不需要给存量数据初始化值,初始化后占用存储空间增加多少。

  1. 数据增长率

增长率包括两个方面:1)历史增长速度。 2)业务增长率。

比如说,设计一个表,用于记录每日卖豆浆的交易数据。

根据过去一个月,每天可以卖出去100w杯豆浆,每一杯记录一条交易数据,那么历史增长速度就是100w/天。

但是,这个时候创始人说了,我们今年的目标,是每个季度,销售量翻倍。由于销售量翻倍,历史增长速度会变化,所以我们要把业务增长率考虑进容量评估里。

img

  1. 数据保留时间

大部分数据都是有时效的,确认不需要的数据,清理后不仅能节省存储空间,还可以提高查询性能。在容量评估里需要考虑业务需求和存储空间的平衡,以确定数据的保留时间。

一些小型系统,归档数据可以直接放到一个归档表,归档表删除一些不需要的字段以节省空间。但是如果业务需求允许,可以选用成本更低的存储方案,达到降本增效的效果。

img

  1. 备份数据

同样是评估成本和数据性质,决定备份的方案。


这样下来,假如说数据需要保存一年,那么容量大小 = (存量数据 + 季度一数据增长速率 * 季度一天数 + 季度二…)x 单条数据大小 x 数据压缩率 x (1 + 一定的buffer)。

容量评估的有效期可以在一年上下浮动,更远的未来,可以留给那时候的打工人。

2. 技术选型

技术选型需要考虑的问题:数据的结构和关系、性能要求(读、写、并发等)、数据规模、可用性和容错、一致性、可扩展和成本等。

回到标题,100T放到存储服务器,分为几步?

举个例子,场景是记录日志,每条日志10KB,平均QPS为1w,需要保存14天。

容量评估:

每秒写入量:QPS * 日志大小 = 10000 * 10kb = 100MB/s

总体存储容量:100MB/s * 3600s/h * 24h * 14d = 120.96TB


对于日志来说,最重要的是全文搜索能力,目前一般选用Elasticsearch、时序数据库等来处理日志数据,选择的原因:

  • 支持水平扩展。
  • 支持高性能写入。
  • 适合日志类型数据的搜索,如elasticsearch的全文搜索,时序数据库针对时间相关的查询优化等

同时,日志也支持一定的容错,不需要依赖SQL类型数据库的一些一致性特性。

回到第一部分,如果是记录豆浆交易数据,对数据一致性、高可用要求较高。而在大数据量的场景下,单机性能无法支持,可以使用集群/分布式数据库,如MySQL集群/TiDB等。

做离线数据分析时,可以把原始数据聚合到大数据存储,如Hive、ClickHouse、HBase等。

img

3. 容灾处理

容灾主要是分三步走:灾前,灾中,灾后。

灾前,可以通过冗余存储(如使用磁盘冗余阵列提供可用性和性能,分布式系统则可以通过复制或分片实现冗余)和监控等手段避免发生问题。

灾中:通过故障转移,异地多活等方式维持服务正常运转。

灾后:通过备份,恢复数据。

在平时,需要制定好应急预案和灾难恢复计划。


这期就喵到这!

领取红包封面请在公众号内回复:【2024红包封面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/645107.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鲲鹏微认证——openEuler开源操作系统迁移实践

文章目录 为什么要系统搬迁为什么选择欧拉欧拉系统迁移概述实施路径工具实战 为什么要系统搬迁 2020年12月,CentOs作为由开源社区免费提供的操作系统,宣布将对CentO58于2021年底停止服务,CentO57则于2024年6月底停止服务。 这将直接导致操作…

Linux系统SSH远程管理服务

目录 一、SSH服务介绍 1、SSH协议是什么? 2、SSH的优点 3、SSH的客户端与服务端 4、SSH的原理 4.1 公钥首次连接原理 4.2 ssh加密通讯原理 4.2.1 对称加密 4.2.2 非对称加密 4.2 ssh远程登录 二、服务端配置 1、常见配置项 1.1 修改默认端口 1.2 禁止…

未来已来:AI引领智能时代的多领域巨变

大家好,今天我们将深入探讨人工智能如何彻底改变我们的生活方式,领略未来的无限可能性。 1. 医疗革新:AI担任超级医生 医疗领域是AI最引人注目的战场之一。智能医学影像诊断系统,不仅能够精准识别病变,还能辅助医生提…

VS Code使用Git管理开发项目流程

以VSCode远程连接虚拟机开发为例,已经配置好SSH 在Github上搜索心仪的项目,比如权限管理 点击fork到自己账户仓库 虚拟机下创建一个目录 1)mkdir java_test 2)切换到java_test 初始化并克隆项目 1) git init:初始化仓库 2) g…

掼蛋功能之识别性格篇

常说:千人千面。大多数人一到牌局的场面,往往精神便会放松,面貌神情不再收敛,一言一行体现出的性格暴露无疑,具体表现为以下几种: 1、浮躁冲动型:此类人多数不讲究团队配合,自顾自出…

UE5 - Polycam扫描文件导入插件

Polycam是利用Gaussian Splatting进行3D重建的3D扫描相关软件,其对应有UE引擎的插件(Plugin_XV3dGS)可以把相关格式的文件导入到引擎; 首先Polycam的官网为:My Captures | Polycam 可以下载各种用户扫描文件&#xff…

vivado I/O和时钟规划设计流程步骤

I/O和时钟规划设计流程步骤 下图显示了左侧的项目设计流程步骤。水平箭头表示项目设计流程中可以执行I/O和时钟规划的点。中的步骤I/O和时钟规划设计流程如右图所示。 项目设计流程从一个空的I/O规划项目、RTL设计项目或合成后网表项目。使用这些项目类型中的任何一种&#xf…

PPO学习

openai用tf实现的真的看不懂,大佬的世界… PPO的详细细节 1. 奖励模型和策略的价值头将 query 和 response 的连接作为输入 奖励模型和策略的价值头 不 仅仅查看响应。相反,它将 query 和 response 连接在一起,作为 query_response def ge…

Python进阶知识:整理6 -> 正则表达式

1 基础匹配用法 # 演示Python中正则表达式re模块的3个基础匹配方法 import re # 1. match()方法 从头匹配 string "hello world" result re.match("hello", string) # 如果头部没有匹配成功就直接失败了,后面就不会继续匹配了 print(result) print(r…

设计模式: 装饰模式

文章目录 一、什么是装饰模式二、装饰模式的结构三、使用场景案例分析 一、什么是装饰模式 在不改变对象原有行为的基础上,动态的来为该对象绑定新的行为。 二、装饰模式的结构 装饰模式结构中主要包含如下角色: Component(抽象部件&…

橘子学Mybatis08之Mybatis关于一级缓存的使用和适配器设计模式

前面我们说了mybatis的缓存设计体系,这里我们来正式看一下这玩意到底是咋个用法。 首先我们是知道的,Mybatis中存在两级缓存。分别是一级缓存(会话级),和二级缓存(全局级)。 下面我们就来看看这两级缓存。 一、准备工作 1、准备数据库 在此之…

《如何画好架构图》学习笔记

看了一堂《如何画好架构图》的公开课,结合网上的资料与经验做一些思考总结。文中的例子和图片大多是从课程中摘录的。 1. 4R架构定义 4R架构定义其实是软件架构定义经过归纳提炼后的简称。 软件架构定义:软件架构是指软件系统的顶层(Rank&am…

Linux中并发程序设计

进程的创建和回收 进程概念 概念 程序 存放在磁盘上的指令和数据的有序集合(文件) 静态的 进程 执行一个程序所分配的资源的总称 动态的进程和程序比较 注:进程是存在RAM中,程序是存放在ROM(flash)中的进程内容 BSS段&#xff…

Spring如何使用自定义注解来实现自动管理事务?

人可以做他(她)想做的,但不能要他(她)想要的 一个目录 前言业务代码展示手动挡自动挡事务失效的问题代码地址 前言 在两年半以前,我写了一篇博客:框架的灵魂之注解基础篇: 在那篇博客的结尾,我埋了一个坑&#xff1a…

JAVA 学习 面试(八)集合类

集合类 集合(Collection) 1、 List列表 : 有序 可重复 1、ArrayList : 数组列表 ,内部是通过Array实现,对数据列表进行插入、删除操作时都需要对数组进行拷贝并重排序,因此在知道存储数据量时&#xff0c…

【GAMES101】Lecture 09 重心坐标

我们之前说着色过程中以及这个计算法线的时候需要用到这个插值(Interpolation),然后插值是通过这个重心坐标(Barycentric Coordinates)来实现的 目录 重心坐标 插值 重心坐标 注意哈我们这里说的三角形的重心坐标并…

RK3399平台开发系列讲解(USB篇)BusHound 工具使用介绍

🚀返回专栏总目录 文章目录 一、BusHound简介二、BusHound的下载三、BusHound设备窗口四、BUSHound发送命令窗口沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 BusHound软件是由美国perisoft公司研制的一种专用于PC机各种总线数据包监视和控制的开发工具软件,其名…

【GitHub项目推荐--一款美观的开源社区系统】【转载】

推荐一款开源社区系统,该系统基于主流的 Java Web 技术栈,如果你是一名 Java 新手掌握了基本 JavaEE 框架知识,可以拿本项目作为练手项目。 开源社区系统功能还算完善包含发布帖子、发布评论、私信、系统通知、点赞、关注、搜索、用户设置、…

What is `Filter` does?

过滤器(Filter)是Java Servlet规范中的一部分,它提供了一种在请求到达目标资源之前或响应发送给客户端之前进行预处理和后处理的能力。 通过编写自定义的过滤器类并将其注册到Web应用程序中,开发者可以实现诸如登录验证、权限控制…

边缘计算及相关产品历史发展

边缘计算及相关产品历史发展 背景边缘计算的历史CDN(Content Delivery Network)Cloudlet雾计算MEC(Multi-Access Edge Computing,MEC) 边缘计算的现状云计算厂商硬件厂商软件基金会 背景 最近,公司部分业务…