RSS DEV 커뮤니티

소프트웨어의 멀티 테넌트 아키텍처: 무엇이고 데이터베이스 패턴은 무엇입니까?

다중 테넌트 아키텍처는 단일 인스턴스의 애플리케이션이 여러 테넌트(회사, 그룹 또는 개인 사용자)를 서비스하는 소프트웨어 아키텍처 접근 방식입니다. 각 테넌트의 데이터는 격리되어 있으며, 동일한 인프라와 코드베이스를 공유하는 경우에도 사용자 지정됩니다. 다중 테넌트 애플리케이션의 간단한 예는 공동 주택입니다. 여기서 각 테넌트는 자물쇠가 있는 자신의 방(데이터)을 가지고 있으며, 공용 시설(인프라)을 공유합니다. Slack 또는 Jira와 같은 클라우드 서비스에서 각 회사는 동일한 시스템을 사용하지만 자신의 데이터와 사용자 지정만 볼 수 있습니다. 다중 테넌트 아키텍처는 사용자 계정과 달리 각 테넌트가 격리된 공간을 가지고 있다는 점에서 다릅니다. 사용자 계정은 동일한 데이터와 일반적인 구성 설정을 공유합니다. 다중 테넌트 애플리케이션에서 각 테넌트는 서로 다른 구성, 브랜딩 또는 기능을 가질 수 있습니다. 다중 테넌트 애플리케이션에서 데이터베이스를 관리하려면 데이터베이스를 설계하는 방법을 결정해야 합니다. 예를 들어, 모든 테넌트에 대해 하나의 데이터베이스와 하나의 스키마를 사용하거나, 각 테넌트에 대해 별도의 데이터베이스를 사용하거나, 각 테넌트에 대해 별도의 스키마를 사용하는 하나의 데이터베이스를 사용할 수 있습니다. 각 접근 방식에는 격리, 사용자 지정 및 리소스 비용과 관련된 장단점이 있습니다. 다중 테넌트 아키텍처는 프로젝트 관리 도구 및 클라우드 서비스와 같은 SAAS(소프트웨어로서의 서비스) 애플리케이션에서 일반적으로 사용됩니다. 다중 테넌트 패턴을 이해하면 개발자가 더 효율적이고 확장 가능한 애플리케이션을 설계하고 구현하는 데 도움이 될 수 있습니다.
favicon
dev.to
Multi Tenant Architecture in Software: What Is It and Its Databases Patterns
기사 이미지: 소프트웨어의 멀티 테넌트 아키텍처: 무엇이고 데이터베이스 패턴은 무엇입니까?