Compartilhamento de tecnologia

Data warehouse de colmeia multilocatário

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Conceito

A multilocação corresponde a um único locatário. Este artigo se concentra na multilocação.

1.1 Multilocação

A tecnologia multilocatário, ou tecnologia multilocatário, conhecida como SaaS, é uma tecnologia de arquitetura de software que percebe como compartilhar o mesmo sistema ou componentes de programa em um ambiente multiusuário (multiusuários aqui geralmente são para usuários corporativos), e pode garantir o isolamento de dados entre usuários. Simplificando: uma única instância de aplicativo é executada em um servidor e atende vários locatários (clientes). Pela definição podemos entender:Multilocação é uma arquitetura que visa permitir que vários usuários utilizem o mesmo conjunto de programas e garantir o isolamento de dados entre os usuários.

1.2 Inquilino Único

A diferença entre arquiteturas de locatário único e multilocatário é que o locatário único cria aplicativos de software e ambientes de suporte separados para cada usuário. O SaaS de locatário único é amplamente citado em aplicações onde os clientes precisam oferecer suporte à personalização, seja por causa da geografia ou porque exigem controles de segurança mais elevados. Através do modelo de locatário único, cada cliente tem uma cópia do banco de dados e do sistema operacional colocada em um servidor independente ou em um ambiente de rede virtual isolado por meio de fortes medidas de segurança.

1.3 A diferença entre locatário único e multilocatário

  1. Existem diferentes níveis de controle de segurança. Os bancos de dados multilocatários armazenam dados de vários locatários independentes. Embora o isolamento de segurança esteja configurado, o nível de controle de segurança ainda é maior do que o de um único locatário. Como um único locatário possui um ambiente de software e hardware independente e o banco de dados armazena apenas os dados de um locatário, a possibilidade de vazamento de dados é tecnicamente eliminada. A arquitetura de locatário único às vezes é mais adequada para determinados setores que exigem controle de segurança ou mesmo. requisitos de conformidade legal.
  2. Os backups de dados variam em complexidade. Um único locatário possui um banco de dados independente e o backup e a recuperação dos bancos de dados dos clientes são muito fáceis. Multilocatários compartilham um banco de dados e os dados dos locatários são isolados e compartilhados. O sistema não pode realizar backups independentes da empresa automaticamente todos os dias.
  3. Os tempos de atualização do controle variam. Os custos de manutenção do sistema multilocatário são baixos e, quando um sistema multilocatário é atualizado, ele só precisa ser atualizado uma vez. O pessoal de manutenção não precisa atualizar cada usuário, economizando muitos custos de operação e manutenção. Isto é útil para sistemas onde todos os clientes estão fazendo a mesma coisa. No entanto, se o momento de atualização do sistema ocorrer quando a empresa estiver particularmente ocupada, isso inevitavelmente terá um impacto nos usuários corporativos.

Cenários de aplicação: A multilocação é adequada para várias empresas (departamentos) diferentes no mesmo grupo (empresa). Mesmo que os dados vazem, eles não serão vazados para o exterior.

2. Solução de isolamento de dados multilocatário

  • banco de dados independente
  • Banco de dados compartilhado, esquema independente
  • Banco de dados compartilhado, esquema compartilhado, tabela de dados compartilhada

2.1 Banco de dados independente

Esta é a primeira solução, um locatário e um banco de dados.Esta solução possui o mais alto nível de isolamento de dados do usuário e a melhor segurança, mas o custo é mais alto.

  • Vantagens: Fornecer bancos de dados independentes para diferentes locatários ajuda a simplificar o design de expansão do modelo de dados e atender às necessidades exclusivas de diferentes locatários. Se ocorrer uma falha, é relativamente simples restaurar os dados;
  • Desvantagens: Aumenta o número de instalações de banco de dados, resultando em aumento dos custos de manutenção e de aquisição.

Esta solução é semelhante ao cliente tradicional, um conjunto de dados e um conjunto de implantação. A única diferença é que o software é implantado de maneira uniforme na operadora. Se você estiver enfrentando inquilinos como bancos e hospitais que exigem níveis de isolamento de dados muito altos, você pode escolher este modelo para aumentar o preço do aluguel. Se o preço for baixo e o produto seguir uma rota de preço baixo, esta solução é geralmente inacessível para os operadores.

2.2 Banco de dados compartilhado, esquema independente

Esta é a segunda solução, ou seja, vários ou todos os locatários compartilham o Banco de Dados, mas cada locatário possui um Esquema (também chamado de usuário). As bibliotecas subjacentes são, por exemplo: DB2, ORACLE, etc. Pode haver vários SCHEMAs em um banco de dados.

  • Vantagens: Fornece um certo grau de isolamento lógico de dados para locatários com requisitos de segurança mais elevados, mas não o isolamento completo, cada banco de dados pode suportar um número maior de locatários;
  • Desvantagens: Se ocorrer uma falha, a recuperação dos dados será difícil porque a restauração do banco de dados envolverá os dados de outros inquilinos, se forem necessárias estatísticas entre inquilinos, haverá certas dificuldades;

2.3 Banco de dados compartilhado, esquema compartilhado, tabela de dados compartilhada

Esta é a terceira opção, Ou seja, os locatários compartilham o mesmo banco de dados e esquema, mas adicionam o campo de dados multilocatário TenantID à tabela.Este é o modo com maior grau de compartilhamento e menor nível de isolamento
Ou seja, toda vez que um dado é inserido, é necessário um ID do cliente. Desta forma, os dados de diferentes clientes podem ser distinguidos na mesma tabela.

  • Vantagens: Comparação de três opções,A terceira opção apresenta os menores custos de manutenção e aquisição e permite o maior número de locatários por base de dados.
  • Desvantagens: O nível de isolamento mais baixo e a segurança mais baixa, exigindo mais desenvolvimento de segurança durante o projeto e o desenvolvimento; O backup e a recuperação de dados são os mais difíceis, exigindo backup e restauração tabela por tabela.Esta solução é mais adequada se você deseja atender o maior número de locatários com o menor número de servidores, e os locatários aceitam sacrificar o nível de isolamento em troca de custos mais baixos.

2.4 Resumo

Durante o processo de implementação de SaaS, há um ponto de consideração óbvio: como projetar dados de aplicativos para suportar multilocatários. A ideia desse design é encontrar um equilíbrio entre compartilhamento de dados, isolamento de segurança e desempenho.As características dos três modos podem ser resumidas em uma imagem

Armazém de dados hive multilocatário multilocatário saas_multi-tenant