站长蚂蚁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: 活动 交友 discuz
楼主: gydtep2002
打印 上一主题 下一主题

腾讯云2860元代金券领取及使用说明

[复制链接]

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
151#
 楼主| 发表于 2023-1-5 14:29:13 | 只看该作者
给大家举个例子,像数据库组成的强同步,对我们后续技术架构进和业务的改进都是有极大影响的。这个时候大家要对数据库有一个全局的认识。

2009年用Oracle数据库用的非常多。。我当时不是做数据库相关的,但是为了把Oracle数据库研究透,去学了非常多Oracle数据库相关的内容。了解里面的逻辑,知道它是什么开发态,是什么运行态,什么管理态,知识都是延续的,后来到了阿里,可能花很短的几个小时就能把现在阿里所有的数据库吃透。
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
152#
 楼主| 发表于 2023-1-5 20:30:54 | 只看该作者
学习也不是说去瞎学,一定要有体系化的。首先跟你工作相关的,要体系化的去学习,从最下到最上体系化的去学习,学习完了以后你会有新的不一样的认识。把你的想法可以向你的团队说出来,向你的主管说出来。
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
153#
 楼主| 发表于 2023-1-6 12:36:55 | 只看该作者
学习也不是说去瞎学,一定要有体系化的。首先跟你工作相关的,要体系化的去学习,从最下到最上体系化的去学习,学习完了以后你会有新的不一样的认识。把你的想法可以向你的团队说出来,向你的主管说出来。

还有就是要去看论文。跟数据相关的,OLTP和OLAP都有非常好的论文。看了论文以后再看其他人对论文的理解。一定要去看一些比较好的东西,跟工作相关的都可以去看,每天去学习。每天花2到3个小时去学习,三年以后你就知道自己跟别人完全不一样。有人说过:在一个行业你能付出1万个小时,你会跟别人形成本质的区别。但是在我们这个领域,1000个小时就形成差别。
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
154#
 楼主| 发表于 2023-1-7 11:24:41 | 只看该作者
• 如果 COMMIT POINT 不存在,那么可以保证没有任何一个 RM 进入 Commit Phase,此时可以安全回滚所有 RM。
• 如果 COMMIT POINT 存在,那么可以保证所有 RM 都已经完成了 Prepare Phase,此时可以继续进行 Commit Phase。

回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
155#
 楼主| 发表于 2023-1-7 20:09:02 | 只看该作者
• COMMIT_TS 统一了一个分布式事务在每个分片上提交数据发生的时间,会被记录到 InnoDB 引擎中。COMMIT_TS 决定了当前事务在全局事务中的顺序。

在私有化的 InnoDB 中,我们会根据事务的 SNAPSHOT_TS 来决定可见性,同时我们也会让新事务的读请求在遇到处于 prepare 状态的数据时进行等待,避免处于 prepare 状态的事务 COMMIT_TS 比当前 SNAPSHOT_TS 更小导致 commit 前后数据不同的问题。
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
156#
 楼主| 发表于 2023-1-8 13:20:58 | 只看该作者
在上面的只读连接优化中,我们通过将仅使用快照读的连接摘出事务之外,来优化 COMMIT_TS 的获取。而如果是完全相反的情况 ——— 所有连接都是写操作或者带锁的当前读操作,那么我们完全不需要进行快照读。因此我们也做了这样一个优化:仅在第一次进行快照读时获取 SNAPSHOT_TS。这个优化针对的是一些对 Serializable 有很强需求的场景:

BEGIN;
SELECT balance FROM accounts WHERE id = 0 FOR UPDATE; # 检查余额,需要加锁
UPDATE accounts SET balance = balance - 1 WHERE id = 0;
UPDATE accounts SET balance = balance + 1 WHERE id = 1;
COMMIT;
上面的 SQL 执行的是一个典型的转账场景,将 1 元从 id 为 0 的账户转到 id 为 1 的账户,在整个事务中都没有使用到快照读,因此针对这种场景我们会省略 SNAPSHOT_TS 的获取。
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
157#
 楼主| 发表于 2023-1-8 19:35:32 | 只看该作者
2015 年由 Linux 基金会发起了一个 The Cloud Native Computing Foundation(CNCF) 基金组织,CNCF基金会的成立标志着云原生正式进入高速发展轨道,Google、Cisco、Docker 各大厂纷纷加入,并逐步构建出围绕 Cloud Native 的具体工具,而云原生这个的概念也逐渐变得更具体化。因此,CNCF 基金最初对云原生定义是也是深窄的,当时把云原生定位为容器化封装+自动化管理+面向微服务:
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
158#
 楼主| 发表于 2023-1-9 10:21:12 | 只看该作者
到 2018 年,随着 Service Mesh 的加入,CNCF 对云原生的定义发生了改变,而这也逐渐成为被大家认可的官方定义:

Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.

These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
159#
 楼主| 发表于 2023-1-9 19:53:31 | 只看该作者
为什么低呢?云作为一种分布式架构,其“土著居民”也应该是基于分布式架构设计出来的,而微服务或 Serverless 这种将服务或函数拆分成一个个模块的松耦合系统,天然具备分布式设计的属性。这是 Native 的第一种表现。

其次云作为一种 PaaS 服务,这位“土著居民”从出生(设计)到成长(开发),再到生活(部署)都应该是基于云的理念来实现的,那么就需要一套自动化的开发流程 CI/CD 来实现。这是 Native 的第二种表现。
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
160#
 楼主| 发表于 2023-1-10 10:17:17 | 只看该作者
第一定律:Communication dictates design,即组织沟通方式会通过系统设计呈现。
第二定律:There is never enough time to do something right,but there is always enough time to do it over,即时间再多,一件事情也不可能做得完美,但总有时间做完一件事情。
回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|站长蚂蚁-站长之家 ( 赣ICP备15000807号

GMT+8, 2024-5-10 10:53

Powered by 蚂蚁站长论坛

© 2007-2024 bbs.jzmayi.com

快速回复 返回顶部 返回列表