데이터 베이스 MySQL 튜토리얼 基于SaaS模式下的数据库架构设计策略(再思考)

基于SaaS模式下的数据库架构设计策略(再思考)

Jun 07, 2016 pm 03:23 PM
saas 기반으로 생각하다 데이터 베이스 건축학 모델 전략 설계

原以为基于SaaS架构的数据库数据隔离的设计,无外乎就是3种设计模式: (1)独立数据库 (2)Share数据库,独立Schema (3)Share数据库.Share Schema,每个表均加以个 tenentid(租户ID),这3种模式的优缺点大家都提了很多了,SaaS架构设计的前辈/我/阿里软件

原以为基于SaaS架构的数据库数据隔离的设计,无外乎就是3种设计模式:
(1)独立数据库
(2)Share数据库,独立Schema
(3)Share数据库.Share Schema,每个表均加以个 tenentid(租户ID),这3种模式的优缺点大家都提了很多了,SaaS架构设计的前辈/我/阿里软件最新出的那本书,也都是这么讲的,包括2年前微软推出的SaaS架构设计指南,也都是这么说的。最近一直在思索这个问题,难道真的就没别的出路了?

这3种模式中,第一种做SaaS架构的,相信都不会采纳了,但是第2种与第3种设计的架构之争,常常是谁也说服不了谁。这两种架构,各有优缺点,而且都还很鲜明。

第2种架构设计,Share数据库,独立Schema,比较适用于复杂MIS的应用,数据库关联比较多;而第3种架构设计,适合简单的网站应用,比如网上书店,Performance显然第3种架构比较好,但是数据隔离权限太复杂,对程序员要求比较高,第2种由于Performance问题比较大,对软件系统架构师要求很高。而且第2种,在对B2B网站和供应链/进销存系统整合的应用中,如果综合查询所有租户(供应商/客户)的统计数据,则几乎是不可能的,每个租户之间的数据很难综合共享,每个之间都是数据孤岛。

难道真的就没有更好的设计了吗?后来,在每天不断的苦苦求索当中,终于看到了一缕曙光,利用数据库的特性,也许可以把第2类和第3类设计的优点整合起来,就可以解决这个难题了,只是牺牲了跨数据库的优点,但是对应用程序架构的设计,改动是不大的,而且综合了设计2和设计3的优点,个人认为,这种牺牲,在具体应用中,还是值得的。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

ZTE 5G 휴대용 Wi-Fi U50S는 초기 가격 NT$899에 판매됩니다: 최대 네트워크 속도 500Mbps ZTE 5G 휴대용 Wi-Fi U50S는 초기 가격 NT$899에 판매됩니다: 최대 네트워크 속도 500Mbps Apr 26, 2024 pm 03:46 PM

ZTE 5G 휴대용 Wi-Fi U50S는 초기 가격 NT$899에 판매됩니다: 최대 네트워크 속도 500Mbps

Honor Magic V3, AI 디포커스 눈 보호 기술 출시: 근시 발병을 효과적으로 완화 Honor Magic V3, AI 디포커스 눈 보호 기술 출시: 근시 발병을 효과적으로 완화 Jul 18, 2024 am 09:27 AM

Honor Magic V3, AI 디포커스 눈 보호 기술 출시: 근시 발병을 효과적으로 완화

golang 프레임워크 아키텍처의 학습 곡선은 얼마나 가파르나요? golang 프레임워크 아키텍처의 학습 곡선은 얼마나 가파르나요? Jun 05, 2024 pm 06:59 PM

golang 프레임워크 아키텍처의 학습 곡선은 얼마나 가파르나요?

손으로 찢기 Llama3 레이어 1: 처음부터 llama3 구현 손으로 찢기 Llama3 레이어 1: 처음부터 llama3 구현 Jun 01, 2024 pm 05:45 PM

손으로 찢기 Llama3 레이어 1: 처음부터 llama3 구현

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 Jun 04, 2024 pm 01:42 PM

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼

2024년 Apple iPad Pro/Air는 2세대 Apple Pencil을 지원하지 않습니다. 필요한 경우 새 모델을 구입할 수 있습니다. 2024년 Apple iPad Pro/Air는 2세대 Apple Pencil을 지원하지 않습니다. 필요한 경우 새 모델을 구입할 수 있습니다. May 08, 2024 pm 04:07 PM

2024년 Apple iPad Pro/Air는 2세대 Apple Pencil을 지원하지 않습니다. 필요한 경우 새 모델을 구입할 수 있습니다.

새로운 스태킹 프로세스! Xiaomi MIX Fold 4에는 처음으로 Jinshajiang '3차원 특수형' 배터리가 장착되었습니다. 새로운 스태킹 프로세스! Xiaomi MIX Fold 4에는 처음으로 Jinshajiang '3차원 특수형' 배터리가 장착되었습니다. Jul 20, 2024 am 03:20 AM

새로운 스태킹 프로세스! Xiaomi MIX Fold 4에는 처음으로 Jinshajiang '3차원 특수형' 배터리가 장착되었습니다.

검토! 자율주행 촉진을 위한 기본 모델의 중요한 역할을 종합적으로 요약 검토! 자율주행 촉진을 위한 기본 모델의 중요한 역할을 종합적으로 요약 Jun 11, 2024 pm 05:29 PM

검토! 자율주행 촉진을 위한 기본 모델의 중요한 역할을 종합적으로 요약

See all articles