데이터베이스 멀티 테넌시
우선 세입자가 무엇인지 이해하는 것부터 시작합시다.그러면 세입자는 자신의 집이나 사업을 위해 땅이나 부동산을 임대하는 사람입니다.
테넌시의 기술 버전은 애플리케이션 및 인프라의 인스턴스가 고객에게 서비스를 제공하는 아키텍처입니다.
단일 테넌트 vs 멀티 테넌트
멀티 테넌시:
멀티 테넌시(Multi-tenancy)는 하나 이상의 응용 프로그램의 여러 독립 인스턴스가 공유 환경에서 작동하는 소프트웨어의 작동 모드를 말합니다.인스턴스(테넌트)는 논리적으로는 분리되어 있지만 물리적으로 통합되어 있습니다.
중요도:
- 멀티 테넌시(Multi-tenancy)는 많은 채택이 가능하며 클라우드 컴퓨팅에서 가장 많이 사용됩니다.
- 멀티 테넌트(Multi-tenant) 아키텍처는 퍼블릭 클라우드 환경과 프라이빗 클라우드 환경 모두에서 사용되므로 각 테넌트의 데이터를 서로 분리할 수 있습니다.
- 멀티 테넌시(Multi-tenancy)는 퍼블릭 및 프라이빗 클라우드의 확장성에도 중요하며 멀티 테넌시(Multi-tenancy)를 표준으로 만드는 데 도움이 되었습니다.
- 멀티 테넌트(Multi-tenant) 아키텍처는 더 나은 기능을 제공하는 데에도 도움이 됩니다.
조직을 위한 투자수익률(ROI)과 테넌트의 유지 보수 및 업데이트 속도를 높입니다.
예를 들어 멀티 테넌트(Multi-tenant) 퍼블릭 클라우드에서는 여러 사용자를 호스트하기 위해 호스트 환경에서 동일한 서버를 사용합니다.각 사용자에게는 데이터를 저장하기 위한 이상적인 보안 공간이 서버 내에 별도로 주어집니다.
단일 데이터베이스, 공유 스키마:
단일 데이터베이스를 사용하여 모든 테넌트의 모든 데이터를 보관하고 테넌트 ID는 각 테넌트를 소유한 행과 연결합니다.이 공유 스키마 방식은 하나의 데이터베이스를 사용하여 다수의 테넌트/클라이언트에 서비스를 제공할 수 있기 때문에 하드웨어 및 백업 비용이 가장 낮습니다.
공유 스키마 접근방식은 애플리케이션이 적은 수의 서버로 다수의 테넌트/클라이언트에 서비스를 제공할 수 있다는 것이 중요한 경우에 적합합니다.이러한 방법으로 설계된 애플리케이션의 유지보수 및 지원 요건을 대폭 줄입니다.
장점과 단점:
장점:
- 유지관리할 단일 데이터베이스 스키마와 프로세스를 한 번 적용해야 하는 간단한 스키마 업데이트 원격 설치 프로세스입니다.
- 단일 데이터베이스의 고가용성/디저스터 리커버리/유지보수 운용/모니터링 전략을 관리합니다.
- 단일 스키마, 연결할 단일 데이터베이스.
단점:
- 테넌트 분리 없음(모든 테넌트는 테넌트 ID가 유일한 차별화 요소인 다른 테넌트와 결합됩니다).
- 개발자가 테넌트 ID에서 필터링할 WHERE 절을 놓치면 한 테넌트의 데이터가 다른 테넌트에 노출될 수 있습니다.
- 단일 테넌트의 데이터를 쉽게 복원할 수 없습니다.
단일 데이터베이스, 개별 스키마:
단일 데이터베이스에는 모든 테넌트의 데이터가 저장됩니다.각 테이블이 테넌트별 스키마로 설정되는 각 테넌트에 대해 테이블을 구분합니다.
장점과 단점:
장점:
- 테넌트 데이터의 분리가 강화됩니다.
- 단일 데이터베이스의 고가용성/디저스터 리커버리/유지보수 운용/모니터링 전략을 관리합니다.
- 최적화는 개별 테넌트의 스키마 수준에서 수행할 수 있습니다.
단점:
- 단일 테넌트의 데이터를 쉽게 복원할 수 없습니다(단일 데이터베이스, 공유 스키마 접근 방식보다 약간 더 나은 프로세스이지만 테넌트 데이터의 격리로 인해).
- 테넌트 수가 증가함에 따라 관리 및 유지 관리할 데이터베이스 개체가 많이 생성될 것입니다.
- 스키마 업데이트는 더 복잡하며 n개의 테넌트에 롤아웃해야 합니다.
테넌트당 데이터베이스 수:
각 테넌트에는 데이터베이스가 있습니다.시스템에 새 테넌트가 추가될 때마다 사용자를 위해 새 데이터베이스가 생성됩니다.새 테넌트가 추가될 때마다 테넌트에 대해 별도의 데이터베이스를 생성하는 새 스키마가 생성됩니다.
장점과 단점:
장점:
- 최고 수준의 테넌트 격리.공유 서버 및 격리 서버 옵션을 지원합니다.
- 테넌트의 데이터를 쉽게 복원/재위치/삭제할 수 있습니다.
- 쿼리의 복잡성이 추가되지 않았습니다.
단점:
- 패치를 적용하여 보안을 유지하는 서버가 늘어날 수 있습니다.
- 테넌트 수가 증가함에 따라 관리 및 유지 관리할 데이터베이스 개체가 많이 생성될 것입니다.
- 새 스키마를 생성해야 하므로 새 테넌트를 추가하는 작업이 더 중요합니다.
다중 데이터베이스, 데이터베이스당 다중 테넌트, 공유 스키마
이는 테넌트당 단일 데이터베이스, 공유 스키마 및 데이터베이스의 조합입니다.데이터베이스 풀을 사용할 수 있습니다.테넌트는 데이터베이스 및 스키마를 다른 테넌트와 공유하지만 여러 데이터베이스에 분산되어 있습니다.
장점과 단점:
장점:
- 일반적으로 단일 데이터베이스 단일 스키마를 통해 일부 테넌트 분리가 가능합니다.
- 테넌트의 데이터를 재배치할 수 있습니다(단, 테넌트당 데이터베이스에 접근하는 것보다 어렵습니다).
- 비용(더 높은 테넌트 밀도)과 성능(더 낮은 테넌트 밀도) 사이에서 균형을 맞추려면 선택하십시오.
단점:
- 테넌트는 여전히 데이터베이스 및 스키마를 다른 사용자와 공유합니다.
- 유지보수가 더 필요합니다.
결론:
여기에는 멀티 테넌시(Multi-tenancy)에 대한 설명과 데이터베이스의 아키텍처 수준에서 멀티 테넌시(Multi-tenancy)를 사용하는 방법에 대한 각각의 장점과 단점이 요약되어 있습니다.필요한 접근 방식은 애플리케이션 유형과 데이터 크기에 따라 결정됩니다.
출처: https://medium.com/@harish.somasundar14/database-multi-tenancy-7c8dbe848d50
'Programing' 카테고리의 다른 글
hiverfil.sys 삭제방법은 어떻게 되나요? (0) | 2023.03.13 |
---|---|
hiverfil.sys 파일이란 (0) | 2023.03.13 |
vgk.sys 파일 삭제 방법은 어떻게 되나요? (0) | 2023.03.13 |
vgk.sys 파일이란? (0) | 2023.03.13 |
Fiddler 에 GET , POST 컬럼 추가 (0) | 2023.03.03 |
댓글