Archive

Archive for December, 2009

转:管仲买鹿与多晶硅的死亡

December 24th, 2009

管仲买鹿与多晶硅的死亡

管仲求鹿于楚:打响世界历史上第一场“经济战”

《管子·轻重》中记录了这么一个故事,如果这个故事属实的话,那么管仲或许称得上是世界上第一个发动“经济战争”的高手,实施经济杯葛主义(boycott)的大国领导人—— 齐桓公把南方的楚国看成王霸事业上的“假想敌”,整日里都在琢磨如何削弱楚国。

  但楚国的军事战斗力很强,这让齐桓公头疼。他问管仲:“楚国是一个強国,其人民精通格斗的技巧。我们要举兵讨伐楚国,恐怕力不从心。一个楚国就很麻烦了,以后的路该怎么走?”

  管仲说:“大王您出高价购买楚国特产的鹿吧。这一招准管用。”齐桓公于是在与楚国交接的边境上设立了一座小城,并派人到楚国购买活鹿。

  楚国活鹿的价格为八万钱一头,管仲让齐桓公派中大夫王邑带了二千万钱去楚国大肆搜购。

  楚王听说了这件事情,乐了,对其宰相说:“那个钱,是人都喜欢的,也是国家赖以生存的东西。而鹿,不过是禽兽而已,楚国多的是,即使都不要也无所谓。现在齐国出那么多钱来买我们不需要的东西,这是我们楚国的福气啊!老天让齐国这个傻冒来便宜我们,太好了!赶快发布命令,让老百姓赶紧捕捉活鹿,尽快把齐国手上的钱换过来!”

  为炒做这一事件,管仲还煞有介事地对来自楚国的官方采购商人说:“你能给我弄来二十头活鹿,我就赏赐你黄金百斤;弄来二百头,你就可以拿到千斤黄金了。楚国就算不向老百姓征税,财用也够了。”

  于是楚国上下都轰动了:无论官方还是民间,无论男女老少,全都来劲了,颇有点今天“全民炒股(或炒房)”的意味。老百姓都放下手头的农活,漫山遍野地去捕捉活鹿。

  这个时候,管仲让大臣隰朋悄悄地在齐、楚两国的民间收购并囤积粮食:楚国靠卖活鹿赚的钱,比往常多了五倍;齐国收购囤积的余粮,也比往常多了五倍。

  于是,管仲对齐桓公说:“好了,这下我们可以安心去攻打楚国了!”

  齐桓公问:“为什么?”

  管仲回答:“楚国拿了比往常多五倍的钱,却误了农时,粮食又不可能几个月时间就可以收割的,楚国到时候一定会去收购粮食的。到时候我们封锁边境就行了。”

  齐桓公恍然,于是下令封闭与楚国的边境。结果楚国的米价疯涨,楚王派人四处买米,都被齐国截断,逃往齐国的楚国难民多达本国人口的十分之四。楚国元气大伤,三年后向齐国屈服。

话说现代,德国为首的欧洲国家喜欢搞太阳能发电,而太阳能电池的生产是属于三高,高耗能,高污染,高投入,德国人不干,丹麦人也不干,于是找到中国人,中国人说,污染?管他呢,我只要钱不要命。于是中国人干了。而太阳能电池的关键材料多晶硅的生产技术掌握在德国西门子等公司手里,中国人除了进口多晶硅,就是求西门子们出口技术,其他别无选择。
这是一个三头在外的产品:市场在外,原材料在外,技术在外,而德国刚刚开始故意以政府补贴的方式鼓励太阳能的使用,因此中国赚了点搬运费和人工钱,无非是拿多晶硅到国内加工一下,出口到德国等欧美国家。
等到中国方面大规模投入太阳能生产,包括多晶硅的生产的时候,德国突然取消了政府补贴,中国的太阳能电池变成了一堆垃圾,多晶硅也由400多美元一公斤直线下跌到70美元一公斤还没有人要的地步。
多晶硅由市场的宠儿变成了地摊上的打折货。
完美!现代版的洋管仲横空出世,中国人除了留下大量污染之外,还留下了不得不化高额外汇进口的一大堆废铜烂铁机器。

IT

新型政治工具-网络舆论整人

December 20th, 2009

最近看了”内蒙古开豪车女检察长”新闻,我对这类新闻比较敏感,缘于我出自法律专业,也源于我对网络政治的敏感性。

从政治上讲,她是不幸的。被一些别有用心的,对方用很低的政治成本轻松地把对手给搞跨。

