自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 cb13.13 使用虚拟列为json建立索引

json列上不能直接建索引,可以先建立虚拟列,然后在虚拟列上建索引。

2020-09-22 07:03:45 98

原创 cb13.12 使用索引提示

使用索引提示,可以提示优化器使用或忽略索引,它不同于优化器提示,在优化器提示中,你提示优化器使用或忽略某些优化方法。索引提示和优化器提示可以单独使用或一起使用,以实现所需的计划。索引提示是紧接着表名指定的。使用场景:1,提示优化器忽略索引 IGNORE INDEX(index)2,使用索引, USE INDEX(index)...

2020-09-17 22:45:33 137

原创 cb13.11 控制查询优化器

一条查询可以有多种执行计划,你可以控制优化器。操作方法:1, 设置optimizer_search_depth2,设置optimizer_switch3,使用hint提示4,调整优化器成本模型。这些方法的使用,门槛都不低,需要懂优化器的优化。也许就hint能实用。...

2020-09-16 22:48:42 104

原创 读书笔记-k8s- 1.4 基本概念和术语-daemonset

DaemonSet:在每个Node上都调度一个Pod。有且仅有一个。这种用法适合有这种需求的应用。◎ 在每个Node上都运行一个GlusterFS存储或者Ceph存储的Daemon进程。◎ 在每个Node上都运行一个日志采集程序,例如Fluentd或者Logstach。◎ 在每个Node上都运行一个性能监控程序,采集该Node的运行性能数据,例如Prometheus Node Exporter等。DaemonSet的Pod调度策略与RC类似,除了使用系统内置的算法在每个Node上进行调度

2020-09-16 06:40:08 123

原创 DDBMS 体系架构的模型 P18

DDBMS 可以从三个方面来刻画:1)本地系统的自治 即每个DBMS在多大程度上能够独立运行。 A,本地运行不受分布式系统的影响; B,本地查询和优化不受全局的影响; C,系统的一致性和运行不受个别节点加入或离开的影响。2)分布3)异构...

2020-09-15 22:55:58 296

原创 cb13.9 删除重复和冗余索引

why: 重复索引没有用,但会减慢插入的速度。 冗余索引可能有用,但会减慢插入的速度。how: 1)pt-duplicate-key-checker 2)musqlindexcheck 3)sys schema...

2020-09-15 22:45:01 78

原创 cb13.10 检查索引的使用情况

场景: 开始,在某些列上添加了索引,但过了一段时间,某些变化,如应用程序发生了变化,不再需要该索引。如何找出那些未使用的索引?方法:从慢查询日志获取查询,对查询执行explain计划,并标识未使用的索引。...

2020-09-15 22:43:29 57

原创 DBMS P15

系统的体系架构定义了系统的结构及系统由哪些部分组成,每个部分具备哪些功能,以及这些部分之间如何交互。系统的体系架构,说明需要给出不同的模块,并且用系统的数据和控制流说明模块之间的界面和相互关系。分布式数据库dbms的三种参考体系架构:1,客户服务器系统。2 p2p分布式dbms,3多数据库系统。...

2020-08-24 22:46:41 65

原创 cb13.8 优化数据类型

要达到的目的,保存所有可能值,同时在磁盘上占用的空间又最小。这样带来的好处:查询快。占用内存空间小。被索引占用的空间小。

2020-08-12 22:42:13 84

原创 读书笔记-k8s- 1.4 基本概念和术语-Volume-pv-pvc

Volume(存储卷)是Pod中能够被多个容器访问的共享目录。Kubernetes的Volume概念、用途和目的与Docker的Volume比较类似,但两者不能等价。首先,Kubernetes中的Volume被定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下;其次,Kubernetes中的Volume与Pod的生命周期相同,但与容器的生命周期不相关,当容器终止或者重启时,Volume中的数据也不会丢失。最后,Kubernetes支持多种类型的Volume,例如GlusterFS、Ceph等

2020-08-12 22:32:55 299

原创 读书笔记-k8s- 1.4 基本概念和术语-ConfigMap

要解决的问题:我们知道,Docker通过将程序、依赖库、数据及配置文件“打包固化”到一个不变的镜像文件中的做法,解决了应用的部署的难题,但这同时带来了棘手的问题,即配置文件中的参数在运行期如何修改的问题。我们不可能在启动Docker容器后再修改容器里的配置文件,然后用新的配置文件重启容器里的用户主进程。为了解决这个问题,Docker提供了两种方式:◎ 在运行时通过容器的环境变量来传递参数;◎ 通过Docker Volume将容器外的配置文件映射到容器内。针对上述问题,Kubernetes

2020-08-09 17:38:06 149

原创 读书笔记-k8s- 1.4 基本概念和术语-Annotation

