Dxy 6 - bigdata
2013年1月,我们开始玩数据了。
在互联网公司,数据挖掘一直都没有停歇过。老酒装新壶,它重新包装为「大数据」,炒的炙手可热。
当时用药助手已经有几百万的用户,李宁每天忙的不亦乐乎。我被抽调到移动组,负责数据在应用层的架构。
我可以明目张胆的写Ruby脚本处理数据了,每天都充满激情。此外我的团队加上兼职人员已经超过10个人了,这对我的管理能力是个挑战。
什么样的数据最棒
在整理药品数据时,遇到的第一个问题是:数据该以什么语法保存?
我当时觉得应该符合以下几点:
-
内容与样式分离
数据中不应包含任何样式,比如class,id,color等等。否则就是个定时炸弹,一旦程序员在新的平台忘记过滤样式,前台页面肯定惨不忍睹。
-
转化方便
可以轻易的转化为html、pdf、epub、mobi,在转化的过程中,能够继承原汁原味的结构、meta信息等等。
-
有极好的可读性,又有良好的结构。
-
简单易学
我们的实习团队很庞大,流动性强。语法应该通俗易懂,新人1天就可上手。
最终我决定用 Markdown 重排药品数据。
为什么使用Markdown
-
HTML
Html是用来展示网页的标记语言,如果用来写作就太坑爹了。
如果为了贪图方便,使用可视化编辑器,就无法保证文章的清晰的结构,还嵌套一堆无用的div、p标签。
我有数据洁癖,用HTML,宁勿死。
-
Markdown
- 语法简单,上手快。一个实习生1天就可掌握基本语法;
- 为写作而生,文章结构清晰;
- 使用Pandoc可以转化为几十种格式。
-
其他轻量级语言
世界上有几十种轻量标记语言,Textile、Wiki,为什么我要选择Markdown?
因为Markdown太流行了,Github、Stackoverflow都在使用它。
Beautiful data
我们组花了3个月的时间,重排了所有药品数据。最后形成了这种结构。
参考资料:
Medical Tag System
我刚加入丁香园时,张老板就规划了一个锦绣蓝图 Medical Tag System。它包含各种纬度的医学标签,疾病、药品、科室、症状等,并打通他们之间的关系。
我从2011年就开始搞,一直不温不火。
优化完药品信息后,趁着手头上有几个临床专业的实习生,我又转战到产品 Medical Tag System 中,梳理不同纬度之间的关系。
我走的时候,这MTS的数据应用到了几乎所有的线上产品,心里真是开心。
此产品不便细说,自动忽略1千字。
交叉的乐趣
一个DBA只懂得优化数据库结构,一个需求人员只懂业务。当掌握两种技能时,数据挖掘真的是一件很有意思的事情。