`

论产品的需求与实现系列之数据平台

阅读更多

         产品的需求与实现系列:

         论产品的需求与实现系列之日志系统

         论产品的需求与实现系列之监控系统

         论产品的需求与实现系列之数据平台

         论产品的需求与实现系列之ci持续集成

 

         搭建这一套是一个组合airpal+presto,也就是一个系统,既叫平台,是由于这个组合可以跨不同的数据库操作,比如常见的mysql,redis,hive等。

 

         需求1:开发的同事要看测试库或线上数据库数据

         解决需求1:在数据库建帐号分权限,还要开发同事根据不同的数据库安装不同的客户端,这对于开发的来说,小事一木桩。但是对于运营或是其它非开发的同事,这就是不太好用了了。用phpmyadmin或是lamp组合。

        
         需求2:领导觉得phpmyadmin不安全,不能跨库操作。因为直接给帐号到相关人员手中,不能跨库操作,虽说phpmyadmin是可以配置多个库的,但每次只能登陆一个库。需求是:不能直接给数据库帐号,要能直接跨库操作。在此可能有人会想到mycat 或是otter,来看看mycat的特性。

          

 
         再来看otte的特性:

     

          不管是mycat还是otter,更多的是一种中间件,没有独立的web界面供用户操作sql。

          困此选用了airbnb三大神器之一的airpal和facebook的presto,组成一个组合。airpal提供web界面以及细分到表的权限管理。presto提供跨库执行sql的能力。来看一下界面。

 

       

  

       不过使用这一组合最大不便就是,表的字段要全部小写。airpal提供的表权限管理是基于shiro的白名单方式,使用上说明不是很清晰。

 

        需求3:用户分权限到表

        解决需求3:配置shiro_test_user.ini

       

        需求4:解决airpal界面时区,滚动条,数据返回等问题

        解决需求4:把源码拉下来,通过远程debug方式,追踪问题执行每一过程。详情请看之前写的解决airpal时区问题

 

        airpa开源版本是0.1 ,presto开源版本是0.7,国内用的人不多。有很多小问题

等着去解决 。不过presto的功能确实很强大。

           

 

          总结:从一开始的最基本的需求,到后期上线,随着用户使用,提出更多小需求,在互联网公司做法就是减法,先做核心的,再优化用户使用感受,象滚动条,自动刷新返回数据等。一件产品的成功是否,在于是否有足够的消化能力,既使是开源的方案,也要在单位时间内解决用户的需求。否则就不是一套成功的产品。like the Apple ,Don't make me think!

  • 大小: 11.1 KB
  • 大小: 230 KB
  • 大小: 133.6 KB
  • 大小: 131.2 KB
  • 大小: 122.2 KB
0
3
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics