千万级的大表,是如何产生的?

news2024/11/24 20:14:09

千万级的大表,是如何产生的?

我们小公司没有大表。。。

大家好,我是皇子。

前面的文章在介绍了《设计支持千万级的大表,有哪些数据库规范?》,实际上不管是否到达千万级,这些规范都是适用的。

那有人会觉得,我们的公司的业务、用户都没起来,千万级的数据量?不可能、绝对不可能,暂时不需要考虑。

…这么说,一点毛病没有,把时间精力花在重要的业务核心上才是重要的。

而我想从3个方面说一下,其实千万级的数据产生会有很多原因的。

除了我们常知道的业务的快速增长是常见的原因之一。例如:一个电商平台中,随着用户数量的不断增加,订单量呈爆发式增长,订单表的数据量就会迅速累积。假设每天新增十万笔订单,一年下来订单表的数据量就很容易达到千万级别。

image-20241013164649281

还有一种是业务设计不合理导致的。比如

  • 产品要求你说你要把用户的所有操作都进行保留下来,在没有对数据的保留周期进行合理规划后,就将所有用户的增删改查操作一股脑地都往一个表里面丢并长期保存。那1000个活跃用户,每天操作20次,每次操作平均涉及10个接口,一年也能轻松干到千万级数据。

大家猜猜,一篇公众号文章复制链接后在浏览器上打开,共发生了几次接口调用?

image-20241013170403706


这篇文章是复制链接后在浏览器上打开的,共发生了88次网络请求,其中共9个XHR(XMLHttpRequest)请求,也就是这9个请求是会到达应用层的,包含获取登录态、获取发表者、原创者、关联的文章、包含的广告数等接口。

如果是在微信打开只会更多,因为还需要获取广告信息、评论信息,那调用接口只会更多。

  • 还有一种情况是数据过度采集,一个物联网系统为例,传感器可能会频繁地采集大量数据并全部存储,而其中很多数据可能并不具有实际的分析价值,但却被不加筛选地存入了数据库表中。那100个设备,每5秒进行一次数据上报,在不包括用户操作设备的情况下,1千万的数据一年就干到了。

最后是在缺乏对表数据进行数据清理和归档机制的情况下,随着时间的增长数据也在不断稳中增长,1年不到一千万,再过几年呢?所以这也是为什么有些系统会把7天、30天、半年维度的时间周期数据作为一个统一入口去查询历史数据,其他时间维度通过自定义的方式到另外一个入口(接口)去查询的原因,或者干脆是其他时间维度的数据不再支持查询。

image-20241013172549707

这样做的目的有两个:第一个做冷热数据的隔离,提高查询效率,同时提高系统的可靠性和稳定性;另外就是做数据归档,降低数据存储的成本。

以上,点亮【在看】让我们心中充满力量、披荆斩棘、不惧未来!

推荐的学习网站:https://itgogogo.cn

关于作者:一位热爱技术,并在职场与自媒体间探索的实践者,希望通过分享个人经验和见解,帮助更多人实现自我成长和价值。

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

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

相关文章

git合并冲突未解决完导致Rebasing,无法切分支解决方案

分支前面出现Rebasing 进入项目目录中.git目录,手动删除index.lock文件(相当于分支的锁,有这个就是不让你动,得删了) 然后在git控制台输入git rebase --abort命令回滚到本地合并处理之前,然后再进行其他处…

树莓派应用--AI项目实战篇来啦-11.OpenCV定位物体的实时位置

1. 介绍 本项目通过PCA9685舵机控制模块控制二自由度舵机云台固定在零点位置,然后通OpenCV检测到黄色小熊,找到中心位置并打印出中心位置的坐标,通过双色LED灯进行指示是否检测到目标,本项目为后面二维云台追踪物体和追踪人脸提供…

【Windows】【DevOps】Windows Server 2022 安装ansible,基于powershell实现远程自动化运维部署 入门到放弃!

目标服务器安装openssh server参考 【Windows】【DevOps】Windows Server 2022 在线/离线 安装openssh实现ssh远程登陆powershell、scp文件拷贝-CSDN博客 注意:Ansible不支持Windows操作系统部署 根据官方说明: Windows Frequently Asked Questions —…

C语言初阶-数据类型和变量【下】

紧接上期------------------------->>>C语言初阶-数据类型和变量【上】 全局变量和局部变量在内存中存储在哪⾥呢? ⼀般我们在学习C/C语⾔的时候,我们会关注内存中的三个区域: 栈区 、 堆区 、 静态区 。 内存的分配情况 局部变量是…

STM32 RTC实时时钟 F407 寄存器

RTC介绍 STM32F1: RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。 即在F1系列,RTC的日历部分只有一个32位的寄存器 该寄存器直接存放 时间戳 的值,即&#xff1…

LeetCode 279. 完全平方数(经典必会)

LeetCode 279. 完全平方数 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数&#x…

java中连接Mysql以及PreparedStatement如何防止sql注入

