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
- 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.
- 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.
- 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
