oracle的RAC

什么是RAC架构呢?
共享同一个份物理存储,把连接和计算层,作为instance做多实例部署。
这样有什么好处呢?
第一个好处是增加可靠性
第二个好处是增加连接数
第三个好处是分散计算压力。

前两者是显而易见的,毕竟节点数增加了。
第三个,就需要一定的技术支撑了。
首先是,cache fusion,也就是缓存融合。
这个东西的背景是,如果所有的instance都到物理存储上拿数据,那物理存储,就会形成瓶颈。
应对措施就是cache fusion,就是把数据块缓存放到instance里面去。谁想要这个缓存,就到这个块的current块那里去拿。
GCS(Global Cache Service)GES(Global Enqueue Service)。。。这些概念,都是这个过程中,协调到哪里去拿这个数据块的。

另一个事情就是计算。
oracle是支持并行计算的,这跟trino有原理有一部分是类似的。hash join之类的算子,是可以并行执行的。
那有了RAC架构之后呢,计算也可以分散到不同的instance中去做,但是默认不行。
这也体现了RAC架构,本质上不是一个分布式架构,它主要解决的是可靠性,连接,以及访问物理存储的瓶颈。

posted @ 2025-12-24 11:10  知末  阅读(2)  评论(0)    收藏  举报