Skip to content
Julian-IP edited this page Apr 11, 2017 · 172 revisions

Vault Wiki

Vault is an open-source implementation of parallel database as a service.

Vault achieves very low Total-Cost-of-Ownership (TCO) by operating under the shared-process model. Specifically, under Vault, tenants not only share the physical machines, but also the parallel database license and the same database process (instance). Vault implements various techniques to achieve soft isolation among tenants, so that tenants obtain query performance guarantees (i.e., performance level SLA) even under that low-level of sharing. That is in contrast with the sole use of virtual machine to achieve hard isolation among tenants, which has a higher degree of redundancies (e.g., copies of database installations) among tenants.

Vault is built on top of OpenStack and supports Vertica.

When operating, Vault has a tenant activity monitor to collect tenant activities. Periodically, Vault's deployment advisor identifies tenants who workload patterns are complementary to each other (e.g., one is in US time zone, one is in Asia time zone) and consolidates them to be the same tenant group and output a deployment plan that achieves minimal operating cost without violating the SLA. Then the deployment master executes the plan to assign the tenants onto different parallel database instances accordingly.

Vault keeps multiple database instances for each group to maintain high availability. When a tenant submits a query, Vault's query router will forward the query to one corresponding parallel database instances for execution.

More details about Vault's technology could be found here: Parallel Analytics as a Service, SIGMOD 2013.

[//]: # (* Introduction)

Clone this wiki locally