Font Size: a A A

Researches On Index Models Which Support SAAS Applications

Posted on:2015-02-23Degree:MasterType:Thesis
Country:ChinaCandidate:C PangFull Text:PDF
GTID:2268330431453430Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
SaaS (Software as a Service) is a software delivery model, in which software and related data are stored centrally and maintained uniformly by the service provider. The advantage of this delivery model is taking advantage of economies of scale to reduce the average cost of tenant applications. Among data storage models for SaaS applications, sparse table model is widely used in which data of multiple tenants is stored in a shared physical sparse table; a record of the table includes a logical record of the tenant, the tenant identification and the logical table identification.For a SaaS application, data volume sustained by the database increases steadily as the number of tenants’increases, in order to guarantee performances of query operations in large data sets, it is necessary to establish adequate index structures for tenant data. However, most of existing data indexing models are not designed for SaaS applications and cannot be aware of multitenant properties. Moreover, creating physical indices on columns of a sparse table directly is inefficient.In this paper, we put forward a feasible multitenant indexing model through establishing appropriate shared and isolated storage level for tenant index data. As the types of tenant indices corresponding to the same logical table are similar, the core idea of the model is synchronously copying data marked for indexing to appropriate columns of the corresponding index data table according to the logical table, data types of indexed columns and unique constraints,In terms of performances, index data tables have higher space utilization rates compared with those of sparse data tables, detaches index data based on logic tables rather than tenants, thus preventing the skyrocketing increase of number of physical tables caused by the linear relativity between number of index data tables and number of tenants; consequently, memory consumption will be reduced significantly, especially for SaaS applications with multiple replicas. We set a threshold for the number of indices that an index data table could sustain, thus balancing the loads of an index data table and mitigating the negative effects of skew tenant index types.The theoretical and experimental analyses show that this model could sustain tenant index structures upon large data volume and improve performance of index query operations significantly, while the performance losses of index maintenance operations are relatively mild.Limitations of the index model mentioned above is that a copy of data of one tenant must reside on the same physical node. For SaaS applications whose data volume increases gradually, such as online document systems, network disks etc.,the number of nodes increases gradually as the amount of business data increase in order to achieve a high storage utilization;if the columns with practical significance are chosen as the sharding key, data sharding should be carried out ahead, and data migration should occur with the addition of new nodes.Consequently, the columns without practical significance are chosen as the sharding key, a copy of data of one tenant disperses in multiple nodes.A problem arises then that a query should be executed on all of the nodes concurrently, even if a local index has been built on the columns which the query criteria relate to;but the query results locate in parts of the nodes constantly, especially for single-value query.This paper attempts to improve the efficiency of these parallel queries, hence introduces the CG(Cloud Global) Index into SaaS applications,achieving a multi-tenant, multi-level index model based on BATON(BAlanced Tree Overlay Network). The strategy is to build a B+tree index for local data, and then publish some nodes of the tree to the global BATON to create a global index.As a query is being executed, the number of nodes participating in parallel local searches is reduced due to the global index;and the local search could just start from one node that has been published to the global index rather than from the root node of a local B+tree, thus reducing the depth of a local search.The experiments are based on Mongodb, and the experimental results show that the multi-level index model reduces resource consumption of parallel searches effectively and achieves higher efficiency and concurrency.
Keywords/Search Tags:SaaS, multitenant, storage model, index
PDF Full Text Request
Related items