2014年是来北京的一年,从2月份到北京工作,到4月中旬正式加入公司,怎么说了先前是在一家金融公司,所以一个半月就离职了,来到现在的这家公司。
这一年,学的东西最为感触深的就是一套OLAP系统,也就是网上说的商业智能系统,对他的理念有了全新的认识。比如纬度以及指标的认识,前期阶段参与了基于OLAP的COUNT/MAX/MIN/AVG的计算模块的编写,后期阶段随同运维团队参与客户现场的多维建模以及培训,在给客户实施BI的过程中,主要有数据采集,ETL设计,多维建模,页面设计。在这个过程中,最为繁琐的阶段就是数据采集,因为要和其他的系统交互,数据采集过程本身不复杂,但是有些系统的数据记录不一致,有时采取的数据错误,导致BI的结果出现数据错误。其次就是ETL这一块,因为采集断和客户谈接口的人业务很懂,但是不会技术,所以ETL的抽取过程不停的变化,最后就是多维建模,这一块和ETL一样,有时对业务理解不好,就做成普通的报表了,所以这一块纬度建模很关键。
至于在技术这块,还是封装。任何的技术,如果不进行二次封装,仅仅简单的使用,可能以后对这个产品的维护就会出现大问题。但是如何写,就的研究源码。今年这一年,先后接触BPM以及ExtJS,虽然这两块技术本生使用不太难,但是要在系统中使用好,就要进行二次封装,因为只有这样,系统后期的维护成本就会降低。为什么?因为只要进行二次分装,后期主要工作就是对业务场景的理解,针对场景做开发,而不是把问题纠结在技术上,这样对公司而言肯定好,因为干事情最有意义的东西就是做一个用户想要的东西,而不是给开发人员一个技术难题,这样大家才可以理解业务,至于做,只是时间问题而已,当然了至于系统的架构,以及特定业务场景的技术,这比重不大,经理或者架构师的工作,对于普通开发人员而言,尽量去理解就可以,个人认为即使可以看懂一时间可能无法正正理解设计理念。比如我们的基于ROLAP的核心模块,OLAP引擎,说白了就是如何规律化生成SQL,就是普通字符串的拼接。
额外时间,看看Linux运维知识,因为现在大多数系统运行在Linux上,所以简单学了点,感触最深就是Linux上服务以及用户权限这一块,软件也可以这样基于Linux的思想模块化开发。其次就是Hadoop以及Storm这块今年仅仅是了解,因为都在说嘛,仅仅目前在个人的业务场景上暂时没有这一块。所以对于数据库这一块还是RDBMS这一块。