Cloud databases are nowadays available in various deployment models. One approach stands out regarding cost efficiency: Infrastructure as a Service. Every major cloud provider offers various types of infrastructure on which customers can deploy their database software solution of choice, with different types of nodes being cost optimal for specific types of workloads. Nowadays, cloud architects tend to deploy infrastructures made of arbitrary numbers of nodes of the same type. When the data to store features diverse usage patterns, there is no clear advantage in adopting such strategy, other than simplicity of deployment. On the other hand, deploying a heterogeneous cluster made of different node types is a non-trivial task, and certainly a complex one. So complex, in fact, that it is hard, if not impossible, for human operators to consistently find infrastructure configurations that optimally minimize the costs. This thesis is framed in a larger project: PlutusDB, an autonomic system which aims at addressing the issue of using cost-wise suboptimal homogeneous IaaS clusters. PlutusDB instantiates potentially multiple database instances, each of them associated with an independent IaaS cluster. The system accurately sizes each sub-cluster to maximize resource usage and therefore minimize the overall cost. PlutusDB is also the first system that approaches data placement with cost optimization in mind, transparently analysing the data items as a whole and autonomously deciding their optimal placement. This dissertation, after providing a complete and detailed view of PlutusDB, focuses on the design and implementation of its core component: the Optimizer.

Ad oggi, nonostante diverse implementazioni di database cloud siano disponibili, Infrastructure as a Service rimane sicuramente l'approccio più economico. I principali fornitori cloud offrono molteplici tipi di nodi per creare un'infrastruttura cloud: sia generici che ottimizzati per carichi di lavoro specifici. Implementare un database cloud su un'infrastruttura omogenea (formata da nodi dello stesso tipo) è certamente la scelta più semplice. In scenari dove i dati presentano caratteristiche di accessi estremamente varie, però, utilizzare un'infrastruttura eterogenea potrebbe ridurre i costi di gestione del database. Utilizzare diversi tipi di nodi permette infatti di disporre dati frequentemente acceduti in nodi appositamente ottimizzati e, analogamente, disporre dati acceduti infrequentemente nei nodi dedicati. Questa tesi è parte di un progetto più ampio: PlutusDB, un sistema autonomo il cui scopo è ottimizzare i costi di un generico Key-Value database implementato nel cloud. PlutusDB istanzia uno o più cluster, ognuno formato da multiple istanze di un determinato tipo di nodo. Ogni cluster è dimensionato accuratamente per contenere una parte dei dati al fine di ottimizzare l'utilizzo di risorse e di conseguenza i costi. La presentazione dettagliata dell'architettura di PlutusDB precede la trattazione del suo componente principale: l'Optimizer, comprensiva di design, modellazione formale, e infine implementazione.

Cost optimization of IaaS-based key-value stores through efficient cluster configurations and data placement

GIORIO, ENRICO
2021/2022

Abstract

Cloud databases are nowadays available in various deployment models. One approach stands out regarding cost efficiency: Infrastructure as a Service. Every major cloud provider offers various types of infrastructure on which customers can deploy their database software solution of choice, with different types of nodes being cost optimal for specific types of workloads. Nowadays, cloud architects tend to deploy infrastructures made of arbitrary numbers of nodes of the same type. When the data to store features diverse usage patterns, there is no clear advantage in adopting such strategy, other than simplicity of deployment. On the other hand, deploying a heterogeneous cluster made of different node types is a non-trivial task, and certainly a complex one. So complex, in fact, that it is hard, if not impossible, for human operators to consistently find infrastructure configurations that optimally minimize the costs. This thesis is framed in a larger project: PlutusDB, an autonomic system which aims at addressing the issue of using cost-wise suboptimal homogeneous IaaS clusters. PlutusDB instantiates potentially multiple database instances, each of them associated with an independent IaaS cluster. The system accurately sizes each sub-cluster to maximize resource usage and therefore minimize the overall cost. PlutusDB is also the first system that approaches data placement with cost optimization in mind, transparently analysing the data items as a whole and autonomously deciding their optimal placement. This dissertation, after providing a complete and detailed view of PlutusDB, focuses on the design and implementation of its core component: the Optimizer.
ING - Scuola di Ingegneria Industriale e dell'Informazione
20-dic-2022
2021/2022
Ad oggi, nonostante diverse implementazioni di database cloud siano disponibili, Infrastructure as a Service rimane sicuramente l'approccio più economico. I principali fornitori cloud offrono molteplici tipi di nodi per creare un'infrastruttura cloud: sia generici che ottimizzati per carichi di lavoro specifici. Implementare un database cloud su un'infrastruttura omogenea (formata da nodi dello stesso tipo) è certamente la scelta più semplice. In scenari dove i dati presentano caratteristiche di accessi estremamente varie, però, utilizzare un'infrastruttura eterogenea potrebbe ridurre i costi di gestione del database. Utilizzare diversi tipi di nodi permette infatti di disporre dati frequentemente acceduti in nodi appositamente ottimizzati e, analogamente, disporre dati acceduti infrequentemente nei nodi dedicati. Questa tesi è parte di un progetto più ampio: PlutusDB, un sistema autonomo il cui scopo è ottimizzare i costi di un generico Key-Value database implementato nel cloud. PlutusDB istanzia uno o più cluster, ognuno formato da multiple istanze di un determinato tipo di nodo. Ogni cluster è dimensionato accuratamente per contenere una parte dei dati al fine di ottimizzare l'utilizzo di risorse e di conseguenza i costi. La presentazione dettagliata dell'architettura di PlutusDB precede la trattazione del suo componente principale: l'Optimizer, comprensiva di design, modellazione formale, e infine implementazione.
File allegati
File Dimensione Formato  
Executive_Summary___Enrico-5.pdf

accessibile in internet per tutti

Descrizione: Executive Summary
Dimensione 774.4 kB
Formato Adobe PDF
774.4 kB Adobe PDF Visualizza/Apri
PlutusDB_MSc_Thesis_POLIMI-4.pdf

accessibile in internet per tutti

Descrizione: Thesis
Dimensione 1.84 MB
Formato Adobe PDF
1.84 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/198733