从美元周期看大国经济战
FROM:
https://mp.weixin.qq.com/s/0gusyuzn3TFuXjtuTcOAog
https://mp.weixin.qq.com/s?__biz=MzU4OTQyNTAyNw==&mid=2247485531&idx=1&sn=2b835832db2b44cea3f6aad657b9bcdd
一个新的世界秩序通常在国家内部(通过革命)和国家之间(通过战争)发生根本变化之后开始。通常在爆发战争(热战)之前,通常会有一场经济战争。
严重的经济衰退、巨大的贫富差距、巨额债务以及无效的货币政策,构成了一种易燃的组合,通常会导致国家内部的重大冲突和革命性变革。
在大冲突时期有一种趋势,即走向更专制的领导,导致原有世界秩序混乱。
典型的萧条期现象
专制、民粹主义和民族主义:在经济极度紧张的时期,转向更加专制、民粹主义和民族主义的领导人和政策是很典型的,因为人们希望强有力的领导能给混乱带来秩序,并强有力地对付外部敌人。
扩张的货币政策:通货紧缩或者萧条是由于债务人手中没有足够的钱来偿还债务而导致的危机。这不可避免地导致印钞、债务 ...
MySQL 压缩
压缩算法Table CompressionInnoDB存储引擎是按照索引组织表(index-organized table)的方式组织数据的,数据存储在B-tree索引(clustered index/primary key & secondary index)中。Table Compression是针对整个表,和相关索引进行的,而不是单独的数据行。
B-tree页经常被更新,InnoDB会尽量减少B-tree节点的分裂(split),减少不必要的压缩和解压页。为此,InnoDB在每个B-tree页中都预留了未压缩的“modification log”空间,记录页的变更。对于update和insert的数据量较小时,会先写入“modification log”,不用立刻重构整个页。当“modification log”空间用完了,InnoDB解压该页,应用变更(apply),然后重新压缩。如果压缩失败,该B-tree叶节点就要进行分裂了。在写入量比较大的场景,比如某些OLTP应用,为了避免频繁压缩失败,InnoDB会在页中保留一些额外空间(padding),在“modifica ...
分库分表
业界方案问题垂直拆分优点:降低负载,提高可用性
缺点:
无法降低单表数据量
不能无限扩容
存在单点故障
join 等多表操作受限
存在跨库事务
水平拆分优点:
降低单表数据量
理论上可无限扩容(NoSQL 通常采取这种方案)
不存在单点故障
缺点:
join 等多表操作进一步受限
存在跨库事务
扩容成本高
如何分hash 分表常见的分表方案。
range 分表建立时间 range,按 range 分表。
混合分表先 hash,再 range。
怎么查
SQL 路由(route)和结果合并(merge)
多表 join
多维度查询
跨库事务
路由要定义 dsl,用语言解析表达式。
做广播表的查询的结果就是一张逻辑表查询转成多张表查询。
如果要做无分表键的查询,不如做影子表做侧维度。但影子表依赖于数据迁移服务。数据迁移服务的存在在日常的数据库运维中非常重要,它可以支持任意的 etl 的形式来同步异构数据。但这会带来成本上的坑。
货币价值的变迁
FROM:https://mp.weixin.qq.com/s/QynjLKnXsix4apKn4RWh5g
1. 摆脱债务危机最简单的做法就是印钱并使其贬值决策者可以利用以下四种杠杆来使得债务和偿债水平相对于偿债所需要的收入和现金流水平显著下降:
紧缩(减少支出)
债务违约和重组
将资金和信贷从富余方转移到短缺方(例如提高税收)
印钱并引发贬值
紧缩会造成通缩,同时由于其过于痛苦,所以不可能持久。债务违约和重组也是一个通缩和痛苦的过程,因为被抹去或贬值的债务是另一个人原本的资产。结果,违约和重组对破产债务人、和资产被剥夺债权人以及本来富有却不得不减记资产的债权人来说都是痛苦的。将资金和信贷从富余方转移到短缺方(例如:提高税收以重新分配财富)在政治上具有挑战性,但比前两种方法都更容易被接受,这通常也是解决方案的一部分。与上面其他几项措施相比,印钞是最方便,最不被大众理解,也是最普遍的债务重组方式。实际上,它看上去对大多数人其实是利大于弊,因为它有助于缓冲债务挤兑的局面,那些财富被通胀掠夺的受害方也难以分辨(尽管他们是货币和债务资产的所有者)在大多数情况下,它会导致以贬值货币 ...
货币、信贷与债务
FROM:https://mp.weixin.qq.com/s/h14q5BVSSWsNgU5K6bMEVw
货币系统:大多数货币和信贷(尤其是现存的法币)并无内在价值。所有货币要么被摧毁,要么贬值。而当这发生时,财富就会以一种浩荡的方式转移,从而在经济和市场中产生巨大的反响。然而,拥有储备货币的国家更容易摆脱大量借贷(即创造信贷和债务)或者发行巨额货币的窘境,因为储备货币可用于世界各地的支出,所以其他国家倾向于持有这些债务。
经济周期由短期债务周期和长期债务周期构成
短期债务周期:通常持续8年左右,或多或少。时机取决于“兴奋剂”将需求提高到实体经济生产能力极限所需的时间。与短期债务周期相比,长债务周期需花费我们一生时间才会完成,因此大部分经济学家在内的大众根本没有意识到长期债务周期的存在。
长期债务周期:通常持续约50至75年。
拥有储备货币地位对国家意义重大,相对于美国经济规模而言,其规模是巨大的。
2008年以来,央行在MP2(QE)的基础上开启了MP3的新范式 ,这意味着具有储备货币的中央银行创造货币和信贷的能力几乎没有或没有限制。
当一个国家拥有储备货 ...
世界财富与权力大转移背后的规律
FROM:https://mp.weixin.qq.com/s/o1lxndz0UtI_Websf-WDPw
财富和权力的大幅波动是由多达17种主要因素引起的,最重要的是货币和信贷周期,贫富差距周期和全球地缘政治周期。这些强大的力量通常以经典的周期汇聚在一起,这些经典的周期以相互补充的方式趋向于形成一个非常大的起伏周期,并在整个历史中反复出现。这个庞大的周期范式(archetypical cycle)控制着帝国的兴衰。
在多种因素引导着历史更迭和全球周期起伏,暗中发生着国家间财富和权力转移。这种转移往往会被人忽略,因为虽然财富和权力的转移在历史长河中属于白驹过隙,但对个体有限的寿命而言是长达十余年潜移默化的改变。我们如今正在经历相对财富和权力的范式迁移(archetypical big shift in relative wealth and power),并且随着这种变化,我们将见证世界秩序的深刻变化给所有国家造成的影响。
历史上,几乎所有大国都经历了崛起期、全盛期和衰弱期。而在每一个国家的周期中,不同因素的影响总是相辅相成,其中教育永远是领先指标,而储备货币地位的变化则姗姗来 ...
Ray Dalio - 变化的世界格局与宏观周期
FROM:https://mp.weixin.qq.com/s/zdF7d-MvpmNAj4tnxD2Cdg
为什么要关注全球历史的大趋势:每个人一生都只能够经历宏观周期中一小部分,因此时而会对长达50-70年大周期视而不见。而通常人生中最大机遇和失误,往往来自于错过了“人生中没有发生过,但在历史当中反复重演”的市场信号。
历史上重要事件由三大力量所驱动:长期货币和债务周期、国内财富与权力周期、国际财富与权力周期。三种力量往往相互融合、相互促进,共同决定了国家和全球的经济政治走势。
本系列重点关注世界舞台上长袖善舞的大国:主要包括3个储备货币国家:荷兰,英国和美国,以及其他6个重要大国:德国,法国,俄罗斯,印度,日本和中国。这些具体个例将提炼出历史反复发生的典型范例。
回看历史,有3个对经济整体趋势至关重要的事件:
经济增长困局:全球经济体的高负债率(high level of indebtedness)+低利率,将会极大程度限制全球各大央行刺激经济增长的能力;
内部冲突:各国家内部巨大的贫富差距与相应的政治分歧,带来了不断恶化的内部社会与政治冲突;
外部冲突:中国作为 ...
MySQL 的 MGR
MySQL 高可用架构的历史MySQL 自带的主从复制机制,本身并不能实现自动高可用。
早期使用开源组件来搭 MySQL 集群的方案,使用 MMHA。当代 MySQL 官方自己主推的方案是 MySQL cluster。这些老的方案,优先保证MySQL服务的持续可用,在异常切换情况下,可能出现主机上部分数据未能及时同步到从库,造成主从切换后数据丢失。但是包括金融支付在内的一些业务,对于数据库服务既要求持续可用、也要求数据强一致(可以在性能上做出一些让步)。
因此,当代的 MySQL 官方提供了组复制(MySQL Group Replication)的方案,构建了新一代的 MySQL 高可用强一致服务。
Master-Slave(MS)架构高可用概述MS架构高可用基础高可用MySQL是依赖复制(Replication)技术实现的,复制解决的基本问题就是,让一台数据库服务器的数据同步到其它服务器上。MySQL数据库的复制有如下三个步骤。
在主库上把数据更改记录到二进制日志(Binary Log)中(这些记录被称为二进制日志事件)。
备库将主库上的日志复制到自己的中继日志(Relay Lo ...
秒杀通用解决方案
秒杀的实质秒杀的实质,是围绕库存管理展开的并发读写如果架构设计里面包含商品系统,包含库存,秒杀就要解决库存热点行高并发读写问题。
秒杀的底线是:不能超卖。qty库存 ≥ qty卖出 && qty库存 - qty卖出 ≈ 0。秒杀能够容忍的一些思路:渐进趋于一致,允许漏卖。
秒杀架构的特性
高性能:秒杀架构要承载的访问流量比平时高出许多倍,涉及大量的并发读和并发写,因此支持高并发访问非常关键。
一致性:秒杀活动中有限数量的商品在同一时刻被很多倍的请求同时扣减库存,在大并发更新的过程中要保证数据准确,不能发生超卖的问题(超卖,本来应该卖完下架的商品,在前台展示依然有库存,依然不停的被卖出),即库存是多少,理应卖出多少(qty库存 ≥ qty卖出 && qty库存 - qty卖出 ≈ 0)。
高可用:秒杀架构虽经多次打磨优化,但现实中总难免出现一些考虑不到的情况,要保证系统的高可用,还要设计一个兜底预案,以便在最坏的情况发生时仍能从容应对。
秒杀技术难点
在有限的资源下,秒杀链路承载合理的最大流量。
大并发下扣减库存准确,“一致性”中说到的“超卖”往往 ...
计算的本质
语义小步语义小步语义类似对代数式迭代求值。
大步语义大步语义的意思是,对于大的表达式,先求它的小表达式,然后把结果结合起来得到最终的答案。这通常意味着递归
操作语义(operational semantic)想象一个理想、抽象的计算机,操作语义为程序在某些机器上的执行定义一些规则。
指称语义(denotional semantic)用一种低级、更形式化的语言来解释当前的语言。
状态机的分类确定性有限自动机finite state machine -> finite automaton
deterministic finite automaton 是确定性有限自动机的意思
我们的领域模型的状态机最好是这种状态机。
非确定性有限自动机NFA能被一台特定机器接受的字符串集合称为一种语言:我们说这台机器识别了这种语言。
任何 NFA 等价于 DFA
确定性下推自动机PushDown Automaton pda。
这种状态机可以处理无限多的中间状态。
确定型图灵机Deterministic Turing Machine DTM
可以解决所有可判定/可计算问题
停机问题不可解,即任意问题都可 ...