自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

pengpengsays

互联网技术分享

  • 博客(222)
  • 收藏
  • 关注

原创 MySQL压力测试最佳实践(16/16)

sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。项目地址:http://github.com/akopytov/sysbench。

2024-04-11 10:15:37 559

原创 MySQL高负载排查方法最佳实践(15/16)

top 是一款 Linux 系统下经常被用来做性能分析的工具,它可以实时动态的展示进程,线程的资源使用情况,在 top 工具展示监控指标里,运维人员最关心的是 cpu 和 mem 的使用情况。当服务器有特别多的 CPU 核,有时候看 CPU 汇总信息,发现 CPU 的 idle 很高,但是上面跑的应用程序却很慢,这个时候就需要看看每个核的资源试用情况了。可以很清楚看到是 10850 线程消耗了 CPU 资源,剩下的就根据操作系统的里线程 ID,去 MySQL 数据库里排查,此线程正在执行的操作。

2024-04-11 10:14:24 1397

原创 MySQL分区表(14/16)

分区表是数据库中一种用于优化大型表数据管理和查询性能的技术。它将一个表的数据根据特定的规则或条件分割成多个部分,每个部分称为一个分区。每个分区可以独立于其他分区进行存储、管理和查询,这样可以提高数据处理的效率,尤其是在处理大量数据时。数据分散存储:分区表将数据分散存储在不同的物理区域,这有助于减少单个数据文件的大小,提高I/O性能。查询优化:通过只查询相关的分区而不是整个表,可以减少数据扫描的范围,从而加快查询速度。分区表对于业务来说是透明的,不需要修改业务代码即可实现数据的分区管理。维护便捷。

2024-04-11 10:13:09 961

原创 MySQL数据导出导出的三种办法(13/16)

使用mysqldump工具优点简单易用,只需一条命令即可完成数据导出。可以导出表结构和数据,方便完整备份。支持过滤条件,可以选择导出部分数据。生成的文件可以用于跨平台、跨版本的数据迁移。缺点导出的数据包含额外的INSERT语句,可能导致导入速度较慢。不能使用复杂的JOIN条件作为过滤条件。推荐场景需要备份和迁移表结构和数据。需要导出部分数据到其他系统或进行数据分析。导出CSV文件优点CSV格式通用,易于在不同应用程序间交换数据。可以利用文本编辑器查看和编辑数据。

2024-04-11 10:12:18 1367

原创 Mysql内存表及使用场景(12/16)

星球内目前包含300+精品文章,内容涵盖大数据、MySQL、运维、Python、调优、经验分享、数据分析等方向内容,会根据大家的学习需求更新更多方向的内容。Memory引擎的数据和索引分开存储,数据以数组形式存放,主键索引(hash索引)存储数据位置,称为堆组织表(Heap Organized Table)。我们在知识星球等您,一起探索MySQL的深层次世界!关注公众号【数舟】,获取作者最新动态,公众号后台回复【mysql2024】,即可免费领取这份包含16篇文章的完整的PDF专栏!

2024-04-11 10:11:22 537

原创 MySQL连接数过多问题(11/16)

星球内目前包含300+精品文章,内容涵盖大数据、MySQL、运维、Python、调优、经验分享、数据分析等方向内容,会根据大家的学习需求更新更多方向的内容。本文是《MySQL实战与优化》专栏中的一篇精选文章,该专栏共包含16篇文章,旨在为您提供实战中可直接应用的宝贵知识。状态的线程,如果确定它们没有处于任何事务中,可以优先考虑断开这些连接。长期来看,应该优化应用程序的连接管理策略,比如使用连接池、设置合理的超时时间、确保及时释放不再需要的连接等,以减少这类问题的发生。,可能会回滚事务,导致数据不一致。

2024-04-11 10:10:24 907

原创 MySQL随机读取数据优化(10/16)