网络黑社会原来这样强大:)

在此声明一下:我不讨论案件真实性与实质案情的复杂情况,我只讨论与分享我对中国未来历史发展进程的一些想法。“网络黑社会”利润相当惊人,为什么现在有些人也打出了一些明号:“打击网络黑社会”,其实他们害怕了,有点免死狗烹了:)

中国法律体制设计是相当有意思的,之前我谈过一个观点:“良好的政治架构是要允许腐败存在的”,因为他是把双刃剑!在当今的新传媒时代,副部长以下的官员被整的机率比富商与高级别官员要大得多,因为把他们搞下来的政治与经济成本很低。看来地方的小官在未来几年得加倍小心。树强敌的代价太大!!!弄不好进局子了。

杀人做为报复是最傻的一种方式,摧毁对方自以为豪的地方是最大的对敌有效打击!

IT

构建高性能的SNS网站架构

December 14th, 2009

满足极高读写性能需求的Key-Value数据库

高性能Key-Value数据库的主要特点就是具有极高的并发读写性能,Redis,Tokyo Cabinet, Flare,这3个Key-Value DB都是用C编写的,他们的性能都相当出色,但出了出色的性能,他们还有自己独特的功能:

1、Redis
Redis是一个很新的项目,刚刚发布了1.0版本。Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过10万次读写操作,是我知道的性能最快的Key-Value DB。

Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存List链表和Set集合的数据结构,而且还支持对List进行各种操作,例如从List两端push和pop数据,取List区间,排序等等,对Set支持各种集合的并集交集操作,此外单个value的最大限制是1GB,不像memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能,比方说用他的List来做FIFO双向链表,实现一个轻量级的高性能消息队列服务,用他的Set可以做高性能的tag系统等等。另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一个功能加强版的memcached来用。

Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,并且它没有原生的可扩展机制,不具有scale(可扩展)能力,要依赖客户端来实现分布式读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。目前使用Redis的网站有github,Engine Yard。

2、Tokyo Cabinet和Tokoy Tyrant
TC和TT的开发者是日本人Mikio Hirabayashi,主要被用在日本最大的SNS网站mixi.jp上,TC发展的时间最早,现在已经是一个非常成熟的项目,也是Kye-Value数据库领域最大的热点,现在被广泛的应用在很多很多网站上。TC是一个高性能的存储引擎,而TT提供了多线程高并发服务器,性能也非常出色,每秒可以处理4-5万次读写操作。

TC除了支持Key-Value存储之外,还支持保存Hashtable数据类型,因此很像一个简单的数据库表,并且还支持基于column的条件查询,分页查询和排序功能,基本上相当于支持单表的基础查询功能了,所以可以简单的替代关系数据库的很多操作,这也是TC受到大家欢迎的主要原因之一,有一个Ruby的项目miyazakiresistance将TT的hashtable的操作封装成和ActiveRecord一样的操作,用起来非常爽。

TC/TT在mixi的实际应用当中,存储了2000万条以上的数据,同时支撑了上万个并发连接,是一个久经考验的项目。TC在保证了极高的并发读写性能的同时,具有可靠的数据持久化机制,同时还支持类似关系数据库表结构的hashtable以及简单的条件,分页和排序操作,是一个很棒的NoSQL数据库。

TC的主要缺点是在数据量达到上亿级别以后,并发写数据性能会大幅度下降,NoSQL: If Only It Was That Easy提到,他们发现在TC里面插入1.6亿条2-20KB数据的时候,写入性能开始急剧下降。看来是当数据量上亿条的时候,TC性能开始大幅度下降,从TC作者自己提供的mixi数据来看,至少上千万条数据量的时候还没有遇到这么明显的写入性能瓶颈。

这个是Tim Yang做的一个Memcached,Redis和Tokyo Tyrant的简单的性能评测,仅供参考

3、Flare
TC是日本第一大SNS网站mixi开发的,而Flare是日本第二大SNS网站green.jp开发的,有意思吧。Flare简单的说就是给TC添加了scale功能。他替换掉了TT部分,自己另外给TC写了网络服务器,Flare的主要特点就是支持scale能力,他在网络服务端之前添加了一个node server,来管理后端的多个服务器节点,因此可以动态添加数据库服务节点,删除服务器节点,也支持failover。如果你的使用场景必须要让TC可以scale,那么可以考虑flare。

flare唯一的缺点就是他只支持memcached协议,因此当你使用flare的时候,就不能使用TC的table数据结构了,只能使用TC的key-value数据结构存储。

