烂片有烂片的看法

每个周六,如果没有事情出去的话基本要在电脑上做两件事情,一是看看《南方周末》等报纸杂志的电子版,二是看看最近 BT 来的一些电影。

今天很有幸,又看了一部烂片子《葬礼揸Fit人》(《龙头葬礼》)。港产电影的剧本似乎可以好几家共用的,这个《葬礼》和最近的那部《兄弟》大情节有很多相似之处。导演也不说考虑一下大陆观众,「揸Fit人」这词谁懂啊?查了半天才知道大致是「话事人」、「总瓢把子」的意思。演员莫名的神经兮兮,情节也莫名的不合常理。看港产片子容易产生审美疲劳,翻来覆去就是那几个演员,本片居然看到了好几个还不那么熟悉的面孔,扮演兄弟的那个貌似林志颖,表演那不是一般的生硬,下次建议导演来大陆招几个演员算了。

说烂片有烂片的看法,主要是里面的一些场景和台词挺有意思。来参加葬礼的世界各地老大,无论哪个人怎么看都不像个老大的样子,倒好象来香港的游客跑了个龙套。那个帮会是「红」字头的,那个兄弟,叫做「家宝」,帮会老大去世后,下面的兄弟们准备「选举」;四个老头子自持资格老,开始底气很足,没过一会儿就临阵倒戈,这些似曾相识的情节会让人联想许多。记得的台词有:「一个人是斗不过社团的,社团斗不过政府,政府最大」。

接下来看疑似烂片的《神枪手与智多星》,第一句记得的有趣台词是:

时代进步了,黑社会不能再存在了
--帮会老大校长深沉的说

烂片的另一个作用是消磨时间

EOF

终极数据库恢复工具 AUL 升级:支持压缩表

国内数据库技术牛人, Oracle ACE Fangxin Lou 自行开发的 AUL 最近有了一次比较重要的升级:支持压缩表。有趣的是,据他自己说是经过了 20 分钟的发呆 想到的解决方法。很多人都知道 Oracle 的 DUL(Data Unloader) 是数据恢复的最后一招,一般来说是密不可宣的,一旦给用户恢复数据则代价昂贵,而 AUL 则平民化了许多,虽然不是开源的,但是国内用户如果使用的话,基本还是不收费用的(功能还毫不逊色)。

Lou 最近也作了一次 AUL/MyDUL发展历史回顾, 这个工具都三岁了。难得的是坚持,这一点我很服气他。

关于 AUL 更多信息可以参考他为推广 AUL 而做的 英文 Blog
EOF
BTW: 鲜果上我的BLOG验证代码: BANG1F1D675F0C335CE77C173BA6XIANGUO

eBay 的数据层扩展经验

对于 eBay ,我盲人摸象一样写了好几篇 Blog ,暂列一下:

今天又重新读了一下这篇《The eBay Architecture –Striking a balance between site stablility, feature velocity, performance, and cost》,觉得数据层的扩展经验也很有意思。

通过功能划分不同数据库,然后根据主要访问路径水平分割数据库。这句话太空了,类似 MySQL DB 大家常采用的 Shard 思路。

减小 DB 资源开销

数据库上没有业务逻辑。这包括:不用存储过程; 只有少量比较简单的触发器。
把CPU 开销比较高的工作迁移到应用上。这包扩:参考完整性检查(嗯,检查一下你的 DB 是否再用外键? ); 连接(Join), 排序。
应用服务器尽量 Prepared 语句以及绑定变量的广泛使用。

最小化 DB 事务

自动提交(Commit)大多数主要的数据库写操作。
客户端绝对没有事务(业务逻辑) 。这包括: 单个数据库通过匿名 PL/SQL 块进行事务管理; 没有分布式事务。对于”事务”, 相关信息可以从 eBay 首席架构师 Dan Pritchett 的访谈得到确认。没有事务更没有分布式事务这一点比较关键,这也是因为 eBay 的商业逻辑天然性质(否则也不容易做),所以可以做到 Scale Out,而最近了解到 Paypal 则因为交易逻辑比较复杂,只能是 Scale Up. Paypal 的技术信息一向比较封闭,谁能告诉我一点额外的信息呢?

EOF

About Oracle 10g/11g AWR

Oracle 10g 开始 引入了AWR (Automatic Workload Repository). Oracle 建议用户用这个取代 Statspack。不过这个需要注意的是使用 AWR 需要有 Diagnostic Pack License。Oracle 后来推出了一个解决方案可以禁止掉该特性。

在 Note. 436386.1 有说明:

SQL> @dbms_awr.plb

然后执行:

dbms_awr.disable_awr();

如果用 sys 之外的用户创建 AWR 报告,则需要进行合适的授权。否则会报告错误 PACKAGE 执行错误。

CONNECT / AS SYSDBA;
GRANT ADVISOR TO foo;
GRANT SELECT_CATALOG_ROLE TO foo;
GRANT EXECUTE ON sys.dbms_workload_repository TO foo;

注意 Bug 4597354 在创建基线数据的时候,对性能有很大影响。在一个非常繁忙的系统上不要进行此操作。

如果结合企业管理器用 AWR 是很方便的,如果用手工方式收集性能数据,多了很多可供调整的地方,是更加方便了呢?还是更加麻烦了?

EOF