멀티테넌시란 무엇인가요?
실제로 아키텍처 관점에서 볼 때 SaaS와 기존 기술의 중요한 차이점은 Multi-Tenant 모델입니다. 멀티 테넌시는 여러 테넌트가 하나의 인스턴스를 사용하고, 테넌트의 데이터가 모두 격리되어 공유되는 것을 의미하며, 최종 분석에서는 데이터 저장 문제를 해결하는 방법입니다.
현재 SaaS 멀티 테넌트에는 데이터 저장을 위한 세 가지 주요 옵션이 있습니다.
옵션 1: 독립 데이터베이스
이것이 첫 번째 옵션입니다. 솔루션은 하나의 테넌트와 하나의 데이터베이스입니다(그림 3-14 참조). 이 솔루션은 가장 높은 사용자 데이터 격리 수준과 최고의 보안을 제공하지만 비용도 높습니다.
장점:
다양한 테넌트에 대해 독립적인 데이터베이스를 제공하면 데이터 모델의 확장 설계를 단순화하고 오류가 발생할 경우 다양한 테넌트의 고유한 요구 사항을 충족하는 데 도움이 됩니다. 데이터를 복원하십시오.
단점:
데이터베이스 설치 수가 늘어나 유지 관리 비용과 구입 비용이 증가합니다.
이 솔루션은 기존의 단일 고객, 단일 데이터 집합, 단일 배포 집합과 유사합니다. 유일한 차이점은 소프트웨어가 운영자에게 균일하게 배포된다는 점입니다. 매우 높은 데이터 격리 수준을 요구하는 은행, 병원 등의 임차인이 있는 경우 이 모델을 선택하여 임대 가격을 높일 수 있습니다. 가격이 낮고 제품이 저가 경로를 택하는 경우 일반적으로 이 솔루션은 운영자에게 적합하지 않습니다.
옵션 2: 데이터베이스를 공유하고 데이터 아키텍처를 격리합니다. 즉, 여러 또는 모든 테넌트가 데이터베이스를 공유하지만 하나의 테넌트와 하나의 스키마를 공유합니다.
장점:
보안 요구 사항이 더 높은 테넌트에 대해 어느 정도 논리적 데이터 격리를 제공하지만 완전한 격리는 아니지만 각 데이터베이스는 더 많은 수의 테넌트를 지원할 수 있습니다.
단점:
오류가 발생하면 데이터 복구가 어렵습니다. 테넌트 간 통계가 필요한 경우 데이터베이스 복원에 다른 테넌트의 데이터가 포함되기 때문입니다. 어려움.
옵션 3: 데이터베이스를 공유하고 데이터 구조를 공유합니다. 즉, 테넌트는 동일한 데이터베이스와 동일한 스키마를 공유하지만 테넌트의 데이터는 테이블에서 TenantID로 구분됩니다. 이는 즐거움이 가장 높고 고립감이 가장 낮은 모드입니다.
장점:
세 가지 옵션을 비교할 때 세 번째 옵션은 유지 관리 및 구입 비용이 가장 낮으며 각 데이터베이스가 가장 많은 수의 테넌트를 지원할 수 있습니다.
단점:
격리 수준도 가장 낮고 보안도 가장 낮습니다. 데이터 백업 및 복구 과정에서 보안 개발의 양을 늘려야 합니다. 가장 어렵고, 테이블별로, 항목별로 줄여서 백업하고 복원해야 합니다. 이 솔루션은 가장 적은 수의 서버로 가장 많은 테넌트에게 서비스를 제공하고 테넌트가 더 낮은 비용을 대가로 격리 수준을 희생하는 것을 허용하는 경우에 가장 적합합니다.
CRM 시스템은 향후 중저가 시장에 집중할 예정이므로 데이터 격리가 잘 이루어지면 세 번째 옵션을 채택하는 것이 좋습니다. 가볍게 여기지 마십시오. SaaS에서의 보안 설계는 매우 중요합니다. 일반적으로 일반적인 보안 설계는 시스템 수준과 프로그램 수준의 두 가지 범주로 나뉩니다.
시스템 수준:
HTTPS 프로토콜을 사용하여 SSL(Security Socket Layer)과 데이터를 교환하여 통신 보안을 강화합니다. 디지털 서명을 통해 전송 프로세스 중 변조를 방지합니다. 사용자 식별 알고리즘 데이터 암호화 비즈니스 데이터는 정기적으로 자동 백업됩니다.
프로그램 수준:
JS 공격, XSS 공격, SQL 주입 등을 방지하기 위한 기능 권한 및 데이터 권한을 포함한 완전한 권한 구성. 비밀번호 관리, 사진 인증 코드, 휴대폰 확인 코드로