二、满足海量存储需求和访问的面向文档的数据库:MongoDB,CouchDB

面向文档的非关系数据库主要解决的问题不是高性能的并发读写,而是保证海量数据存储的同时,具有良好的查询性能。MongoDB是用C++开发的,而CouchDB则是Erlang开发的:

1、MongoDB
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

Mongo主要解决的是海量数据的访问效率问题,根据官方的文档,当数据量达到50GB以上的时候,Mongo的数据库访问速度是MySQL的10倍以上。Mongo的并发读写效率不是特别出色,根据官方提供的性能测试表明,大约每秒可以处理0.5万-1.5次读写请求。对于Mongo的并发读写性能,我也打算有空的时候好好测试一下。

因为Mongo主要是支持海量数据存储的,所以Mongo还自带了一个出色的分布式文件系统GridFS,可以支持海量的数据存储,但我也看到有些评论认为GridFS性能不佳,这一点还是有待亲自做点测试来验证了。

最后由于Mongo可以支持复杂的数据结构,而且带有强大的数据查询功能,因此非常受到欢迎,很多项目都考虑用MongoDB来替代MySQL来实现不是特别复杂的Web应用,比方说why we migrated from MySQL to MongoDB就是一个真实的从MySQL迁移到MongoDB的案例,由于数据量实在太大,所以迁移到了Mongo上面,数据查询的速度得到了非常显著的提升。

MongoDB也有一个ruby的项目MongoMapper,是模仿Merb的DataMapper编写的MongoDB的接口,使用起来非常简单,几乎和DataMapper一模一样,功能非常强大易用。

2、CouchDB
CouchDB现在是一个非常有名气的项目,似乎不用多介绍了。但是却对CouchDB没有什么兴趣,主要是因为CouchDB仅仅提供了基于HTTP REST的接口,因此CouchDB单纯从并发读写性能来说,是非常糟糕的,这让我立刻抛弃了对CouchDB的兴趣。

三、满足高可扩展性和可用性的面向分布式计算的数据库:Cassandra,Voldemort

面向scale能力的数据库其实主要解决的问题领域和上述两类数据库还不太一样,它首先必须是一个分布式的数据库系统,由分布在不同节点上面的数据库共同构成一个数据库服务系统,并且根据这种分布式架构来提供online的,具有弹性的可扩展能力,例如可以不停机的添加更多数据节点,删除数据节点等等。因此像Cassandra常常被看成是一个开源版本的Google BigTable的替代品。Cassandra和Voldemort都是用Java开发的:

1、Cassandra
Cassandra项目是Facebook在2008年开源出来的,随后Facebook自己使用Cassandra的另外一个不开源的分支,而开源出来的Cassandra主要被Amazon的Dynamite团队来维护,并且Cassandra被认为是Dynamite2.0版本。目前除了Facebook之外,twitter和digg.com都在使用Cassandra。

Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能是比较简单的事情,只管在群集里面添加节点就可以了。看到有文章说Facebook的Cassandra群集有超过100台服务器构成的数据库群集。

Cassandra也支持比较丰富的数据结构和功能强大的查询语言,和MongoDB比较类似,查询功能比MongoDB稍弱一些,twitter的平台架构部门领导Evan Weaver写了一篇文章介绍Cassandra:http://blog.evanweaver.com/articles/2009/07/06/up-and-running-with-cassandra/,有非常详细的介绍。

Cassandra以单个节点来衡量,其节点的并发读写性能不是特别好,有文章说评测下来Cassandra每秒大约不到1万次读写请求,也看到一些对这个问题进行质疑的评论,但是评价Cassandra单个节点的性能是没有意义的,真实的分布式数据库访问系统必然是n多个节点构成的系统,其并发性能取决于整个系统的节点数量,路由效率,而不仅仅是单节点的并发负载能力。

2、Voldemort
Voldemort是个和Cassandra类似的面向解决scale问题的分布式数据库系统,Cassandra来自于Facebook这个SNS网站,而Voldemort则来自于Linkedin这个SNS网站。说起来SNS网站为我们贡献了n多的NoSQL数据库,例如Cassandar,Voldemort,Tokyo Cabinet,Flare等等。Voldemort的资料不是很多,因此没有特别仔细去钻研,Voldemort官方给出Voldemort的并发读写性能也很不错,每秒超过了1.5万次读写。