随着单词表的增大,随机选择单词的逻辑变得越来越慢,影响了首页的加载速度,可以有以下优化算法。星球内目前包含300+精品文章,内容涵盖大数据、MySQL、运维、Python、调优、经验分享、数据分析等方向内容,会根据大家的学习需求更新更多方向的内容。本文是《MySQL实战与优化》专栏中的一篇精选文章,该专栏共包含16篇文章,旨在为您提供实战中可直接应用的宝贵知识。关注公众号【数舟】,获取作者最新动态,公众号后台回复【mysql2024】,即可免费领取这份包含16篇文章的完整的PDF专栏!

2024-04-11 10:09:37 468

原创 MySQL排序原理与优化方法(9/16)

*磁盘临时表排序:**如果排序操作需要处理的数据量超过了内存的限制,或者无法在内存中完成排序,MySQL会将数据溢写到磁盘上的临时表中进行排序。这种情况下,MySQL会创建一个磁盘临时表,并可能涉及到磁盘I/O操作,这会增加排序操作的时间。磁盘临时表的排序过程与内存临时表有所不同,可能会采用优先队列排序算法,减少了对临时文件的依赖。**内存临时表排序:**在MySQL中,使用InnoDB引擎执行排序操作时,当处理的数据量较小,可以在内存中完成排序时,MySQL会优先使用内存进行排序操作。

2024-04-11 10:07:25 831

原创 MySQL表空间管理与优化(8/16)

一个表单独存储为一个文件更容易管理,而且在你不需要这个表的时候,通过 drop table 命令,系统就会直接删除这个文件。而如果是放在共享表空间中,即使表删掉了,空间也是不会回收的。星球内目前包含300+精品文章,内容涵盖大数据、MySQL、运维、Python、调优、经验分享、数据分析等方向内容,会根据大家的学习需求更新更多方向的内容。本文是《MySQL实战与优化》专栏中的一篇精选文章,该专栏共包含16篇文章,旨在为您提供实战中可直接应用的宝贵知识。在进行表重建操作时,需要考虑操作对业务的影响。

2024-04-11 10:04:44 963

原创 MySQL脏页刷写时机(7/16)

InnoDB引擎在处理更新语句时,会先写入redo log(重做日志),然后更新内存,最后将内存中的数据写入磁盘。星球内目前包含300+精品文章,内容涵盖大数据、MySQL、运维、Python、调优、经验分享、数据分析等方向内容,会根据大家的学习需求更新更多方向的内容。参数的重要性,建议将其设置为磁盘的IOPS(每秒输入/输出操作次数),以确保InnoDB能够根据实际的磁盘能力来控制刷脏页的速度。🔗 立即扫描下方二维码,加入知识星球,与行业精英共同成长,开启您的专属学习之旅!

2024-04-11 10:03:38 371

原创 MySQL一些特殊功能的索引(6/16)

星球内目前包含300+精品文章,内容涵盖大数据、MySQL、运维、Python、调优、经验分享、数据分析等方向内容,会根据大家的学习需求更新更多方向的内容。本文是《MySQL实战与优化》专栏中的一篇精选文章,该专栏共包含16篇文章,旨在为您提供实战中可直接应用的宝贵知识。关注公众号【数舟】,获取作者最新动态,公众号后台回复【mysql2024】,即可免费领取这份包含16篇文章的完整的PDF专栏!🔗 立即扫描下方二维码,加入知识星球,与行业精英共同成长,开启您的专属学习之旅!

2024-04-11 10:00:52 498

原创 MySQL哪些情况优化器会放弃索引(5/16)

星球内目前包含300+精品文章,内容涵盖大数据、MySQL、运维、Python、调优、经验分享、数据分析等方向内容,会根据大家的学习需求更新更多方向的内容。本文是《MySQL实战与优化》专栏中的一篇精选文章,该专栏共包含16篇文章,旨在为您提供实战中可直接应用的宝贵知识。关注公众号【数舟】,获取作者最新动态,公众号后台回复【mysql2024】,即可免费领取这份包含16篇文章的完整的PDF专栏!对索引字段进行函数操作、隐式类型转换或字符编码转换都可能导致MySQL优化器放弃使用索引,从而影响查询性能。

2024-04-11 10:00:13 586

原创 MySQL自动索引选择机制与优化方法(4/16)

