DAL的野心太大了。。。 什么都要支持。。。
Comment by xLight — April 4, 2010 @ 3:58 am
* 老高说过 :“让主从去死吧” * dal2.0的“cache与DAL在同一个进程”、“GC很高效” 看来都被打破了
还要支持“分布式事务”
Comment by xLight — April 4, 2010 @ 5:02 am
PPT写的不错,讲述了DAL发展,变化历程。我比较关心的是你们的DAL Server如何处理负载,失效转移,高可用的,这些才是一个DAL在大型系统上的关键所在?
Comment by Oscar — April 4, 2010 @ 10:09 am
@xLight 不是打破不打破的问题。
一)关于主从问题。 第一,老高说的话是有语境的。当时是在面对因主从带来的维护成本的增加,以及引入Dal带来的对主从需求的弱化的情况下发表的感慨。而且老高也强调,主从也许只是在备份需求下产生的附作用而已。不管怎么样,降低维护成本,都是大家共同的追求。 第二,手机之家现在仍然没有采用主从。但是达到一定的量级以后,也许只有分布才是唯一的办法了。Dal必须在这件事情发生之前准备好。 第三,Dal是一个通用的软件,我们希望用户花最少的代价来引入Dal。如果用户原来采用主从,引入Dal不需要改变系统结构,就可享受Dal带来的好处,何乐而不为?
二)关于cache和gc问题 “cache与DAL在同一个进程”不是什么过错,但要考虑缓存的量级,如果量级太大,不管是让JVM管理内存(JVM的GC机制确实已经比较成熟和高效),还是自己管理内存,对一个进程来说,终究都是瓶颈。只有外置才提供了很多可能。但是,我们要明白,外置意味着额外的通讯开销。所以我认为,最终将是一个综合的解决方案,就是引入两级缓存,进程内的缓存只保留最新最热的有限的条目,外置缓存可以尽情地载入尽可能多的条目。
三)关于分布式事务 我再强调一次,Dal是个通用的软件,不单单只是针对通常意义上的互联网应用。未来的(移动)互联网应用肯定会是一个细分+整合共存的局面,必定会有实时事务的需求。其实不说以后,就说现在,已经有这样的需求了。 对于Dal来说,它提供了这样的一种特性,我们可以选择开启或关闭分布式事务。手机之家现在是选择关闭。
Comment by 许超前 — April 4, 2010 @ 12:00 pm
@Oscar 不知道您说的是Dal Server本身的可用性问题,还是说Dal Server后端服务的可用性问题。那我就都说一下吧。
一)Dal Server本身的可用性问题 Dal2.2.x系列,已经支持Dal Server的分布了。客户端可以采用硬件,也可以采用软件来处理负载均衡、解决失效转移问题。我想您肯定知道memcached是怎么做到分布式的,Dal现在的做法和memcached类似。
二)Dal Server后端服务的“可用性”问题 检测后端服务的“可用性”,对Dal Server来说,是一种策略问题。很遗憾地告诉您,Dal Server现在的策略很简单:随机选择(当然每个节点可以配置不同的权重)。后续版本会提供其它的更有用的策略。
Comment by 许超前 — April 4, 2010 @ 12:06 pm
@许超前 我也只是感慨一下。 DAL的演变,颇有:“合久必分,分久必合”的感觉。。
我还是更倾向于看到一个“能解决一部分问题”的简单的DAL,而不是一个“能解决全部问题”的、复杂的DAL
Comment by xLight — April 4, 2010 @ 1:05 pm
@xLight 您说的很在理。任何一种技术都不可能解决所有的问题,都会有它的适用性、局限性。
所以,软件有一个定位问题。Dal的定位,为访问数据提供一个简单易用的接口,这也是Dal这个项目的使命。单单这一句话,要做的事就太多了。我们不可能完成所有的事,我们只会选择那些对用户最有用的、最有意义的事。到目前为止,我认为Dal的每个特性都是必须的。
每个人都希望“简单可依赖”,但问题是,应用在增长,数据在增长,我们面对的问题也在增长。原来简单的解决办法慢慢变得不再有效了,手段慢慢变得杂了,维护成本慢慢增加了。很多人都碰到同样的问题,这里面就存在着需求。这就是Dal这个项目的初衷。
“简单实现“,不是目的;”简单访问“,才是目的。这也是数据访问层存在的根本原因。但简单的接口,往往意味着复杂的实现,所以,我们要有心理准备。
Comment by 许超前 — April 4, 2010 @ 7:42 pm
我们曾经寄希望于Tungsten 花了半年时间调整配置,测试,上线 然后用了几个月,下线,再也不用了
Comment by xLight — April 6, 2010 @ 3:05 pm
谢谢博主,收下了啊!
Comment by 互动投影 — April 26, 2010 @ 9:40 pm
RSS feed for comments on this post. TrackBack URL
Name (required)
Mail (will not be published) (required)
Website
Powered by WordPress, 京ICP备09047672号
DAL的野心太大了。。。
什么都要支持。。。
Comment by xLight — April 4, 2010 @ 3:58 am
* 老高说过 :“让主从去死吧”
* dal2.0的“cache与DAL在同一个进程”、“GC很高效”
看来都被打破了
还要支持“分布式事务”
Comment by xLight — April 4, 2010 @ 5:02 am
PPT写的不错,讲述了DAL发展,变化历程。我比较关心的是你们的DAL Server如何处理负载,失效转移,高可用的,这些才是一个DAL在大型系统上的关键所在?
Comment by Oscar — April 4, 2010 @ 10:09 am
@xLight
不是打破不打破的问题。
一)关于主从问题。
第一,老高说的话是有语境的。当时是在面对因主从带来的维护成本的增加,以及引入Dal带来的对主从需求的弱化的情况下发表的感慨。而且老高也强调,主从也许只是在备份需求下产生的附作用而已。不管怎么样,降低维护成本,都是大家共同的追求。
第二,手机之家现在仍然没有采用主从。但是达到一定的量级以后,也许只有分布才是唯一的办法了。Dal必须在这件事情发生之前准备好。
第三,Dal是一个通用的软件,我们希望用户花最少的代价来引入Dal。如果用户原来采用主从,引入Dal不需要改变系统结构,就可享受Dal带来的好处,何乐而不为?
二)关于cache和gc问题
“cache与DAL在同一个进程”不是什么过错,但要考虑缓存的量级,如果量级太大,不管是让JVM管理内存(JVM的GC机制确实已经比较成熟和高效),还是自己管理内存,对一个进程来说,终究都是瓶颈。只有外置才提供了很多可能。但是,我们要明白,外置意味着额外的通讯开销。所以我认为,最终将是一个综合的解决方案,就是引入两级缓存,进程内的缓存只保留最新最热的有限的条目,外置缓存可以尽情地载入尽可能多的条目。
三)关于分布式事务
我再强调一次,Dal是个通用的软件,不单单只是针对通常意义上的互联网应用。未来的(移动)互联网应用肯定会是一个细分+整合共存的局面,必定会有实时事务的需求。其实不说以后,就说现在,已经有这样的需求了。
对于Dal来说,它提供了这样的一种特性,我们可以选择开启或关闭分布式事务。手机之家现在是选择关闭。
Comment by 许超前 — April 4, 2010 @ 12:00 pm
@Oscar
不知道您说的是Dal Server本身的可用性问题,还是说Dal Server后端服务的可用性问题。那我就都说一下吧。
一)Dal Server本身的可用性问题
Dal2.2.x系列,已经支持Dal Server的分布了。客户端可以采用硬件,也可以采用软件来处理负载均衡、解决失效转移问题。我想您肯定知道memcached是怎么做到分布式的,Dal现在的做法和memcached类似。
二)Dal Server后端服务的“可用性”问题
检测后端服务的“可用性”,对Dal Server来说,是一种策略问题。很遗憾地告诉您,Dal Server现在的策略很简单:随机选择(当然每个节点可以配置不同的权重)。后续版本会提供其它的更有用的策略。
Comment by 许超前 — April 4, 2010 @ 12:06 pm
@许超前
我也只是感慨一下。
DAL的演变,颇有:“合久必分,分久必合”的感觉。。
我还是更倾向于看到一个“能解决一部分问题”的简单的DAL,而不是一个“能解决全部问题”的、复杂的DAL
Comment by xLight — April 4, 2010 @ 1:05 pm
@xLight
您说的很在理。任何一种技术都不可能解决所有的问题,都会有它的适用性、局限性。
所以,软件有一个定位问题。Dal的定位,为访问数据提供一个简单易用的接口,这也是Dal这个项目的使命。单单这一句话,要做的事就太多了。我们不可能完成所有的事,我们只会选择那些对用户最有用的、最有意义的事。到目前为止,我认为Dal的每个特性都是必须的。
每个人都希望“简单可依赖”,但问题是,应用在增长,数据在增长,我们面对的问题也在增长。原来简单的解决办法慢慢变得不再有效了,手段慢慢变得杂了,维护成本慢慢增加了。很多人都碰到同样的问题,这里面就存在着需求。这就是Dal这个项目的初衷。
“简单实现“,不是目的;”简单访问“,才是目的。这也是数据访问层存在的根本原因。但简单的接口,往往意味着复杂的实现,所以,我们要有心理准备。
Comment by 许超前 — April 4, 2010 @ 7:42 pm
我们曾经寄希望于Tungsten
花了半年时间调整配置,测试,上线
然后用了几个月,下线,再也不用了
Comment by xLight — April 6, 2010 @ 3:05 pm
谢谢博主,收下了啊!
Comment by 互动投影 — April 26, 2010 @ 9:40 pm