scribble

吕小荣

Blog Friends RSS About

Dxy 6 - bigdata

30 September, 2013

2013年1月,我们开始玩数据了。

在互联网公司,数据挖掘一直都没有停歇过。老酒装新壶,它重新包装为「大数据」,炒的炙手可热。

当时用药助手已经有几百万的用户,李宁每天忙的不亦乐乎。我被抽调到移动组,负责数据在应用层的架构。

我可以明目张胆的写Ruby脚本处理数据了,每天都充满激情。此外我的团队加上兼职人员已经超过10个人了,这对我的管理能力是个挑战。

什么样的数据最棒

在整理药品数据时,遇到的第一个问题是:数据该以什么语法保存?

我当时觉得应该符合以下几点:

  1. 内容与样式分离

    数据中不应包含任何样式,比如class,id,color等等。否则就是个定时炸弹,一旦程序员在新的平台忘记过滤样式,前台页面肯定惨不忍睹。

  2. 转化方便

    可以轻易的转化为html、pdf、epub、mobi,在转化的过程中,能够继承原汁原味的结构、meta信息等等。

  3. 有极好的可读性,又有良好的结构。

  4. 简单易学

    我们的实习团队很庞大,流动性强。语法应该通俗易懂,新人1天就可上手。

最终我决定用 Markdown 重排药品数据。

为什么使用Markdown

  1. HTML

    Html是用来展示网页的标记语言,如果用来写作就太坑爹了。

    如果为了贪图方便,使用可视化编辑器,就无法保证文章的清晰的结构,还嵌套一堆无用的div、p标签。

    我有数据洁癖,用HTML,宁勿死。

  2. Markdown

    1. 语法简单,上手快。一个实习生1天就可掌握基本语法;
    2. 为写作而生,文章结构清晰;
    3. 使用Pandoc可以转化为几十种格式。
  3. 其他轻量级语言

    世界上有几十种轻量标记语言,Textile、Wiki,为什么我要选择Markdown?

    因为Markdown太流行了,Github、Stackoverflow都在使用它。

Beautiful data

我们组花了3个月的时间,重排了所有药品数据。最后形成了这种结构。

参考资料:

  1. 药品编辑规范

  2. 临床指南编辑规范

Medical Tag System

我刚加入丁香园时,张老板就规划了一个锦绣蓝图 Medical Tag System。它包含各种纬度的医学标签,疾病、药品、科室、症状等,并打通他们之间的关系。

我从2011年就开始搞,一直不温不火。

优化完药品信息后,趁着手头上有几个临床专业的实习生,我又转战到产品 Medical Tag System 中,梳理不同纬度之间的关系。

我走的时候,这MTS的数据应用到了几乎所有的线上产品,心里真是开心。

此产品不便细说,自动忽略1千字。

交叉的乐趣

一个DBA只懂得优化数据库结构,一个需求人员只懂业务。当掌握两种技能时,数据挖掘真的是一件很有意思的事情。