分别在两个字段上建索引,布尔型字段索引会把数据分成两部分,枚举型会把数据分成十份,根据索引查找的时候,布尔型选择了一个排除了一半,枚举型选一个会排除9/10,所以枚举型区分度更好。基数指的是索引值的唯一性的度量,即索引列中不同值的数量。当索引基数比较大的时候,要不要走这个索引,还得看扫描行数,回表,子查询等等,最后优化器根据预估的成本决定是否走这个索引。采样统计的时候,InnoDB 默认会选择 N 个数据页,统计这些页面上的不同值,得到一个平均值,然后乘以这个索引的页面数,就得到了这个索引的基数。

2024-04-11 09:58:21 938

原创 MySQL前缀索引(3/16)

注意:在使用覆盖索引的情况下,正常可以不需要回表,因为覆盖索引中已经包含所需数据,但使用了前缀索引时,如果select中包含前缀索引所选字段的数据(因为数据不完整),例如email,会导致回表降低性能。星球内目前包含300+精品文章,内容涵盖大数据、MySQL、运维、Python、调优、经验分享、数据分析等方向内容,会根据大家的学习需求更新更多方向的内容。关注公众号【数舟】,获取作者最新动态,公众号后台回复【mysql2024】,即可免费领取这份包含16篇文章的完整的PDF专栏!

2024-04-11 09:57:26 541

原创 MySQL选择普通索引还是唯一索引(2/16)

普通索引(Non-Unique Index),也称为非唯一索引,它允许索引中的条目具有重复的键值。普通索引的主要目的是加快查询速度,它并不关心数据的唯一性。可以包含重复的索引键值。适用于快速查找具有相同索引值的多个记录的场景。不保证数据的唯一性。唯一索引(Unique Index)是一种数据库索引,它要求索引中的所有键值都是唯一的。如果尝试插入或更新记录以产生重复的索引键值,数据库将拒绝这种操作。保证索引中的键值是唯一的。适用于确保数据表中某一列或列组合的唯一性,例如身份证号、用户名等。

2024-04-11 09:56:33 818

原创 MySQL索引优化方法(1/16)

MySQL中有几种索引:主键索引(Primary Key Index):每个表都有一个主键,主键索引是自动创建的唯一索引。它通常是聚簇索引(在索引树的叶子结点中存储的是需要查找的数据)。二级索引:指除了主键索引以外的所有索引,它们可以是基于单个列(单列索引)或多个列(组合索引)的索引。二级索引在InnoDB存储引擎中被称为非聚簇索引(Non-Clustered Index),二级索引的叶子节点通常包含索引列的值和一个指向数据行的引用(在InnoDB中通常是主键的值)。

2024-04-11 09:53:52 643

原创 MySQL中使用 普通索引 or 唯一索引?

也称为非唯一索引,它允许索引中的条目具有重复的键值。普通索引的主要目的是加快查询速度,它并不关心数据的唯一性。唯一索引(Unique Index)是一种数据库索引,它要求索引中的所有键值都是唯一的。如果尝试插入或更新记录以产生重复的索引键值,数据库将拒绝这种操作。

2024-04-03 14:34:39 516

原创 SQL简单优化思路

在编写SQL查询时,优化查询性能是一个重要的考虑因素,特别是在处理多表连接(JOIN)和子查询时。通过上述技巧和最佳实践,你可以在编写多表JOIN和子查询时提高SQL查询的性能。使用相关子查询:当子查询依赖于外部查询的结果时,使用相关子查询可以提高性能,因为它们可以更有效地利用外部查询的结果。避免在WHERE子句中使用子查询:子查询通常会导致数据库执行额外的扫描,如果可能,尝试使用JOIN来替代子查询。使用数据库提供的查询执行计划分析工具(如EXPLAIN)来检查查询的执行计划,找出性能瓶颈并进行优化。

2024-04-03 09:46:38 555

原创 Linux高负载排查最佳实践

在Linux系统中,经常会因为负载过高导致各种性能问题。那么如何进行排查,其实是有迹可循,而且模式固定。本次就来分享一下,CPU占用过高、磁盘IO占用过高的排查方法。

2024-03-14 15:54:35 1097 1

