|
"我们要支持:不仅分散,而且分布。"分散/分布就意味着丧失了中心掌控权,还有维护的问题。程序版本如何统一?数据缓存何时刷新?比方你前面提到的本地缓存计费表,要是修改了要怎么通知客户端?不是得有一套复杂的同步、发布系统?业务逻辑集中是大势所趋,即使不集中在数据库也集中在应用服务器,你们那种设计思想迟早是要遭淘汰的。
“你虽然也写了个柔性的程序,可是可读性呢?”
你怎么不拿DAU_toJSON来比较?你可以“封装了,看不见”我当然也可以声称这个存储过程是“封装了,看不见”,你只需“无数次使用”。
至于动态SQL,可读性肯定要打个折扣,这就是我为什么说要尽量避免,具体到业务逻辑的存储过程基本上应该消灭动态代码。
至于这个过程做的事情,坦率地说我百分百赞成拿到数据库外面去做,因为它只是个格式上的包装而已。PLSQL应该处理“裸”数据。我说的存储过程其实包括了你现在用客户端在做的大部分事情。只是我不需要在PLSQL和SQL代码之间硬插入一个类似你的DAU那样的层,就算这一层“柔情万种”也毫无用处。
“没有模板,我怎么解释你的结果集?”
我就不明白了,每个游标不都有列名吗?你就是访问一个二维结果集,为什么就无法解释?
“有了模板,用你这程序干啥?问题已经解决了。”
有了模版你无非就是拿到数据而已,还得用数据干活呢?忘了你还有客户端代码了?你这个传输层接口除了传输之外能解决啥问题?
“ORACLE是按系统性能收费的。”
我虽然不太懂他们的定价策略,但应该是按CPU来算吧?我的建议无非就是物尽其用,ORACLE又不会对PLSQL另外收费。原来有什么硬件,使用了存储过程还是一样的硬件,不需要额外的什么强力服务器。
“我们那帮ORACLE的售前,问他们,是否存储过程性能更好,都是支支吾吾的。”
我很有兴趣他们怎么个“支支吾吾”法?不过呢,售前的基本功就是察言观色,投其所好,你爱听什么他们就捡什么说,只要能卖出系统就成。
“文中提到,随着ORM兴起,SQL越来越像noSQL,....”
哈哈,自作多情,给个越来越像noSQL的例子看看?XML出现的时候也有人说SQL要灭亡了,现在呢?走着瞧吧。
"另外,我懒得写SQL的列名,同样懒得写JSON的对象名(还有那些标点符号)。
DAU_insert(),DAU_select(),DAU_toJSON(),DAU_fromJSON(),多好,啥名也不写。(客户端写了,我为啥还要重复写?)"
所以你这套东西只对你那种胖客户的设计思想有用,一旦访问SQL已经很方便(比如在PLSQL里)这套东西就完全无用。 |
|