数据库多租技术介绍
随着云计算时代的到来,多租户的概念也逐渐广为人知。“多租户”使得租户之间可以共享物理资源,能够帮助用户节约硬件成本和运维成本,提高资源利用效率。同时,在实现的过程中,考虑到共享带来的安全、隔离等问题以及后续业务面临的扩展需求,“多租户”在隔离性和扩展性方面也进行了相应的设计实现。
那么,在数据库领域是如何实现“多租户”的呢?
业界有虚拟机多租、容器多租、数据库内核多租等多种技术可以实现多租户。
虚拟机多租和容器多租,顾名思义就是在一台物理服务器上部署多个虚拟机或者容器,然后在虚拟机或者容器内进行数据库服务的部署。这类技术方案在安全性和隔离性方面具有天然的优势。
数据库内核多租,是由数据库内核提供的多租户特性。相比于虚拟机多租和容器多租,内核多租没有虚拟化管理层、OS(Operating System,简称操作系统)层、数据库公共层的额外开销,而且底噪小,在资源整合、资源的弹性伸缩等方面具备天然优势。数据库内核多租通过将数据库内核语义与成熟的资源隔离技术栈相整合,实现更高的Scale-Down(缩容)能力,极大地提升了数据库在计算资源方面的利用率。
GaussDB支持被部署在虚拟机或者容器内,给客户提供整体虚拟机/容器多租的解决方案,同时也提供了数据库内核多租特性,满足客户不同业务场景的需求。
-
在客户资金充裕,且对资源的隔离性、可靠性等要求更高的场景下,可以选择虚拟机/容器多租方案;
-
在客户投入有限,需要更大力度利用现有资源的场景下,可以选择GaussDB数据库内核提供的多租方案。
本文将对GaussDB数据库内核集中式场景下提供的多租技术进行重点介绍。
GaussDB多租架构
GaussDB多租是指在一个数据