Annotation(注解)与Label类似,也使用key/value键值对的形式进行定义。不同的是Label具有严格的命名规则,它定义的是Kubernetes对象的元数据(Metadata),并且用于Label Selector。Annotation则是用户任意定义的附加信息,以便于外部工具查找。在很多时候,Kubernetes的模块自身会通过Annotation标记资源对象的一些特殊信息。通常来说,用Annotation来记录的信息如下。◎ build信息、release信息、Docker镜像信

2020-08-09 17:28:21 538

原创 读书笔记-k8s- 1.4 基本概念和术语-Namespace

Namespace(命名空间)是Kubernetes系统中的另一个非常重要的概念,Namespace在很多情况下用于实现多租户的资源隔离。Namespace通过将集群内部的资源对象“分配”到不同的Namespace中,形成逻辑上分组的不同项目、小组或用户组,便于不同的分组在共享使用整个集群的资源的同时还能被分别管理。Kubernetes集群在启动后会创建一个名为default的Namespace。kubectl get命令将仅显示属于default命名空间的资源对象。接下来,如果不特别指明Names

2020-08-09 17:26:00 96

原创 读书笔记-k8s- 1.4 基本概念和术语-job

从1.2版本开始,Kubernetes支持批处理类型的应用,我们可以通过Kubernetes Job这种新的资源对象定义并启动一个批处理任务Job。Kubernetes在1.5版本之后又提供了类似crontab的定时任务——CronJob,解决了某些批处理任务需要定时反复执行的问题。Job也控制一组Pod容器。Job控制Pod副本与RC等控制器的工作机制有以下重要差别:(1)Job所控制的Pod副本是短暂运行的,可以将其视为一组Docker容器,其中的每个Docker容器都仅仅运行一次.

2020-08-09 16:23:38 100

原创 读书笔记-k8s- 1.4 基本概念和术语-service

Service服务也是Kubernetes里的核心资源对象之一,Kubernetes里的每个Service其实就是我们经常提起的微服务架构中的一个微服务。从图1.12中可以看到,Kubernetes的Service定义了一个服务的访问入口地址,前端的应用(Pod)通过这个入口地址访问其背后的一组由Pod副本组成的集群实例,Service与其后端Pod副本集群之间则是通过Label Selector来实现无缝对接的。RC的作用实际上是保证Service的服务能力和服务质量始终符合预期标准。..

2020-08-09 16:11:09 120

原创 读书笔记-k8s- 1.4 基本概念和术语--StatefulSet

在Kubernetes系统中,Pod的管理对象RC、Deployment、DaemonSet和Job都面向无状态的服务。但现实中有很多服务是有状态的,特别是一些复杂的中间件集群,例如MySQL集群、MongoDB集群、Akka集群、ZooKeeper集群等,这些应用集群有4个共同点。(1)每个节点都有固定的身份ID,通过这个ID,集群中的成员可以相互发现并通信。(2)集群的规模是比较固定的,集群规模不能随意变动。(3)集群中的每个节点都是有状态的,通常会持久化数据到永久存储中。(4)如...

2020-08-09 15:16:11 142

原创 读书笔记-k8s- 1.4 基本概念和术语--Resource Metrics API

从1.7版本开始,Kubernetes自身孵化了一个基础性能数据采集监控框架——KubernetesMonitoring Architecture,从而更好地支持HPA和其他需要用到基础性能数据的功能模块。在Kubernetes Monitoring Architecture中,Kubernetes定义了一套标准化的API接口Resource Metrics API,以方便客户端应用程序(如HPA)从Metrics Server中获取目标资源对象的性能数据,例如容器的CPU和内存使用数据。到了Kuberne

2020-08-09 15:03:43 246

原创 读书笔记-k8s- 1.4 基本概念和术语 HPA-Horizontal Pod Autoscaler

HPA与之前的RC、Deployment一样,也属于一种Kubernetes资源对象。通过追踪分析指定RC控制的所有目标Pod的负载变化情况,来确定是否需要有针对性地调整目标Pod的副本数量,这是HPA的实现原理。当前,HPA有以下两种方式作为Pod负载的度量指标。◎ CPUUtilizationPercentage。◎ 应用程序自定义的度量指标,比如服务在每秒内的相应请求数(TPS或QPS)。如果某一时刻CPUUtilizationPercentage的值超过80%,则意味着当前Pod副.

2020-08-09 15:02:25 118

原创 读书笔记-k8s- 1.4 基本概念和术语 deployment

Deployment在内部使用了Replica Set来实现目的,无论从Deployment的作用与目的、YAML定义,还是从它的具体命令行操作来看,我们都可以把它看作RC的一次升级,两者的相似度超过90%。Deployment相对于RC的一个最大升级是我们可以随时知道当前Pod“部署”的进度。实际上由于一个Pod的创建、调度、绑定节点及在目标Node上启动对应的容器这一完整过程需要一定的时间,所以我们期待系统启动N个Pod副本的目标状态,实际上是一个连续变化的“部署过程”导致的最终状态。De.

