sql >> Database teknologi >  >> RDS >> Mysql

Hvordan opretter man en database med flere lejere med delte tabelstrukturer?

Men der er selvfølgelig nogle virksomheder, der frygter, at deres data kan blive kompromitteret, så vi vurderer andre løsninger.

Dette er uheldigt, da kunder nogle gange lider af en misforståelse om, at kun fysisk isolation kan tilbyde tilstrækkelig sikkerhed.

Der er en interessant MSDN-artikel med titlen Multi-Tenant Data Architecture , som du måske vil tjekke. Sådan adresserede forfatterne misforståelsen i forhold til den fælles tilgang:

En almindelig misforståelse hævder, at kun fysisk isolation kan give et passende sikkerhedsniveau. Faktisk kan data, der er gemt ved hjælp af en shared-tilgang, også give stærk datasikkerhed, men kræver brug af mere sofistikerede designmønstre.

Hvad angår tekniske og forretningsmæssige overvejelser, giver artiklen en kort analyse af, hvor en bestemt tilgang kan være mere passende end en anden:

Antallet, arten og behovene hos de lejere, du forventer skal tjene, påvirker alle dine beslutninger om dataarkitektur på ligegyldige måder. Nogle af de følgende spørgsmål kan påvirke dig i retning af en mere isoleret tilgang, mens andre kan påvirke dig i retning af en mere fælles tilgang.

  • Hvor mange potentielle lejere forventer du at målrette mod? Du er måske ikke i nærheden af ​​at være i stand til at vurdere den potentielle brug med autoritet, men tænk i størrelsesordener:bygger du en ansøgning til hundredvis af lejere? Tusinder? Titusinder? Mere? Jo større du forventer, at din lejerskare er, jo mere sandsynligt vil du overveje en mere fælles tilgang.

  • Hvor meget lagerplads forventer du, at den gennemsnitlige lejers data optager? Hvis du forventer, at nogle eller alle lejere skal gemme meget store mængder data, er denne tilgang med separat database sandsynligvis bedst. (Krav til datalagring kan faktisk tvinge dig til at anvende en separat database-model alligevel. Hvis det er tilfældet, vil det være meget lettere at designe applikationen på den måde fra begyndelsen end at gå over til en separat database-tilgang senere.)

  • Hvor mange samtidige slutbrugere forventer du, at den gennemsnitlige lejer understøtter? Jo større antal, jo mere passende vil en mere isoleret tilgang være til at opfylde slutbrugernes krav.

  • Forventer du at tilbyde nogen værditilvækst tjenester for per-lejer, såsom per-lejer backup og gendannelse? Sådanne tjenester er nemmere at tilbyde gennem en mere isoleret tilgang.

OPDATERING: Yderligere at opdatere om det forventede antal lejere.

Det forventede antal lejere (10.000) bør udelukke multidatabase-tilgangen for de fleste, hvis ikke alle scenarier. Jeg tror ikke, du har lyst til ideen om at vedligeholde 10.000 databaseforekomster og skulle oprette hundredvis af nye hver dag.

Alene ud fra denne parameter ser det ud til, at tilgangen med et enkelt skema med delt database er den bedst egnede. Det faktum, at du vil gemme kun omkring 50 Mb pr. lejer, og at der ikke vil være nogen per-lejer tilføjelser, gør denne tilgang endnu mere passende.

MSDN-artiklen, der er citeret ovenfor, nævner tre sikkerhedsmønstre, der håndterer sikkerhedsovervejelser for tilgangen til delt database:

Når du er sikker på din applikations datasikkerhedsforanstaltninger, vil du være i stand til at tilbyde dine kunder en serviceniveauaftale der giver stærke datasikkerhedsgarantier. I din SLA kan du udover garantierne også beskrive de foranstaltninger, du vil tage for at sikre, at data ikke kompromitteres.

OPDATERING 2: Tilsyneladende har Microsoft-fyrene flyttet / lavet en ny artikel om dette emne, det originale link er væk, og dette er det nye:Multi-tenant SaaS-databaselejemønstre (ros til Shai Kerer)



  1. Befolkning af træelement med rekordgruppe i Oracle-formularer

  2. Hvordan kan jeg indsætte data i SQL Server ved hjælp af VBNet

  3. Indsamlingsmetode:COUNT-funktion i Oracle-databasen

  4. Er INSERT RETURNING garanteret at returnere tingene i den rigtige rækkefølge?