原创 HDFS(Hadoop分布式文件系统)具有高吞吐量特点的原因

此外,HDFS还支持数据本地性(移动计算而非移动数据),即尽量在存储数据的节点上进行数据处理,减少数据传输的网络开销,提高数据访问速度。数据分块和分布式存储:HDFS将大文件分割成多个数据块,并通过数据块的复制和分布式存储在集群中的多台机器上存储这些数据块。这样,可以利用多台机器的并行处理能力,并同时读取或写入多个数据块,从而提高整体的吞吐量。水平扩展性:HDFS具有良好的水平扩展性,可以随着集群规模的增大而线性扩展,从而可以处理大规模数据并发访问的需求,提高系统的整体吞吐量。

2024-03-11 14:39:11 500

原创 路由跟踪命令tracert

但如果你确定链上没有服务器会阻止Traceroute,那么当你尝试连接网站或服务器时,它就是诊断网站或服务器故障的好方法。即使有阻止的中间服务器,但是数据包只要最终能达到你要求的网址,那也算是排查了一半的问题——至少你的路由“路线”问题不大。Traceroute具体原理,就是为数据包设置一个生存时间(TTL),开始TTL=1,即只访问一台路由后结束,然后TTL依次递增(TTL=2,3…与ping命令不同,tracert主要打印与目标服务器之间的路径,让你查看数据包在网络中的流动情况。

2024-01-09 10:51:05 686

原创 vbox虚拟机导出减少体积:压缩VDI文件

网上找了一些virtualBox虚拟机压缩方法,做了测试。虚拟机导出体积有了明显减少。参考文档:https://blog.csdn.net/mr__bai/article/details/129147223里面有一些注意事项,包括我在实践时遇到的一些问题,在这里统一做个汇总。

2023-11-04 16:00:42 878

原创 谁懂?这23个关于大数据的灵魂拷问!

也就是DWD、DWS、DIM、ADS层构建,这些任务在运行时,一般使用的是全量数据,或者当天的增量数据,使用Hive、Spark SQL一次性将它们计算完成。例如数据中台中有数据商城对数据进行流通,数据资产目录对数据进行分类组织,数据脱敏解决数据安全问题,数据质量管理提升数据质量等。至于Oracle支持的快速的OLTP增删改查,以及快速OLAP分析,Hive、Spark SQL效率是比较低的,这不是它们擅长的场景,并且底层是海量的数据,以及复杂的调度。会的,数据孤岛一般的解决方案是建立数据湖。

2023-10-18 09:54:41 173

原创 分布式ETL工具Sqoop实践

7、将testdb.ts表中所有数据全量导入到hdfs的/tmp/sqoop/testdb/ts目录中。3、在/root/sqoop_file目录编写配置文件list_dbs.conf,减少重复参数配置。9、使用append增量方式将新增数据导入到/tmp/sqoop/testdb/ts/目录中。2、在/root目录下新建sqoop_file目录用于存放作业配置文件。5、查看testdb中所有表,使用非明文方式,手动输入密码。6、在Mysql中执行SQL并将结果展示在控制台。2、新建数据库testdb。

2023-09-18 10:15:17 480

原创 产品图鉴:Greenplum

所以总结起来,Greenplum是一个老牌MPP数据仓库,整体比较均衡,适合中小规模数据的OLAP分析(MPP数据库在架构上注定会有扩展上限),在6.0版本之后,能够同时支持OLTP处理,成为OTAP数据仓库。,主要面向结构化数据OLAP计算,Greenplum在6.0版本大大的提高了对OLTP的支持,tpcb性能提升60倍,单节点查询达到80000TPS(Transactions Per Second,数据库每秒处理事务数),插入操作达到18000TPS,更新操作约7000TPS。

2023-06-30 10:30:39 402

原创 产品图鉴:Clickhouse

Clickhouse是俄罗斯yandex公司于2016年开源的一个列式存储数据库管理系统,是流行的OLAP数据库之一,使用MPP架构,以其超高的查询性能受到业界的青睐。Clickhouse数据压缩性能很好,相比PostgreSQL,所需磁盘空间减少70%;社区活跃,支持TTL(过期数据定期删除),适配多种操作语言(Java、Go、Python、Nodejs)。

2023-06-10 10:15:17 119

原创 MPP技术的优势与严重缺陷

MPP数据库的实现原理简单来说就是将数据库、数据表拆分到不同的节点存储,并将计算任务无差别地分发到各个节点进行运算,最后将各个节点得到的计算结果返回。所以在使用上,MPP数据库几乎继承了单机数据库的所有优势,结构化数据场景支持成熟,更完整可靠的数据管理与安全性能,支持事务,在中小规模数据情况下提供更高的性能和较低的查询延迟。这种模式下,MPP数据仓库就会带来木桶效应、扩展性问题,这两个问题是MPP架构上娘胎里带来的天生缺陷,通过调优等技术无法完全解决,只能是不断优化去尽量避免这些问题。

2023-06-08 20:07:02 1473

原创 HDFS概述及其优缺点

HDFS的全称是hadoop distributed file system,即hadoop的分布式文件系统。见名知意,它就是用来进行文件存储的。毕竟它是大数据的一个组件,用来存储这种海量的数据。它是基于03年10月份,谷歌发表的GFS这篇论文做的开源实现。目前是hadoop的一个核心子项目,用来解决海量数据存储的问题。hadoop的三个子项目,一个是HDFS,一个是YARN,一个是MapReduce。目前在开源大数据技术体系中,它的地位是无可替代的。

2023-06-06 22:30:20 1620

原创 Kafka如何保证数据高可靠

生产者只要将数据发送到leader副本,kafka就会返回ack,leader中的数据先在缓存中,数据写磁盘需要一段时间。ISR假设为空,或者小于最小副本数,生产者往Kafka写数据的时候一直会报错,不能说它一报错Kafka生产者就直接终止,我们肯定要设置一个重试次数,来提升程序的健壮性。这种情况下就一定会带来风险,一旦你的集群断电了,缓存里的数据还没有来得及往磁盘溢写,那这个时候数据就丢失了。当然每个产品有它自己的使用场景,Kafka本身就是用来抗压的,它的性能越高越好,数据可靠性的要求要低一些。

2023-05-27 15:26:35 1297

原创 使用Python开发二维码扫描工具

调用摄像头需要使用到 OpenCV 模块,而识别二维码则需要使用到 pyzbar 模块。3、调用摄像头中的一帧图片。4、循环读取摄像头图片。

2023-05-15 10:00:18 893

原创 Python实现高并发协程处理

进程:程序在启动后,会在操作系统中作为一个进程存在。不同的进程之间互不影响,各自运行任务。线程:每个进程为了保证多任务运行,会拆分为多个线程,线程共享进程的运行空间;但线程之间要进行切换时,开销比较高,需要保存线程的运行信息以便下次恢复,此时不可避免会影响效率。协程:协程是线程的进一步划分,一个线程中运行多个协程;在线程不进行切换的前提下,使用协程就可以完成并发运算的操作。相对于线程切换实现的并发,协程更加轻量,且效率更高。

2023-05-12 14:51:15 336

原创 大数据开发的工作内容与流程

像用cdc、ogg这样的一个技术,会监控数据库的日志。当然很多时候,在生产中的选型比较复杂,而且会有MPP与大数据产品一起使用的场景,但整体的流程不变,只是各阶段的产品有所替换。然后由流(处理)引擎,比如说spark生态圈的spark streaming,当然还有比较新的像flink这些产品进行一个实时处理。一般开源场景中,Hive是做数仓选型比较多的一个组件,或者放到Spark生态圈的spark sql中。因为实时产生的结果,会生成较多小文件,这里是在选型的时候需要注意的。这是数仓的基本架构流程。

2023-03-03 08:04:12 1678

原创 类比一下,秒懂大数据模式

大数据架构模式,其实与单机开发模式一致,类比一下就会更加清晰。

2023-02-28 07:51:23 1253

原创 大数据技术生态全景一览

这些产品它们各自的功能是什么,它们又是怎么样相互配合来完成一整套的数据存储,包括分析计算任务。这里要给大家进行一个讲解与分析。我们按照数据处理的流程,从下往上给大家进行依次的讲解。

2023-02-27 19:26:33 618

原创 从编年史角度看大数据兴起

那爬虫项目大家知道,它是源源不断的在爬取数据的,爬取回来的数据,发现数据量太大,没地方存储了。存在单机节点一定是有存储上限的。Hadoop发展成了两个1000节点的集群,运行了世界上最大的Hadoop应用,把它的搜索引擎部署在了拥有1万个内核的Hadoop集群上。但是它是一个数据库,数据存进来之后可以对数据进行很快速的一些增删改查,这个是它更擅长的,而且它的并发读性能也很好。Apache是一个基金会,它孵化了很多的一些开源项目,06年2月份的时候Hadoop这样一个项目就推到了Apache进行了一个孵化。

2023-02-26 15:34:09 671

原创 大数据常见应用场景及架构改进

而且它的抽取效率也是很慢的。比方说它可以展现公司之间的关系情况,在图中我们可以看到,a公司与b公司、c公司之间是没有联系的,而b公司和c公司之间是有一些联系的。所以大数据要发挥它的实力,一定是数据规模达到一定量级以后,当它的调度时间要远远小于它的计算时间。对于企业来说,一定要有抗压的这样的一个消息队列,这个消息队列它的抗压性能非常好,能够撑住足够的压力。在金融领域,图计算可以挖掘一些比如担保链的异常,比如a公司给b公司担保,b公司给c公司担保,c公司又给a公司担保,形成这样的一个链条肯定是非常有风险的。

2023-02-25 09:31:04 1163

原创 如何区分大数据离线与实时场景

比方说我们以离线处理场景为例,数据从数据源产生以后,我们先给它存起来。你不管存到哪个地方,假设保存的数据是10个GB,这10个GB的数据在后续的运算过程中它是不会增加或者减少的。它就是固定10个GB。我们基于这10个GB的数据,进行运算,这个时候完成的运算就是离线运算。离线运算最适合批处理这种方式来完成。处理完以后得到最终结果后进行输出,做一个保存。以批处理程序它的视角来看,我们处理的数据它是存起来的数据集,它是有边界的数据。存起来是10个G,处理的时候也是10个G,它不会增加和减少。

2023-02-24 08:51:03 1318

原创 转型大数据,要在恰当的时机

大数据是有它的定义的,不需要看网上很复杂的一些概念,把自己绕晕了。我们只需要记住一句话,大数据是满足数据达到海量规模以后,对这部分数据进行存储,包括计算的一种技术,或者说是一种技术生态。它是解决这些问题的。大家很多同学,一被问到什么是大数据,就立马想到4V特性。这个其实是不太合适的。什么是大数据的4V特性?这个是说大数据的场景,它有这4个特征。也就是数据量(Volume)、速度(Velocity)、多样性(Variety)、价值(Value)。

2023-02-23 19:43:12 1730

原创 大数据技术为何诞生,它究竟解决了哪些问题?

这个时候有没有存在一整套的解决方案,能够帮我们存储这种海量的结构化、半结构化以及非结构化数据。即使规模再大,都能完成存储。存储之后基于海量的数据进行计算时,它的效率也很高,并且能够有很强的扩展性。有没有这样一套方案呢?当然有,这就是大数据技术生态。对于大数据,有一个比较长的、比较权威的定义。大数据是指超出传统数据库工具收集、存储、管理和分析能力的数据集。与此同时,及时采集、存储、聚合、管理数据,以及对数据深度分析的新技术和新能力,正在快速增长,就像预测计算芯片增长速度的摩尔定律一样。

2023-02-23 19:40:04 622

原创 VSCode Java运行报错解决:No delegateCommandHandler for vscode.java.resolveMainMethod

Language Support for Java™ by Red Hat 插件版本较旧,无法将当前Java项目添加到source path中,导致无法编译。更新Language Support for Java™ by Red Hat 插件后重启VSCode,问题解决。使用VSCode编译、运行Java程序时,直接报错提示。

2023-01-10 09:38:47 2153 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除