A partition model and strategy based on the Stoer-Wagner algorithm for SaaS multi-tenant data

作者:Li, Xiaona*; Zhao, Junli; Ma, Yumei; Wang, Pingping; Sun, Hongyi; Tang, Yi
来源:Soft Computing, 2017, 21(20): 6121-6132.
DOI:10.1007/s00500-016-2169-z

摘要

Partition technology is the key step to realize the extensional architecture in the cloud and support the data placement on multiple nodes. This paper proposes a multi-tenant data partition model and algorithm for SaaS (Software as a Service) application. It solves the problem that data partitions would produce lots of distributed transactions caused by the existing cloud data management. The management is unconscious of SaaS tenants during the transformation from a single node to multiple nodes in the cloud to obtain the dynamic extension of the system's scale. With the increase of tenants and data, the single node becomes the bottleneck of the whole system. Fortunately, the scale of the whole system can be expanded by data partition. This paper puts forward a multi-tenant data partition model with three-layer structure: Tenant layer, Relevance, Group layer and Tenant Partition layer. Furthermore, we propose the concepts of Relevance, Relevance Value and Relevance Matrix. The customized tables for one tenant accessed by the same transactions can form a minimum high-relevance granularity based on the Relevance Group algorithm. Then we construct an abstracted graph, where group is the basic unit and transaction accessing is weight. Through the Stoer-Wagner algorithm, the multi-tenant partition with group as granularity is obtained. The partition algorithm proposed in this paper enables the greatest reduction of distributed transactions between partitions while realizing the dynamic extension on multiple nodes for multi-tenant data based on shared storage. Experiments show that the number of distributed transactions is reduced dramatically compared with other data partition techniques. We also prove that the SaaS applications run at high efficiency.