产品的需求与实现系列:
论产品的需求与实现系列之日志系统
论产品的需求与实现系列之监控系统
论产品的需求与实现系列之数据平台
论产品的需求与实现系列之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!
标签:需求,系列,presto,跨库,数据库,平台,airpal From: https://blog.51cto.com/u_6186189/6189410