- 博客(39)
- 收藏
- 关注
原创 NTP时钟同步配置搭建
服务端ip地址,默认客户端每5~20分钟会同步服务端的时间(同步间隔可能会变动)本地部署,用自身的时间作为NTP服务的时间来源,如下所示。如果嫌弃默认5分钟同步慢,可以进行定时任务手动同步。确保3台服务器的网络可以通信,防火墙是相互放开的。①注释所有restrict和server开头的配置。(1)注释掉所有的restrict开头的配置。先测试下与服务端是不是通的,端口是123。(3)将所有server配置进行注释。配置好的ntp.conf内容如下。服务端修改时间,看客户端是否同步。
2024-09-06 15:03:00 473
原创 VMware虚拟机安装CentOS7.9 Oracle 11.2.0.4 RAC+单节点RAC ADG
这个错误是官方要求DNS,属于bug,忽略,点击ok点击skip点击next,yes选择UTF8修改open_cursor为500默认专用模式可以修改最大数据文件数量,其他参数可以根据自己生产情况来设置。
2024-06-26 23:53:45 1343 2
原创 TiDB学习9:Ti Cloud简介
TiDB Cloud 是一个功能齐全的数据库即服务或(DBaaS,DataBase as a Service)Iaas:Infrastructure as a Service,基础设施即服务,假设做一个论坛,不用云的话,就自己买服务器、操作系统、数据库、所有的软件、自己写代码等等把这个论坛做出来,人力成本和时间成本很高,如果用IaaS,那么服务器硬件、网络、存储等不用管了,直接自己就可以开发程序了,云服务厂商拥有并管理那些运行您软件的硬件(服务器、网络、存储等等)Paas。
2024-05-30 15:39:45 1055
原创 TiDB学习8:TiDB6.0新特性
内存悲观锁:在内存中修改数据的同时,只把锁信息写到Leader节点的TiKV缓存中,不写到磁盘中,并且不复制给其他节点,此时Leader节点宕机会造成锁丢失,事务回滚。悲观锁:在内存中修改数据的同时,把锁写入lock列簇中,让其他事务能看到锁信息,网络和磁盘IO都有负载。乐观锁:在commit的时候,才做prewrite,加锁,在此之前其他事务不知道这个数据上有锁。Placement Rules in SQL 的使用 -步骤 1。Placement Rules in SQL的使用-步骤 3。
2024-05-30 15:06:57 1180
原创 TiKV学习5:TiDB SQL执行流程
一部分过滤和聚合在TiKV中做,叫coptask,还有一部分在TiDB中(比如三张表连接,三张表散落在3个TiKV中,先把数据读到TiDB内存中再做表连接)叫root task。第一阶段:prewrite,Transaction从memBuffer中一行一行读取数据修改数据,通过KV和TiKV Client写到TiKV中并加锁。前面的读取流程是一样的,从读出数据开始,把需要修改的数据读到memBuffer中,用户commit后进入两阶段提交。第二阶段:commit,获取结束TSO,写提交信息,清理锁。
2024-05-30 13:36:04 1273
原创 TiDB学习4:Placement Driver
为了解决IO压力大的问题,PD会先分配一段TSO在缓存中,比如分配3秒钟700~703在缓存中,此时持久化存储中TSO的开始时间是存的703,TiDB Server就到缓存中排队获取TSO,3秒都获取完了,再分配3秒706,所以时间窗口就是将一段TSO先分配到缓存供TiDB Server获取,减少PD IO压力。每条sql每次都去请求PD拿TSO会造成性能下降,批处理可以解决,比如1ms内有100个会话去请求TSO,这时候PD Client就会把这100个会话的sql请求变成一个批处理请求。
2024-05-22 11:06:12 971
原创 TiDB学习3:TiKV
事务1提交了,事务2未提交,假设此时TSO=120,要读取1和4,会去查看write最近提交信息的TSO版本,查到了就去Default里面找数据,如果此时要修改1和4,则还要查看Lock中的信息,有锁就不能修改,如果此时去读2,也是先查看write提交信息最近的TSO版本,然后去Default里面把数据读出来,修改2的话,则查找了Write的提交信息还要去查看Lock中的锁,此时没有2的锁信息,则可以修改2,这就是MVCC的实现。如果把数据都读到TiDB上,网络开销比较大,cpu负载比较高。
2024-05-21 13:27:36 1122
原创 TiDB学习2:TiDB Sever
TiDB Server 的整体架构TiDB Server 的主要功能TiDB Server 的进程与缓存来自TiDB官方资料。
2024-05-14 15:38:10 1119
原创 TiDB学习1:TiDB体系架构概览
每个TiKV中运行了rocksdb数据库保证数据持久化,TiDB中存的是KeyValue对,键值对存在rocksdb kv实例,rocksdb raft存指令(增删改),Raft协议保证高可用,有其他副本存在其他节点(默认总共三个副本,其中一个副本是leader可读写)PD:集群大脑,元数据存在PD(数据在在哪些TiKV或者TiFlash上),每条sql的开始时间(TSO时间戳),事务开始和结束的TSO。一个region在96M~144M之间。来自TiDB官方学习资料。
2024-05-14 11:12:36 358
原创 OceanBase学习1:分布式数据库与集中式数据库的差异
指的是在灾难发生后,系统数据能够恢复到的最远时间点,它衡量了系统可以容忍的最大数据丢失量。例如,如果RPO设置为10秒,意味着系统在故障发生后,需要恢复到10秒前的数据状态,任何在这段时间内的数据变动都可能丢失。指的是从IT系统故障导致业务停顿开始,到系统恢复并恢复正常运营所需的时间,它定义了最大可容忍的业务停顿时间。例如,如果RTO设置为5秒,意味着系统在故障后必须在5秒内恢复,以避免业务中断。这两个指标共同反映了数据中心的容灾能力和业务连续性管理的要求,需要根据具体的业务需求和风险分析来设定。
2024-05-07 17:00:24 1692
原创 MySQL mydumper工具
MyDumper是一个MySQL逻辑备份工具。mydumper负责导出 MySQL 数据库的一致备份myloader从 mydumper 读取备份,连接到目标数据库并导入备份。这两个工具都使用多线程功能。支持多线程导出数据,速度更快。支持一致性备份。支持将导出文件压缩,节约空间。支持多线程恢复。支持以守护进程模式工作,定时快照和连续二进制日志。支持按照指定大小将备份文件切割。数据与建表语句分离。下载工具我下载的是zip包,上传至虚拟机,解压安装依赖包(CentOS)
2024-05-07 10:03:08 1654
原创 MySQL mysqldump备份恢复
通过以上的日志分析,可以总结下mysqldump备份的主要流程:一开始设置SQL_MODE为空;设置TIME_ZONE为+00:00;查看是否开启了GTID;执行FLUSH TABLES关闭实例中所有的表;执行语句FLUSH TABLES WITH READ LOCK获取全局表的读锁,保证表一致性;设置会话级别事务的隔离级别为REPEATABLE READ,保证事务期间数据的一致性;执行语句START TRANSACTION /*!
2024-05-06 10:17:43 2451
原创 PMM2 MySQL监控管理工具
Percona Monitoring and Management (PMM)是一个针对MySQL、PostgreSQL和MongoDB的开源数据库监控、管理和可视化解决方案的工具,分为服务端和客户端。PMM有多种安装方式,我以docker方式安装PMM客户端安装在你需要监控的主机里。
2024-04-18 16:01:35 2474
原创 mysqlslap压力测试和线程池
mysqlslap是一个诊断程序,旨在模拟客户端并发访问MySQL服务器,测试MySQL服务的负载,主要工作场景就是对数据库服务器做基准测试。mysqlslap官方文档。
2024-04-17 14:35:29 1238
原创 TPCC MySQL
189|843.871, 19|45.994, 19|2829.055, 19|743.433-其他类型事务的吞吐量和最大响应时间,可以忽略。trx: 191-在给定的时间间隔内执行的新订单事务(在本例中为前10秒)。基本上,这是每个10秒间隔的吞吐量。Questions由select、insert、delete、update等组成。99%: 1613.066-99%的新订单事务响应时间在1613.066秒内。95%: 454.450-95%的新订单事务响应时间在454.450秒内。
2024-04-15 10:19:18 472
原创 sysbench MySQL性能测试
MySQL连接分为长连接和短连接两种模式:长连接:在长连接模式下,应用程序与MySQL数据库建立一次连接后,保持连接处于打开状态,直到显式关闭连接。这意味着应用程序可以多次使用相同的连接来执行多个查询或更新操作,而不需要每次都建立新的连接。短连接:短连接模式下,应用程序执行完一个查询或更新操作后,立即关闭连接。下次需要再次操作数据库时,重新建立一个新的连接。
2024-04-12 10:22:01 1676 3
原创 磁盘类型与IOPS性能指标
RAID级别最小磁盘数容错能力磁盘空间开销读取速度写入速度硬件成本RAID 02无0%高高低RAID 12单个磁盘50%高低中RAID 53单个磁盘1 / N中低中RAID 64两个磁盘2 / N中低高RAID 104多个磁盘50%高中高RAID 506单个磁盘1 / N高中高。
2024-04-08 14:27:14 3294
原创 mysql体系结构及主要文件
从数据库中查看表结构安装mysql utilities工具解压安装mysqlfrm查看表结构mysqlfrm --diagnostic user.frm #不能查看字符集,所以char字段长度比实际的乘以3了mysqlfrm --diagnostic user.frm --server=root:123456@localhost #能看到字符集,实际的字段长度#...done.#...done.
2024-03-19 16:23:20 1156
原创 mysql5.7多实例
mysqld=/usr/local/mysql/bin/mysqld_safe #启动多实例mysql时的命令,也可以用/usr/local/mysql/bin/mysqld,但是一般用mysqld_safe,会多一个守护进程。mysqladmin=/usr/local/mysql/bin/mysqladmin #关闭多实例mysql时用的命令,需要用户名和密码。/etc/init.d/mysql.server stop命令是安全关闭,其中kill -0是发送给mysql一个信号,我要关闭你了。
2024-03-18 17:06:49 924
原创 python pandas可视化实战:高潜用户分析
用户最后购买每个商品的时间print('action_lastbuytime用户最后购买每个商品的时间数据:')action_lastbuytime用户最后购买每个商品的时间数据:...#所有用户最后的购买每个商品的时间和用户其他行为合并print('action_all_buy所有用户最后的购买每个商品的时间和用户其他行为合并数据:')action_all_buy所有用户最后的购买每个商品的时间和用户其他行为合并数据:#合并用户最后购买每个商品的时间和最早对每个商品的行为时间。
2024-01-24 15:31:50 366
原创 python 特征工程
特征是用于描述数据中的各种属性、变量或维度的信息,它们是模型用来做出预测或分类的输入。特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。良好的特征工程可以显著提高模型的性能,而糟糕的特征选择或构建可能导致模型性能下降。意义:会直接影响机器学习的效果特征选择:选择最相关的特征,以减少维度和噪声,提高模型的泛化能力。这可以通过统计方法、领域知识、特征重要性评估等方式来完成。特征构建:创建新的特征,以提供更多的信息或改善模型的性能。
2024-01-23 15:57:28 1142 1
原创 python 描述性统计分析
假设校领导关注于某班级学生的期末考试成绩,我们会怎样进行汇报?A 某班成绩还可以。B 张三90分,李四88分......C 班级平均分85.2分,最高分100分,最低分72分。
2024-01-23 11:08:12 2573 1
原创 python LinearRegression线性回归
两个变量之间存在一次方函数关系,就称它们之间存在线性关系。更通俗一点讲,如果把这两个变量分别作为点的横坐标与纵坐标,其图象是平面上的一条直线,则这两个变量之间的关系就是线性关系。
2024-01-22 14:24:00 1412
原创 matplotlib pyplot进阶
"""Seaborn是一个基于matplotlib库的数据可视化库,它提供了一组高级的绘图函数和美观的图表样式,能够让我们以更简洁的方式创建各种统计图表。Seaborn的主要特点和功能如下:默认样式美观:Seaborn提供了一套美观且统一的默认样式,使得绘制的图表更加专业和吸引人。内置多种图表类型:Seaborn提供了许多高级的数据可视化函数,如折线图、散点图、直方图、箱线图、热力图等,能够满足各种数据展示的需求。
2024-01-19 11:28:59 451 1
原创 Matplotlib pyploy.plot()基础
可以看出来两者都可以实现画子图功能,只不过subplots帮我们把画板规划好了,返回一个坐标数组对象,而subplot每次只能返回一个坐标对象,subplots可以直接指定画板的大小。在matplotlib库中,figure是一个画布对象,它是绘制图形的基础。在Matplotlib中,plt.subplot()函数用于在单个图形窗口中创建多个子图,它提供了一种方便的方式来排列和管理多个图形。平常中我们可以自己去寻找其他的颜色,下面的文章很好,大家可以去里面找颜色,用于指定线条的颜色。
2024-01-18 15:42:44 1757 1
原创 pandas 数据清洗
qcut()函数也能将一组连续的数据分成若干个离散的区间,与cut()函数不同的是,它能自动根据数据的分布情况,将数据划分成n个等频的区间。比如要把数据分为四份,则四段分别是数据的0-25%,25%-50%,50%-75%,75%-100%,每个间隔段里的元素个数尽可能都是相同的。cut()函数可以帮助我们将一组连续的数值数据分成若干个离散的区间,主要用于对数据从最大值到最小值进行等距划分。
2024-01-17 14:31:16 657
原创 pandas数据加载和保存
保存数据的方法都是to_开头,比如to_csv()、to_excel()、to_sql()、to_html()等等。1.4读取拆分单元格数据str.extract()1.4数据类型dtype。1.4读取转换为时间类型。
2024-01-17 09:46:23 649
原创 pandas DataFrame数据处理2
print('df原始数据:')print(df)print('使用自定义函数:')# x是参数,:后面是返回值#apply()默认0轴print('apply()默认0轴:')#apply(),操作1轴print('apply()操作1轴:')df原始数据:b d e使用自定义函数:apply()默认0轴:b 16d 17e 7apply()操作1轴:Beijing 3。
2024-01-16 15:07:31 1067 1
原创 pandas DataFrame数据处理
只需要满足其中之一的条件使用符号 | 或 or。两者都需要满足的条件使用符号 & 或 and。类似于sql中where的条件查询。6.2.4同时删除n行n列。
2024-01-15 15:19:44 934
原创 pandas DataFrame基础
loc[]是通过标签索引取值,没有标签索引时,把位置索引看成标签索引。在同一个工作簿(同一个excel文件)里写入多个表格数据。inplace参数的用法和sort_index()一样。2.7获取所有的值:values。.iloc[]是通过位置索引取值。.iloc[]是通过位置索引取值。推荐用.loc[]方式取值。
2024-01-12 16:34:10 1283 1
原创 pandas series入门
定义生成series# 通过np转成series,没有设置索引时,自动生成从0开始的索引print('通过np生成一个series s1:',s1)print('获取s1的索引:',s1.index)print('获取s1的值:',s1.values)print('查看s1值类型:',s1.dtype)# 字典转换成series,字典的key作为series的索引(标签索引),字典的value作为series的valueprint('字典转换成series s2:',s2)
2024-01-12 09:44:53 388 1
原创 numpy基础
当数达到一定级别后,numpy计算比python快。元素是同类型数据,比如都是整数,都是小数。numpy处理高维数据计算的包。ndarray的数据类型。
2024-01-11 14:29:47 380
原创 Excel使用
ctrl+f选择替换,把空格替换成换行‘ ’-->ctrl+j。ctrl+shift+光标 选中连续不间断的行或者列。快速添加单位,这种方式还可以进行运算。设置为整数,小数会四舍五入。
2024-01-11 09:34:50 377
原创 安装使用jupyter notebook
Restart & Clear Output 把代码重置为未执行状态,并清空所有输出,Restart & Run All 把代码重置为未执行状态,并把所有代码重新运行一遍。输入:pip install jupyter。shift+v 粘贴代码框至当前代码框下面。输入:jupyter notebook。Restart 把代码重置为未执行状态。ctrl+enter 运行当前代码框。a 在选中行上面增加一行代码框。b 在选中行下面增加一行代码框。v 粘贴代码框至当前代码框下面。dd 删除选中行代码框。
2024-01-10 22:02:17 345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人