Rumah >pangkalan data >tutorial mysql >Jame’s Reading 09-10
Scalability 也即 扩展性 http://t.cn/z8wbRUs Reddit 系统扩展的经验与教训,1. 尽可能的自动化,2. 没必要一开始即构建可扩展的架构,3.不要在刚开始时构建SOA的架构,4.可扩展的关键是在用户感知到瓶颈之前解决掉扩展性的问题,5. 视SSD为便宜的内存,而不是昂
http://t.cn/z8wbRUs Reddit 系统扩展的经验与教训,1. 尽可能的自动化,2. 没必要一开始即构建可扩展的架构,3.不要在刚开始时构建SOA的架构,4.可扩展的关键是在用户感知到瓶颈之前解决掉扩展性的问题,5. 视SSD为便宜的内存,而不是昂贵的硬盘,6. 每种工具都有其对应的场景,合适的工具用在合适的地方.
http://t.cn/z8wheDy 可扩展性的问题. 从并发连接的角度阐释扩展性的概念, 对于单个请求时间很短, 但需要大量长连接的业务, 基于进程/线程模型的系统(Apache , Oracle Dedicated模式)在处理大量请求时, 扩展性表现较差; 而基于Event驱动的系统(Nginx/Oracle MTS/MySQL)的表现就会好很多.
http://t.cn/zTc4oZu 扩展性与性能并不是一对冤家. 现阶段, 对于扩展性的关注远远超过对于性能的关注, 有很多人觉得只要解决好扩展性即OK了, 也就是只要将关键共享资源拆分掉就可以了. Theo驳斥了这种说法, 1. 当前很多系统提升一倍性能不是难事, 2. 节约一半的服务器, 可以节约掉很多隐性成本.
http://t.cn/z8Zefs6 2x2x2 Requirements for Database Scalability, 关于数据库扩展性的简要介绍, 2*2*2的说法比较有意思, 第一个2: 水平扩展/垂直扩展, 水平扩展通过复制与拆分实现,垂直扩展通过数据库内存化(In Memory DB)以及快速持久化(RDMA网络或者NVM来实现).
http://t.cn/zQ0L5q1 20 Obstacles to Scalability 【By Sean Hull】实现系统扩张性(Scalability)的20个障碍,这个内容此哥们已经重复多次, 这次做了一个整合,算是比较完整,也值得参考。唯一不认同的点是,多次使用at all costs,这是一种不理智的态度,但是,却是需要慎重考虑的。
http://t.cn/z8iuiqJ Scaling out and creating fault tolerant systems with MySQL replication , 如何通过MySQL复制实现Scale out的可容错的系统, 名称很吓人, 主要三点内容: 1. 主备拓扑结构管理, 主备自动切换(MHA), 2. 请求的负载均衡与连接池管理, 也即大部分数据库中间件做的主要事情(如TDDL)
http://t.cn/zY8W7V3 可接受的响应时间,1.页面响应时间没有行业标准,2. 关于人机交互的时延,有认知科学的结论,人感知不到1/4秒以内的差距,3. 8秒钟响应的规则过于简化了,4. 用户不再接受所谓的平均响应时延,5. “4秒钟规则”或许无法描述用户用户体验,6. 期望与体验的关系决定了用户的满意度
http://t.cn/z861NpO 性能反模式,1.在项目结束时才去修复性能问题,2.度量并修复错误的指标,3. 忽视算法的作用,4. 集中关注自己能看到的东西,而不是根本的问题,5. 软件层次太多,6.过量的线程, 7.硬件使用不均衡,8.在CPU之间做无效的数据拷贝,…
http://t.cn/zO3hEPD Godaddy使用Cassandra作为其Session Store,1. 使用A/B集群来提升集群升级的处理,2. 协作开发ASP/ASP.net 的协议来访问,提供连接池、压缩、配置管理等特性,3. 在Cassandra支持TTL功能之前,通过设置人工的第二索引来做Expire Session的清理工作。
http://t.cn/z8Mo36p 为什么Cassandra不需要(使用)Vector clocks By Jonathan Ellis ,看完,感觉Jonathan基本讲明白了Vector clock的问题,1. 性能问题(读,反序列化,序列化,写),2. 数据的多版本,3. 可以帮忙找到不一致,如何解决,还得用户自己来。但是,对于Cassandra为啥不需要我没看明白
http://t.cn/zQHfmu8 NUMA (Non-Uniform Memory Access): An Overview, Numa概念的总体介绍, 1. Numa只对内存访问密集型业务有好处, 2. node local与interleave之间的差异, 3. Linux如何处理进程的Numa内存分配, CPU调度如何优化Numa相关的进程, 4. 常用的Numa相关工具,numactl/numastat/numa_maps
http://t.cn/z8UpsOZ 对于时间序列的数据存储来讲,TokuDB要明显优于InnoDB, 无论从数据加载时间, 还是数据的压缩效率上来讲, 都有好几倍的优势.
http://t.cn/z8w7lkU LinkedIn新近在Apache开源了其流处理平台(Stream Processing System). Apache 地址: http://t.cn/zQDVp4j
http://t.cn/zQS7y8k oratop from MOS (帖子原文), MOS(Oracle Support)的地址: oratop – utility for near real-time monitoring of databases, RAC and Single Instance (Doc ID 1500864.1)
http://t.cn/zQa8Mz1 分布式一致算法与Raft, Riak的人介绍基本的分布式一致性, Data Loss的几种可能, 以及强同步情况下, 一致性与可用性的权衡, 最后介绍Raft的算法, 以及他们基于Erlang语言的实现.
http://t.cn/z8L4VyC 在排队的时候, 为什么自己所在的队列走的更慢. 本文从人的认知偏见等心理学因素上对此进行了解释.
http://t.cn/z8ij2nc 性能相关的书籍. 这篇文章里面收集了大量的各个领域与性能有关的书籍, 自然也包含很多我喜欢的书籍. Neil Gunther与Daniel A. Menasce写的容量规划系列的书,Connie U. Smith写的性能工程书籍, Brendan Gregg的性能分析系列,Martin L. Abbott 写的架构设计原则系列的书.
http://t.cn/zQDqCyQ 如何通过修改SQL语句中的一行,提升100倍的查询效率。我早期进入Oracle Database这一行,也是因为类似的案例。最初写的一个比较差劲的SQL语句,第一次运行耗时13个小时,经过优化,最后运行23秒左右搞定。
#oracle tips# http://t.cn/zQHHGIa 如何有效的kill一个session, ALTER SYSTEM DISCONNECT SESSION ‘sid,serial#’ (immediate|POST_TRANSACTION). 找个时间验证下, 由于kill session的问题,咱还背过一个大的故障呢, session kill了,process却没有干掉,导致max process报错了.
http://t.cn/zQl4dM4 The top 5 proactive measures to minimize MySQL downtime 1. 维护经过验证的备份,2.构建冗余组件以应对单点故障,3.变更都要经过验证,并有回滚计划,4.验证复制/副本的有效性,5.做好监控与趋势分析,提及的几个监控项比较实用。
http://t.cn/zQYU2X1 Facebook的MySQL工程师 domas mituzas 探讨Durablity的问题。总体而言,Durability是关于权衡的艺术,而在MySQL中,为了实现持久性,付出的代价是相当高昂的,3次FSync操作才能确保一个事务的持久性。而MySQL主备的可靠性设计还不够安全(Crash-Sage),5.6已经有了较大改善。
http://t.cn/zQa8KMi The Antifragile Organization(反脆弱的组织), Netflix的Ariel Tseitlin介绍他们在Netflix的高容错系统设计, 对与Failure的态度, 如何处理Failure, 如何做设计规避Failure带来的问题. 后面是从各个可能带来Failure的维度, 从系统层面做Fault Tolerance的设计.
反脆弱的概念因此塔勒布的新书《反脆弱》。Netflix介绍他们的Simian Army系列的捣蛋鬼(monkey)系列(Chaos Monkey,Latency Monkey…..),基本设计思路为:1. 通过冗余来设计具有容错能力的应用,2. 通过构造故障来降低不确定性
故障Review的几个关键问题,1.哪里出故障了? 2.如何快速发现此故障?3.如何避免此故障的再次发生?4. 如何避免这一类故障的再次发生?5. 如何提升我们下次处理此类故障的效率? By Jeremy Edberg, Reliability Architect, Netflix
在一个没有市场的社会中,竞争也是层出不穷的,只不过竞争的形式有所不同罢了.弱肉强食是竞争,权力斗争是竞争,走后门、论资排辈,等级特权等等,都是竞争形式.道理明确:凡是多过一个人需求同一经济物品,竞争必定存在. 摘自张五常《经济解释:科学说需求》第二章结尾。
尽管报复会带来许多伤害(经历过反目成仇或者艰难离婚的人应该明白我说的是什么),我还是要说报复的威胁–即使人们要付出巨大的代价–能够成为维护和支撑社会秩序有效的强制机制. 我并不主张”以眼还眼,以牙还牙”,但我猜测,报复的威胁总的来说是具有一定功效的. 摘自丹.艾瑞里《怪诞行为学》第5章.
对出现在我们面前的所有假说进行最具怀疑性的审查,与此同时对新思想最大限度地保持开放心态。如果你…没有一丝怀疑,那么就无法分辨有用的思想与没有价值的思想.如果所有思想都具有同等的有效性,那么你就失去了自我,因为那样..根本没有什么思想是有效的. 摘自《误区:思维中常犯的6个错误》54页.
1. 我们对某一事物付出的努力不仅给它带来改变, 也改变了自己对它的评价, 2. 付出越多, 产生的爱恋越深, 3. 我们对自己的作品估价过高, 这一偏见深入骨髓, 误以为别人也和我们的看法相同, 4. 如果付出巨大的努力仍然没有获得成功, 我们就不会感到过多依恋. 摘自丹.艾瑞里《怪诞行为学》
如果你在心仪的人追你的道路上设置一些障碍让他们追得更辛苦,他们一定更加珍惜你.从另一方面说,如果你把他逼到绝境还一个劲儿地拒绝他们, 那你就别指望说”我们直做朋友”. 摘自 丹.艾瑞里 《怪诞行为学》.
努力提高”中国制造“的技术含量,这是目前我们公共政策的主要方向。不严厉压缩权力寻租在租值中的比重,我认为是不可能实现这一转型的。在这一意义上,政治体制改革远比经济体制改革更紧迫。或者说,如果不改变政治运作的方式,任何显著有效的经济体制改革已经不再可能了。丁丁《行为经济学讲义》97页
“哈耶克说:一个伟大社会的制度特征,就在于他鼓励一切个体在一切可能的方向上探索,因为我们不知道未来可能的降临的灾难中,哪一个方向的探索可以拯救我们全体;拯救我们的英雄,由于大自然和我们生存环境的不确定性,必须是匿名的--于是只能鼓励一切方向的探索。“-汪丁丁《行为经济学讲义》93页
如果你有生活常识,那么你学习理论的时候就会不断回到你的常识,你会发现问题-要么是理论自身的问题,要么是常识的表达问题。生命体验是真实的,生命之树常青。所以,知识永远是知识过程,不是静止的一堆概念,知识过程是与你的人生体验纠缠在一起的,体验的丰富和深刻,使你的知识变得丰富和深刻。
柏格森(Henri Bergson)认为, 概念就是用来涵盖生命体验的, 如果你使用一个概念而毫无生命体验, 这概念对你而言就是苍白的, 它毫无意义, 你不曾为它的任何部分感动过. 摘自 汪丁丁 《行为经济学讲义-演化论的视角》
社会发展依赖于个体的创造性,因为创造是个体的事情. 可以个体创造精神需要社会的宽容,宽容又是整体的性质, 没有宽容, 个体自由也就消失了. 所以, 自由是整体的, 创造是个体的. 摘自: 汪丁丁 《行为经济学讲义》 第102页。
感激与承情虽然都是人因接受了某种帮助而产生的“情感”(emotions),但性质并不相同。一个人接受帮助或赠与后,感觉到承情是一种负债的感觉,帮助者或赠与者也希望他有这样一种感觉,会不断提醒他,一再要求他应该“感恩”或“知恩图报”,否则就是“不知感激”、“没良心”或者“忘本”。By 徐贲
http://t.cn/z8iFq1R 极权主义制造恐惧技术的最大特点是利用不确定性,只有这种不确定性才能造成恐惧效应的扩大。同时,也只有不确定性才能形成你内心的自我约束和自我审查。而不确定性起作用的条件,就是权力的总体性和任意性。任意性才能造成不确定性,而总体性才能扩大任意性的空间。
Related posts:
原文地址:Jame’s Reading 09-10, 感谢原作者分享。