29
#JCConf 薛元揆 (Study Hsueh) [email protected]

Simplify Multi-Tenant Queries in ORM Frameworks

Embed Size (px)

DESCRIPTION

介紹ORM Frameworks中的多租戶功能的發展

Citation preview

Page 1: Simplify Multi-Tenant Queries in ORM Frameworks

#JCConf

薛元揆 (Study Hsueh)[email protected]

Page 2: Simplify Multi-Tenant Queries in ORM Frameworks

Application

Tenant#1 Tenant#N

Page 3: Simplify Multi-Tenant Queries in ORM Frameworks

Tenant#1

Application

Tenant#2 Tenant#N

Application Application

ServerWAR WAR WAR

Page 4: Simplify Multi-Tenant Queries in ORM Frameworks

Tenant#1

Application

Tenant#2 Tenant#N

ServerWAR

Page 5: Simplify Multi-Tenant Queries in ORM Frameworks

Page 6: Simplify Multi-Tenant Queries in ORM Frameworks

Server

Web Layer

Service Layer

Persistence Layer

2. pass tenant-id to service layer

3. pass tenant-id to persistence layer

Client

1. assign tenant-id when user login, and then make a tenant-related request

Page 7: Simplify Multi-Tenant Queries in ORM Frameworks

Service Layer

Web Layer

Persistence Layer

Page 8: Simplify Multi-Tenant Queries in ORM Frameworks
Page 9: Simplify Multi-Tenant Queries in ORM Frameworks

Service Layer

Web Layer

Persistence Layer

Page 10: Simplify Multi-Tenant Queries in ORM Frameworks

Persistence Layer

Page 11: Simplify Multi-Tenant Queries in ORM Frameworks

Persistence Layer

Page 12: Simplify Multi-Tenant Queries in ORM Frameworks

Model

Page 13: Simplify Multi-Tenant Queries in ORM Frameworks

Model

Page 14: Simplify Multi-Tenant Queries in ORM Frameworks

• Application

Tenant#1 Tenant#N

Page 15: Simplify Multi-Tenant Queries in ORM Frameworks

Application

Tenant#1 Tenant#NTenant#2

DB#1 DB#2 DB#N

Page 16: Simplify Multi-Tenant Queries in ORM Frameworks

Application

Tenant#1 Tenant#NTenant#2

DB

Page 17: Simplify Multi-Tenant Queries in ORM Frameworks

Application

Tenant#1 Tenant#NTenant#2

DB

Page 18: Simplify Multi-Tenant Queries in ORM Frameworks

Performance Management Backup Scalable API Cost

Separate Database

Separate Schema

Discriminator Column

Page 19: Simplify Multi-Tenant Queries in ORM Frameworks

JPA 2.1 Hibernate 4.3.6 Final EclipseLink 2.5.2

Separate database supported supported supported

Separate schema

no (candidate in JEE 8)

supported supported

Discriminator column

no (candidate in JEE 8)

no (will support in 5.0)

supported

Page 21: Simplify Multi-Tenant Queries in ORM Frameworks

Page 22: Simplify Multi-Tenant Queries in ORM Frameworks

Page 23: Simplify Multi-Tenant Queries in ORM Frameworks

Page 24: Simplify Multi-Tenant Queries in ORM Frameworks

Page 25: Simplify Multi-Tenant Queries in ORM Frameworks

Page 26: Simplify Multi-Tenant Queries in ORM Frameworks

Page 27: Simplify Multi-Tenant Queries in ORM Frameworks

Page 29: Simplify Multi-Tenant Queries in ORM Frameworks

薛元揆 (Study Hsueh)[email protected]

@phstudy