A novel datasource and connection pool framework for multi-tenant database cloud
Publication Date: 2010-Oct-14
The IP.com Prior Art Database
Introduce a mechanism and apparatus to produce a novel tenant aware data source for SaaS ( managed connection pool, MT JDBC Driver) , which Tenant-aware Connection Pooling enables one data source to connect to sets of underlying database instead of many database sources for every database. It has two features: The first is transparently without modifying existing code. The second one is dynamically (MT Connection Router & MT JDBC Driver) routing tenant's data access request to corresponding databases.
Page 01 of 3
A novel datasource and connection pool framework for multi -
-tenant database cloud
tenant database cloud
In the SaaS environment, in order to support massive tenants , many databases should be supported . And should be easily to add or remove the database with the tenants increase or decrease , while not modify the existing source code . A novel transparent tenant aware data source and connection pooling mechanism is implemented . It is a single, runtime self-maintained datasource for multi -tenant scenario in SaaS.
There are two compotents : MT DataSource component and MT Datasource Admin component .
MT Datasource component uses the proxy datasource to read the tenant info (for example: tenant name and offering name ) through the tenant context threadlocal to make the application transparent . And then, proxy datasource gets the corresponding database info , and get the database connection from the connection pool and route tenant 's data access request to correspondingdatabase . MT Datasource uses tenant aware key for connection pooling , now using tenant db URL plus db user name as the pool key in orderto minimum the connection number in massive tenant scenario. The real physical connection will handles tenant isolation inside (for example: share tables within tenants , share db within tenants or separated db for every tenant ).
MT Datasource admin component maintains sets of underlying databases to add or remove the database info for this datasource . And r...