A multi-tenant database system for Software as a Service
(SaaS) should offer schemas that are flexible in that they
can be extended for different versions of the application and
dynamically modified while the system is on-line. This pa-
per presents an experimental comparison of five techniques
for implementing flexible schemas for SaaS. In three of these
techniques, the database “owns” the schema in that its struc-
ture is explicitly defined in DDL. Included here is the com-
monly-used mapping where each tenant is given their own
private tables, which we take as the baseline, and a map-
ping that employs Sparse Columns in Microsoft SQL Server.
These techniques perform well, however they offer only lim-
ited support for schema evolution in the presence of existing
data. Moreover they do not scale beyond a certain level. In
the other two techniques, the application “owns” the schema
in that it is mapped into generic structures in the database.
Included here are XML in DB2 and Pivot Tables in HBase.
These techniques give the application complete control over
schema evolution, however they can produce a significant
decrease in performance. We conclude that the ideal data-
base for SaaS has not yet been developed and offer some
suggestions as to how it should be designed.
Attachment | Size |
---|---|
p881-aulbach.pdf | 495.14 KB |