前文:OLTP Through the Looking Glass, and What We Found There中的结论:
给出了当时paper的缺陷:
* 只计算了dbms的cycle,而非整个server的。
* remote communication没有计算。但remote communication开销比较大。
* 这里就是全链路观测/优化的思想。
* 深入点,解决问题如果有更加高的视角,就更容易发现瓶颈点,从而更高效的优化。这也是为什么要有高层次视角看问题。
然后在voltdb上跑了个有partition的benchmark:
* 即在没有remote server交互的情况下,TCP-IP CPU吃了很大比例的CPU。在YCSB上占用了68%的CPU
* 只有在单个 xacts(事务)非常重的情况下,这些TCP-IP的CPU开销才相对占比较少。
* 这里我感觉核心思路是框架开销过大
然后有一些conclusion:
* 忽略网络的研究是无效的,因为目前网络的开销在大头
* 忽略isolation的研究是有缺点的。(实际上我没太懂他为什么要提isolation这个事情)
* 这里说的isolation是执行store procedure的代码和其他代码是隔离的。可能就是想sell DBOS?
* TCP-IP不行,要用kernel bypass等等
然后推销了一下DBOS。
虽然这个kernel bypass的点大家都看的很多了,这个isolation应该还是头一次。然后我没有太看懂DBOS是怎么解决这个问题的。
以及acceptable的isolation方案是什么,我也没有想的很清楚。
主要算是复习了一下全链路,高层次视角去看待问题,解决问题的思路吧。
文章评论