ABSTRACT
This paper introduces a new transactional “database-as-a-service”
(DBaaS) called Relational Cloud. A DBaaS promises to move
much of the operational burden of provisioning, configuration, scaling,
performance tuning, backup, privacy, and access control from
the database users to the service operator, offering lower overall
costs to users. Early DBaaS efforts include Amazon RDS and
Microsoft SQL Azure, which are promising in terms of establishing
the market need for such a service, but which do not address
three important challenges: efficient multi-tenancy, elastic scalability,
and database privacy. We argue that these three challenges
must be overcome before outsourcing database software and management
becomes attractive to many users, and cost-effective for
service providers. The key technical features of Relational Cloud
include: (1) a workload-aware approach to multi-tenancy that identifies
the workloads that can be co-located on a database server,
achieving higher consolidation and better performance than existing
approaches; (2) the use of a graph-based data partitioning algorithm
to achieve near-linear elastic scale-out even for complex transactional
workloads; and (3) an adjustable security scheme that enables
SQL queries to run over encrypted data, including ordering operations,
aggregates, and joins. An underlying theme in the design
of the components of Relational Cloud is the notion of workload
awareness: by monitoring query patterns and data accesses, the system
obtains information useful for various optimization and security
functions, reducing the configuration effort for users and operators.