目录 JDBC 使用JDBC连接到MySQL 使用 Statement 使用 PreparedStatement Statement 和 PreparedStatement 区别 在 java 中如何连接到 MySQL 数据库,执行 SQL 查询,并处理查询结果? JDBC java 程序连接到 mysql,首先需要下…

Dev-C++萌新福利2

朝鲜球作品原创 1 符号认识: 1.1简单例题1 1.2简单例题22奇奇怪怪的符号 2.1简单例题3 2.2符号表 2.2.1符号表中特殊符号 2.3符号使用代码样例(部分) 萌新福利 作品成本6999元&#xff0…

OSError: [Errno 22] Invalid argument:无效的参数完美解决方法

🚨 OSError: [Errno 22] Invalid argument:无效的参数完美解决方法 💡 🚨 OSError: [Errno 22] Invalid argument:无效的参数完美解决方法 💡摘要引言正文1. 什么是 OSError: [Errno 22] Invalid argument&…

牛客.数字游戏​编辑牛客.体操队形(暴力搜索)​​​​​​​牛客.二叉树最大路径和​编辑牛客.排序子序列

目录 牛客.数字游戏​编辑 牛客.体操队形(暴力搜索) 牛客.二叉树最大路径和​编辑 牛客.排序子序列 牛客.数字游戏 难度不大,但是要注意,他这个快速输入与输出 import java.util.*; import java.io.*; import java.util.StringTokenizer; // 注意类名…

架构设计笔记-15-面向服务架构设计理论与实践

目录 知识要点 案例分析 1.微服务架构 2.微服务 3.微服务架构 4.SOA与微服务 5.基于微服务架构的系统/传统单体式系统 论文 1.论微服务架构及其应用 知识要点 服务组件体系结构(Service Component Architecture,SCA)是面向服务体系…

IT基础监控运维:监控易的深度解析与应用

在数字化转型加速的今天,IT系统的稳定性和高效运维成为了企业业务连续性的关键保障。IT基础监控作为运维工作的基石,其重要性不言而喻。本文将以监控易产品为核心,深入探讨IT基础监控的功能、特点及范围,为运维团队提供实用的参考…

销售管理之线索管理

一、线索获取:销售增长与市场洞察的双引擎 销售增长的基石 线索:销售旅程的起点:在销售的宏伟蓝图中,高质量的线索无疑是构筑成功的基石。缺乏持续、优质的线索供应,任何销售团队都难以跨越销售目标的重重山峦。以软…

Apktool:解包重打包工具

ApKtool是一个apk编译工具,能够反编译apk文件。 解包 使用命令apktool d test.apk 会在同目录下生成一个同名的文件夹 重打包 使用命令apktool b test 会在test文件夹里生成一个dist目录,在dist目录里有打包好的test.apk

Top6 最好的 Android 数据恢复软件免费获取

虽然在智能手机上随身携带您最喜爱的音乐收藏或珍贵的录音很方便,但如果您的设备出现技术问题或您不小心删除了文件,文件也有可能丢失。 不管文件是如何删除或丢失的,丢失那些珍贵的音频文件的痛苦对每个人来说都是一样的。这就是我们创建本…

鸿蒙开发之ArkUI 界面篇 三十三 Builder(封装容器)

鸿蒙开发中遇到容器相同、容器下面的子组件相同,就是子组件的文字不同,背景颜色不同,文字颜色不同之类,就可以使用Builder来封装,语法格式如下: 例如下面的界面: Row4个ColumImageText来实现&am…

Java初阶测试编程题目

文章目录 1.大小写转换2.斐波那契数列2.1递归解决(不推荐)2.2递推公式(非递归) 3.删除公共字符3.1题目说明3.2第一种方法3.3第二种方法 4.字符串的加法4.1题目说明4.2题目核心方法4.3题目代码解析 Java初阶测试编程题目分析与总结…

C++第六讲:STL--vector的使用及模拟实现

C第六讲&#xff1a;STL--vector的使用及模拟实现 1.vector简介2.vector的常见接口介绍2.1constructor -- 构造2.2destructor -- 析构2.3begin、end2.3.1vector和string的区别、vector<string> 2.4rbegin、rend2.5cbegin、cend2.6crbegin、crend2.7size、max_size、resiz…

C++AVL树的介绍和实现

目录 1.AVL树的概念 2.AVL树的实现 2.1AVL树的结构 2.2AVL树的插入 2.2.1AVL树插入一个值的大概过程 2.2.2平衡因子的更新 2.2.3插入节点及更新平衡因子的代码实现(暂未实现旋转逻辑) 2.3旋转 2.3.1旋转的原则 2.3.2右单旋(处理parent->_bf -2 && cur-&g…

简易入门:使用Docke 部署一个tomcat服务

简易入门&#xff1a;使用Docke 部署一个tomcat服务 # 拉取 >docker pull tomcat:9.0# 后台运行容器&#xff0c;端口映射为8080. -p 宿主机端口:容器端口 >docker run -d --name tomcat-c-01 -p 8080:8080 tomcat:9.0# 查看容器id >docker ps CONTAINER ID IMAG…