投资分类
分类 股票 债券 期权 期指 股票期权 互惠基金 衍生权证 衍生品认识
规划结构化
基础结构 LongRangePlan.xmind
操作系统导论 Three Easy Pieces
前言 本书的目的是厘清操作系统的发展脉络。有助于学生了解过去是什么、现在是什么、将来是什么。 无论如何,在试图解决问题时,我们首先要说明最重要的问题是什么。我们在书中明确提出关键问题(crux of the problem),并通过本书其余部分提出的技术、算法和思想来解决。 在许多地方,我们将通过显示一段时间内的行为来解释系统的工作原理。这些时间线(timeline)是理解的本质。例如,从页故障出发,我们可以理解虚拟内存的工作方式。 本书采用最古老的教学方法之一-对话(dialogue)。 我们应当首先呈现抽象,然后介绍具体。抽象是计算机科学各个方面的基础,因此它在操作系统中也是必不可少的。 作业模拟程序具有以下特点,通过提供不同的随机种子,产生近乎无限的问题。 本书使用 xv6 操作系统来编程。 学生很难理解并发问题是如何产生的,也很难理解人们试图解决它的原因。
数据中心
如何分层 按照在线-离线、对时延的要求,可以把数据存储分为: L0:T+0 L1:T+0 L2:T+1 其中 L1 是 L0 的穿透防御层,但延时会稍微更高。L0 是 10ms 查询层,不是全量数据。L1 是 100ms 查询层,是全量数据,L0 和 L1 都支持轻度分析操作。 L2 是全量数据,可以支持复杂大型查询。 设计 L 的分层要考虑数据的: 是否全量:数据量大小,这要求我们关注我们技术选型的 scale 能力,特别是数据线性增长以后,性能是否线性增长。 是否全维度:这要求我们关注我们技术选型的 schema 建模能力。 延时要求:这要求我们关注我们技术选型的查询执行模型。 查询复杂程度要求:这需要关注我们的技术选型支持的查询语言。 如何迁移数据 数据迁移问题 = 制造新从库问题 + 读写切换的问题 寻找一个时间点,使用备份进行冷启动,然后通过类似 binlog 制造新从库的机制进行追踪(对于 update 和 delete,都可以设置简单的幂等机制,insert 的幂等要防异常)。 框架进行数据校验:主键范围查询,md5 查询。因为数据迁移总是非事务性的最终一致性...
ElasticSearch 总结
ES 思维导图 ElasticSearch总结.xmind ES 的定位 ES 是 build on top of Lucene 建立的可以集群化部署的搜索引擎。 ES 可以是 document store(此处可以理解为文档仓库或者文档存储),可以结构化解决数据仓库存储的问题。在 es 中一切皆对象,使用对象对数据建模可以很好地处理万事万物的关系。 ES 是海量数据的分析工具能够支持:搜索、分析(这一条其实我们很少用到)和实时统计。 ES 的架构有优越的地方: 自己使用 pacifica 协议,写入完成就达成共识。 节点对内对外都可以使用 RESTful API(or json over http)来通信,易于调试。 因为它有很多很好的默认值,api 也是 convention over configuration的,所以开箱即用。 它天生就是分布式的,可以自己管理多节点-它的路由机制是一个方便的,需要优化也可以优化的机制。 ES 的架构 ES 是基于 Lucene 的,集群上的每个 node 都有一个 Lucene 的实例。而 Lucene 本身是没有 type ...
如何画架构图
前言 有意义且具备一致性(coherence)的架构图有助于为不同的利益相关者(stakeholder)澄清(illustrate)事实,并达成共识-反之,图表杂乱无章。 有意义的图表胜过建模(建模指的是With modelling, you're building up a non-visual model of something (e.g. the software architecture of a software system), and then creating different views (e.g. diagrams) on top of that model. ),在架构沟通上,visualization 胜过千言万语。 一致性要求我们有足够好的指导原则,让我们知道标准的图元是什么。 “架构是一项复杂的工作,只使用单个图表来表示架构很容易造成莫名其妙的语义混乱”。 在同一个架构图里添加不同层级的抽象可能会导致冲突的出现,因为它们是从不同的角度描述问题的。 应该在架构图旁边加上图例(legend),沟通者应该懂得图元(key)是什么。key 和 legen...
MySQL 存储引擎 InnoDB 技术内幕
这本书的电子版的一个博客。 InnoDB.xmind 前言 本文以 MySQL 8.4 LTS 为当前版本基线,梳理 InnoDB 的内存结构、磁盘结构、日志、锁和事务机制。书籍中的旧版本实现仍有助于理解设计演进,但凡涉及默认值、文件布局和 SQL 能力,均以 MySQL 8.4 官方文档为准。 InnoDB 的性能不能脱离工作负载讨论。OLTP 写入、分析型扫描、热点索引和批量导入对缓冲池、日志与锁的压力完全不同,可靠的判断来自可复现测试,而不是脱离硬件和配置的吞吐数字。 Change Buffer 的前身是 Insert Buffer。它把非唯一辅助索引的部分变更延后合并,目标是减少随机 I/O;它不是通用写缓存,也不参与聚簇索引的修改。 MySQL 体系结构和存储引擎 定义数据库和实例 数据库:物理操作系统文件或其他形式文件类型的集合。 实例:操作系统后台进程(线程和一堆共享内存)。 存储引擎:基于表而不是基于库的,所以一个库可以有不同的表使用不同的存储引擎。 InnoDB 把表、索引、undo 等对象组织在逻辑表空间中,并通过数据文件把这些结构落到文件系统。存储引擎...
数据库容灾体系的演变
什么是容灾 备份的分类 备份方式 说明 逻辑备份 数据库对象级备份,备份内容是表、索引、存储过程等数据库对象,如MySQL mysqldump、Oracle exp/imp。 物理备份 数据库文件级备份,备份内容是操作系统上数据库文件,如MySQL XtraBackup、Oracle RMAN。 快照备份 基于快照技术获取指定数据集合的一个完全可用拷贝,随后可以选择仅在本机上维护快照,或者对快照进行数据跨机备份,如文件系统Veritas File System,卷管理器Linux LVM,存储子系统NetApp NAS。 规划 要结合业务,产生多维立体的解决方案。
从美元周期看大国经济战
FROM: https://mp.weixin.qq.com/s/0gusyuzn3TFuXjtuTcOAog https://mp.weixin.qq.com/s?__biz=MzU4OTQyNTAyNw==&mid=2247485531&idx=1&sn=2b835832db2b44cea3f6aad657b9bcdd 一个新的世界秩序通常在国家内部(通过革命)和国家之间(通过战争)发生根本变化之后开始。通常在爆发战争(热战)之前,通常会有一场经济战争。 严重的经济衰退、巨大的贫富差距、巨额债务以及无效的货币政策,构成了一种易燃的组合,通常会导致国家内部的重大冲突和革命性变革。 在大冲突时期有一种趋势,即走向更专制的领导,导致原有世界秩序混乱。 典型的萧条期现象 专制、民粹主义和民族主义:在经济极度紧张的时期,转向更加专制、民粹主义和民族主义的领导人和政策是很典型的,因为人们希望强有力的领导能给混乱带来秩序,并强有力地对付外部敌人。 扩张的货币政策:通货紧缩或者萧条是由于债务人手中没有足够的钱来偿还债务而导致的危机。这不可避免地...
MySQL pitfalls 与配置札记(2018-2021 札记整合)
一、SQL 语义陷阱 引号的方言差异 标准的 SQL 中只允许用单引号表达字符串类型。有些 SQL 方言允许使用双引号包裹字符串,如 MySQL,有些则不允许,如 Oracle。 反引号是专门用来表达 identifier 的。 字符串与数字的隐式转换 pitfall Data truncation: Truncated incorrect 不要小看 MySQL,它出 warning 就一定有错误。 不要滥用 MySQL 字符串到decimal,和 decimal 到 string 的转换。这样有时候 MySQL 不只是 warning。 二、存储引擎对比 参考:https://www.zhihu.com/question/20596402 MyISAM 与 InnoDB 的区别 InnoDB 支持事务,MyISAM 不支持事务。这是 MySQL 将默认存储引擎从 MyISAM 变成 InnoDB 的重要原因之一; InnoDB 支持外键,而 MyISAM 不支持。对一个包含外键的 InnoDB 表转为 MYISAM 会失败; InnoDB 是聚集索引,MyISAM ...