2020-08-09 14:57:34 134

原创 读书笔记-k8s- 1.4 基本概念和术语 rc--rs

RC是Kubernetes系统中的核心概念之一,简单来说,它其实定义了一个期望的场景,即声明某种Pod的副本数量在任意时刻都符合某个预期值,所以RC的定义包括如下几个部分。◎ Pod期待的副本数量。◎ 用于筛选目标Pod的Label Selector。◎ 当Pod的副本数量小于预期数量时,用于创建新Pod的Pod模板(template)。应用升级时,通常会使用一个新的容器镜像版本替代旧版本。我们希望系统平滑升级,比如在当前系统中有10个对应的旧版本的Pod,则最佳的系统升级方式是...

2020-08-09 14:37:51 320

原创 读书笔记-k8s- 1.4 基本概念和术语 lable

lable是实现了分组、选择的功能。用SQL来类比,很形象。一个Label是一个key=value的键值对,其中key与value由用户自己指定。Label可以被附加到各种资源对象上,例如Node、Pod、Service、RC等,一个资源对象可以定义任意数量的Label,同一个Label也可以被添加到任意数量的资源对象上。Label通常在资源对象定义时确定,也可以在对象创建后动态添加或者删除。我们可以通过给指定的资源对象捆绑一个或多个不同的Label来实现多维度的资源分组管理功能,以便灵..

2020-08-04 07:46:11 218

原创 读书笔记-k8s- 1.4 基本概念和术语 pod

pod我的理解,就是多个容器的容器,类似于虚机与进程的关系。Pod是Kubernetes最重要的基本概念,如图1.4所示是Pod的组成示意图,我们看到每个Pod都有一个特殊的被称为“根容器”的Pause容器。Pause容器对应的镜像属于Kubernetes平台的一部分,除了Pause容器,每个Pod还包含一个或多个紧密相关的用户业务容器。pod概念之必要性:1)一组容器怎么判断整体的状态。2)一组容器怎么互相通信、共享文件pod就可以解决上面两个问题。Kuber...

2020-08-02 09:48:33 196

原创 读书笔记-k8s- 1.4 基本概念和术语 master node

1.4.1 master 管理节点1台,高可用3台在Master上运行着以下关键进程。 入口--大脑--调度◎ Kubernetes API Server(kube-apiserver):提供了HTTP Rest接口的关键服务进程,是Kubernetes里所有资源的增、删、改、查等操作的唯一入口,也是集群控制的入口进程。◎ Kubernetes Controller Manager(kube-controller-manager):Kubernetes里所有资源对象的自动化控制中心,可以..

2020-08-02 07:48:44 124

原创 cb 13.7 分析慢查询

使用pt-query-digest 工具。没看懂报告。

2020-08-01 21:56:56 77

原创 DBMS P12 设计问题 P13

分布式DBMS 设计方面的问题1,数据存放 是分片,还是复制。2,分布式目录管理3,分布式查询处理 要设计对查询的分析和将查询转换为数据操作的算法。 考虑因素包括数据的分布,通信的开销,欠缺的可用的局部信息,这是NP问题。通常采用启发式规则予以解决。...

2020-08-01 21:45:09 113

原创 读书笔记-1.4 Kubernetes的基本概念和术语

读得太快记不住,容易忘。每天读一点。1)k8s实现了对资源对象的管理,如增、删、改、查。自动控制,自动纠错。Kubernetes中的大部分概念如Node、Pod、Replication Controller、Service等都可以被看作一种资源对象,几乎所有资源对象都可以通过Kubernetes提供的kubectl工具(或者API编程调用)执行增、删、改、查等操作并将其保存在etcd中持久化存储。从这个角度来看,Kubernetes其实是一个高度自动化的资源控制系统,它通过跟踪对比etcd.

2020-07-28 07:46:26 119

原创 cb 13.6 降序索引

MySQL 8.0 引入对降序索引的支持。以前是始终按升序存储。使用场景:对同时具有升序和降序的ORDER BY 子句的查询很有用。ASC 升序, DESC 降序ALTER TABLE em ADD INDEX name_desc(first_name ASC, last_name DESC);...

2020-07-26 21:46:22 110 1

原创 DBMS P11 分布所带来的复杂性