从Facebook开发Cassandra,Linkedin开发Voldemort,我们也可以大致看出国外大型SNS网站对于分布式数据库,特别是对数据库的scale能力方面的需求是多么殷切。前面提到,web应用的架构当中,web层和app层相对来说都很容易横向扩展,唯有数据库是单点的,极难scale,现在Facebook和Linkedin在非关系型数据库的分布式方面探索了一条很好的方向,这也是为什么现在Cassandra这么热门的主要原因。

IT, 运维, 集群-Cluster

我最喜欢听别人对我说的话排行榜

December 12th, 2009

1.我最喜欢你的自信!(初次听到于02年,影响我一生)
2.我希望你永远充满勇气!(初次听到于09年,让我重新燃烧激情)

3.你行的!
4.你是最棒的!
5.加油! (听到比较多的)

IT

现代政治经济-什么样的房价是最合理的政绩指标?

December 11th, 2009

按所在的地区年均收入100倍~150倍是比较合理的区位

以中国的北京来讲,北京的房价如果我们说北京居民年均收入10万来讲,正确的治国房价控制在100~150万之间波动.(100平左右),阶段性房价在200~400万之间特定时期也是种政治策略,就像股票一样迅速拉高:) 但这个价格维持不了多长时间的,因为反作用会相当大,最终还得回落在100~150万这间波动。这个过程叫做政绩:)

反之,如果中国的北京房价控制在40~80万之间,相反会出更多的问题。因整体文化、宗教、传统等历史原因,人在解决基本的吃住问题以外,精神生活得不到较合理的控制与引导,人们在精神生活领域的消费不符合科学的发展观,与其让民众随便花钱,还不如让民众主动存钱,高房价是帮国民把钱合理引导花费的方式!

这个标准特别适合一些国家民智未开,民风未正,整体国民素质不高,资源不可再生的情况下治国之策!

IT, 人生, 哲学, 大洪天下, 政治, 洪建家假设学说, 经济

政治学说:土地是最好用的统治工具

December 10th, 2009

自从人类从游牧转变成集体群居以来,土地的固定性、不可移动性决定其在人口密集时资源的价值。

从土地演变出来有农田,房产,这两件因素直接关系人最基本的生活与生产资料。

纵观几千来人类政治史,每个朝代的更换无非都跟土地有着紧密关系。故在相对和平时期,投资这两块绝对是暴利产业。

政体演变总是进步的,高明的政体组织不会直接去控制一手土地资料,而通过其底下的所控制机构间接控制土地和土地基础上的增值物。(房产、商业街道,高地价的地方商品流动过程中会很繁华,相应的税收占的比例就会相当高)

这是最直接,最有效的国家收入来源,反映政体的财政目的。而财政又是唯一维护其统治的经济基础。

21世纪统治阶级统治手法:

大家知道,在以前的君主制国家或是封建制国家里头,最高统治阶级是这样来控制整个社会的,分发给有功的群体,再由这些群体分发底下的一些地主之类的,最终由地主等群体直接控制最低层的被统治阶级。

那么现在统治阶级的更高层的统治策略是怎样子呢?

现代统治之财政直接目的:尽力压榨被统治阶级所产生的剩余价值。(洪建家-《现代政治学说-财政篇》)

现代政治之财政表现形式:通过附加在土地上的流动物所产生的价值获取高额剩余价值

现代政治之财政具体表现:通过控制土地第一手价格,以金融财政工具为手段,间接提高被统治阶级物质与精神需求成本。被统治阶级为了获得其物质与精神上的需求,必然会节约其它消费,把钱存进银行,银行就相当于直接控制被统治阶级所产生的所有的剩余价值。而现代大多数政体的金融工具(银行等)又是被其统治阶层所控制的。当统治阶级通过各种方式把需求成本提高至被统治阶级国民年均收入成本100倍或是1000倍时,国家相当于直接压榨几代人所产生的剩余价值。有些可能是超负债形式存在。

那么现代化社会中的政体演变会如何?

阶级永远存在竞争关系,当被统治阶级无法维持其安全感时,社会就会发生由量变发展质变暴动,新一轮政体就会替代原有的政体。

当大多数人解决吃饭问题以后,下一步应是追求更高的物质生活与基础精神生活需求。

当大多数人解决中层意义上的物质需求时候,下一步必然在高级精神生活有必然需求。

矛盾会在这一时刻开始爆发。政体开始慢慢内部瓦解,新一轮政体制度将慢慢演变。。。

人生, 哲学, 大洪天下, 政治, 洪建家假设学说, 经济