加入收藏 | 设为首页 | 会员中心 | 我要投稿 柳州站长网 (https://www.0772zz.cn/)- 基础存储、数据迁移、云安全、数据计算、数据湖!
当前位置: 首页 > 站长资讯 > 评论 > 正文

互联网没了女性的编程会怎样?

发布时间:2021-02-03 13:58:33 所属栏目:评论 来源:互联网
导读:2、BinLog、RedoLog、UndoLog BinLog BinLog是记录所有数据库表结构变更(例如create、alter table)以及表数据修改(insert、update、delete)的二进制日志,主从数据库同步用到的都是BinLog文件。BinLog日志文件有三种模式。 STATEMENT 模式 内容:binlog 只会

2、BinLog、RedoLog、UndoLog

BinLog

BinLog是记录所有数据库表结构变更(例如create、alter table)以及表数据修改(insert、update、delete)的二进制日志,主从数据库同步用到的都是BinLog文件。BinLog日志文件有三种模式。

STATEMENT 模式

内容:binlog 只会记录可能引起数据变更的 sql 语句

优势:该模式下,因为没有记录实际的数据,所以日志量和 IO 都消耗很低,性能是最优的

劣势:但有些操作并不是确定的,比如 uuid() 函数会随机产生唯一标识,当依赖 binlog 回放时,该操作生成的数据与原数据必然是不同的,此时可能造成无法预料的后果。

ROW 模式

内容:在该模式下,binlog 会记录每次操作的源数据与修改后的目标数据,StreamSets就要求该模式。

优势:可以绝对精准的还原,从而保证了数据的安全与可靠,并且复制和数据恢复过程可以是并发进行的

劣势:缺点在于 binlog 体积会非常大,同时,对于修改记录多、字段长度大的操作来说,记录时性能消耗会很严重。阅读的时候也需要特殊指令来进行读取数据。

MIXED 模式

内容:是对上述STATEMENT 跟 ROW 两种模式的混合使用。

细节:对于绝大部分操作,都使用 STATEMENT 来进行 binlog 的记录,只有以下操作使用 ROW 来实现:表的存储引擎为 NDB,使用了uuid() 等不确定函数,使用了 insert delay 语句,使用了临时表
 

  • mapper:映射文件的根节点,只有一个属性namespace(命名空间),作用如下:
    • 用于区分不同的mapper,全局唯一。
    • 绑定DAO接口,即面向接口编程,当绑定一个接口,就不用写此接口的实现类,会通过接口的完全限定名找到对应的mapper配置来执行SQL语句,所以,namespace的命名必须要写接口的完全限定名。
  • cache:配置给定命名空间的缓存。
  • cache-ref:从其他命名空间引用缓存配置。
  • resultMap:用来描述数据库结果集和对象的对应关系。
  • sql:可以重用的SQL块,也可以被其他语句引用。通常时存放一些公用性的SQL。
  • insert:映射插入语句。
  • update:更新映射语句。
  • delete:删除映射语句。
  • select:映射查询语句。

  1. 集中式结构
  2. 非集中式结构

对于分布式资源的分配或者说调度,一共就三种方法:

  1. 单体调度
  2. 两层调度
  3. 共享状态调度

最后

以上,我将分布式系统是什么,为什么要做分布式系统以及分布式系统我们到底该怎么学大体说了一下。

是不是看完之后感觉有点空,感觉有点懵,别着急,后续我会写出更多的关于分布式的文章,写的通俗易懂一些,让大家能尽量花更少的时间、成本,学到更多的分布式知识。

一口吃不成个胖子,好戏刚刚开始。

上面写的,我只是整体出来了一条线,但是很多东西其实也可以并行学习。另外,关于如何学习,这方面是仁者见仁,智者见智,不喜勿喷!

 

(编辑:柳州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读