三个方面:1)数据可以在分布的环境里复制。2)如果正在更新时某些站点出现故障,在故障恢复后,系统必须确保更新的效果反映在出现故障的站点上。3)因为每个站点不可能随时知道其他站点上正在进行的操作,这就使得多站点上的事务同步比集中式系统要困难得多。带来的若干问题:1)建立分布式系统的固有的复杂性2)资源复制所产生的成本的增加。3)对分布的管理4)控制分散到多个中心后如何达成一致5)加剧的安全问题。...

2020-07-26 21:35:39 71

原创 DBMS P11 更为容易的系统扩展

通过增加处理和存储的能力即可做到系统扩展。 这不是线性增长,但能力的显著提高是完全可以的。 分布式DBMS更为容易适应不断增长的数据规模。

2020-07-26 21:28:54 52

原创 cb 13.5 不可见索引

应用场景: 先将一个正常索引标记为 INVISIBLE,即不可见,则该索引将不能使用。 可以改为“”“VISIBLE”,恢复使用。why: 为啥要做这个功能?防止误删?ALTER TABLE em ALTER INDEX last_name INVISIBLE; --不可见ALTER TABLE em ALTER INDEX last_name VISIBLE; --可见...

2020-07-25 21:50:15 66

原创 DBMS P10 改进的性能

DBMS性能的改进来源两点:1,每个站点仅处理数据库的一小部分,对CPU和IO的服务竞争不会有集中式DB那么激烈。2,本地化减少了通常由广域网带来的远程访问的延时。大多数分布式DBMS是按照从数据本地化中获得最大利益的思路来构造。...

2020-07-25 21:43:13 50

原创 DBMS P9 分布式事务提供的可靠性

分布式DBMS 试图提高可靠性。 即消除单点或多点故障。可行的办法是采用分布式事务和应用协议的支持。分布式事务确保系统不管出现什么情况,用户的请求都能得到正确的执行。

2020-07-25 06:52:20 62

原创 cb 13.4 添加索引

如果没有索引,MySQL在查找相关行时就必须逐行扫描整个表。 可以用索引来筛选WHERE,ORDER BY,GROUP BY子句中的行,也可以用索引来连接表。 主键(聚簇索引)和二级索引。 InnoDB基于主键来存储行。其他所有的索引都被称为辅助键,它们存储主键的值(不直接引用行)。 主键选择的技巧: 1) 它应该是唯一的和非空的。 2)选择最小可能的键,因为所有的二级索引都会存储主键。如果主键很大,整个索引也会占...

2020-07-23 22:17:08 61

原创 DDBM P8 谁应当提供透明

人们希望获得各种形式的透明。有三个层可以提供透明。1) 语言层。 由语言把请求的服务翻译成需要的操作。2)操作系统层。 如驱动程序一样。3)DBMS。由DBMS提供透明。

2020-07-23 22:00:57 102

原创 DDBS P8 分片透明

把数据库关系分割成更小的片段,并把这些片段处理成分开的数据库对象。水平分片,垂直分片。

2020-07-22 22:14:16 126

原创 cb13.3 基准查询

问题:如果查询时间大约为几毫秒,通过单次查询无法判断哪个查询更快。解决方案:模拟批量并发执行查询语句,确定每个阶段耗时。 提供mysqlslap工具,可以模拟客户端负载。...

2020-07-21 22:25:50 56

原创 cb 13.2 explain计划

explain 命令explain FORMAT=JSON SQL为正在运行的会话执行expain。EXPLAIN FORMAT=JSON FOR CONNECTION 778\G

2020-07-20 22:01:46 41

原创 DDBS P7 数据独立性-网络透明-复制透明

数据独立性 即用户不会受到数据的定义和组织的变化影响。 数据定义涉及逻辑结构和物理结构。 前者通常称为模式定义,后者称为物理数据描述。 逻辑数据独立性是说用户应用不受数据库的逻辑结构变化的影响。 物理数据独立性是向用户应用隐藏了存储结构的细节。 当编写用户应用时,不会涉及物理存储结构的细节。...

2020-07-20 21:54:48 239

原创 cb 14.7 设置SSL复制

why: 主从复制如果要考虑安全,该怎么做?what:使用加密连接传送binlog。how:启用ssl,设置复制采用ssl等。验证: 从库 show slave status \G Master_SSL_Allowed: Yes

2020-07-19 22:16:15 85

原创 DDBS P6 分布及复制数据的透明管理

透明的含义是将系统的高层语义和底层的实现问题相分离。换句话说,一个透明的系统向用户隐藏了系统实现的细节。我们希望所有的DBMS都是完全透明的。分片: 对每个关系进行划分,划分的片段存储在不同的站点。由于可靠性和性能的原因,倾向于将某些数据复制到其他站点。全透明存取就意味着用户只需发出查询,根本不必关心数据的分片、位置以及复制的问题,这些是系统应当处理的事情。...

2020-07-19 22:02:35 194

空空如也

空空如也

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

TA关注的人

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