Monthly Archives: February 2012

makdown书写测试

什么是Markdown? Markdown is a lightweight markup language, originally created by John Gruber and Aaron Swartz allowing people “to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML)”. The language takes many cues from existing conventions for marking up plain text in email. Markdown的特点: 简单,纯文本保存,可以使用任何你喜欢的编辑器 直观,所采用的标记符合文本文件记录信息的习惯 便于转换:Markdown设计成很方便的转换成html文件,除了原作者提供的markdown.pl之外,有很多其他实现 在Wordpress中使用Markdown [...]

从DBA到DA看IT技术和数据的价值

原文:ITPUB名人堂第16期支付宝数据平台负责人、知名DBA专家冯春培先生分享自己的职业之路 下面是精彩内容的节选: 1. DBA角色的变迁 作为DBA带给企业的是业务的快速响应和稳定,同时为了身后的同事们的发展以及和企业需求之间想结合,我们开创了几种岗位角色和发展路径,一开始是开发 DBA和产品DBA 然后开发DBA逐步不满足于遵循基本规范和解决SQL性能问题,要求线上处理,希望自己是整条业务线的数据的Owner,于是扩展工 作范畴之后更名应用DBA。 而产品DBA当失去Schema和数据的处理工作之后觉得挺失落,除了加加数据文件和巡检之外,似乎没多少事情可做了,于是努 力的拓展数据库和硬件之间的定制、优化,结合应用特点做定制化解决方案,于是就有了数据库架构师的角色。 当硬件和系统本身无论如何提升,应用无论如何设计和优化都满足不了业务的高增长的时候,水平拆分、垂直拆分应声而出,系统多了之后交互量很庞大,预测业务增长做好规划,于是催生了数据架构师的角色。 但在思考自己提供的价值之后,我认为自己应该更好地拓展,所以后来到支付宝负责数据平台,技术上解决大数据的计算、存储,应用上需要拓展各种有价值的数据 产品,从支撑业务发展到驱动业务发展,进入到企业核心价值链上,这是我到支付宝后给自己新的目标。 目前真正让数据创造价值的企业并不多,我们也是践行者, 希望在这条路上也同样带给后来者一个清晰的路径。 2. 如何看数据库的技术 所以我更主张大家透过现象去看技术的实质,研究各种技术的特点背后的优劣到底是怎么回事,这样才有自己的看法。Oracle、mysql、nosql都是 一些具体的数据管理的表现形式,他们主要面对什么客户、解决什么问题、带来什么价值,看透了这些,我们就不会被表象所牵引。 3. DBA的前景 我们不会有人希望凭借一招技术本领吃一辈子吧?关键是得不断地思考自己给企业创造什么价值,自己需要寻找什么样的环境来帮助自己提升。 像我自己2004年 到阿里巴巴,找到一个快速发展并且很重视数据的公司,那不是来自我的英明而的确是运气。现在互联网这么发达,交流机会这么多,年轻人需要更多的努力和思 考,在市场中去寻找自己的位置。 你无法指望仅仅是好运,即使我当初运气好,但持续走到现在也是我个人努力的结果,相信即使不在阿里巴巴,我也会发展的很 好。所以我认为,大家如果从思考DBA过渡到思考DA(data administrator),你的前途会更光明。

oracle全文索引测试

指定词法分析器lexer –chinese_lexer对中文的分词效率较高,但数据库的编码必须是UTF8 SYS@orcl>exec ctx_ddl.create_preference(‘my_lexer’, ‘chinese_lexer’); 创建单个字段的全文索引 SYS@orcl>desc t; Name Null? Type ——————– NAME VARCHAR2(50) ROLE VARCHAR2(50) SYS@orcl>create index index_t on t(role) indextype is ctxsys.context 2 parameters(‘lexer my_lexer’); Index created. 使用全文索引进行查询 SYS@orcl>select * from t where contains(role, ‘开发’) > 0; –使用score函数查询关键词的匹配度 SYS@orcl>select score(1), name, role from t where contains(role, ‘开发’, 1) > 0; 同步和优化索引 –默认情况下,全文索引不会同步更新,需要提交job定期更新 SYS@orcl>exec [...]

正则表达式中的不包含

需求:找出包含@,但@后面不是sina的行 支持零宽匹配的写法:@(?!sina),在Regular Expressions Tester中的结果如下 可惜的是shell下的grep不支持零宽匹配,可以用下面这个变通的方法: adam@adam-desktop:~$ echo “mail from abc@sinb.com” | egrep  ‘.*@([^s]|s([^i]|i([^n]|n[^a])))’ mail from abc@sinb.com 后来发现在grep中使用-P后可以支持零宽匹配 adam@adam-desktop:~$ echo “mail from abc@sinb.com” | grep -P ‘.*@(?!sina)’ mail from abc@sinb.com 参考文章: 正则表达式–零宽断言详解 使用grep和正则来分析Web服务器日志(零宽断言-正则环视)