Implementar Multi-tenancy
Em Milvus, multi-tenancy significa que vários clientes ou equipas - referidos como tenants -partilham o mesmo cluster enquanto mantêm ambientes de dados isolados.
O Milvus suporta quatro estratégias de multi-tenancy, cada uma oferecendo um compromisso diferente entre escalabilidade, isolamento de dados e flexibilidade. Este guia apresenta cada opção, ajudando-o a escolher a estratégia mais adequada para o seu caso de utilização.
Estratégias de multilocação
Milvus suporta multi-tenancy em quatro níveis: Banco de dados, Coleção, Partição e Chave de Partição.
Multitenancy ao nível da base de dados
Com o multi-tenancy ao nível da base de dados, cada inquilino recebe uma base de dados correspondente que contém uma ou mais colecções.
Multiluguer ao nível da base de dados
Escalabilidade: A estratégia de multi-tenancy ao nível da base de dados suporta um máximo de 64 inquilinos por defeito.
Isolamento de dados: Os dados em cada base de dados são totalmente separados, oferecendo um isolamento de dados de nível empresarial ideal para ambientes regulamentados ou clientes com necessidades de conformidade rigorosas.
Flexibilidade: Cada base de dados pode ter colecções com esquemas diferentes, oferecendo uma organização de dados altamente flexível e permitindo que cada inquilino tenha o seu próprio esquema de dados.
Outros: Esta estratégia também suporta o RBAC, permitindo um controlo refinado do acesso do utilizador por inquilino. Além disso, pode carregar ou libertar dados de forma flexível para inquilinos específicos para gerir eficazmente os dados quentes e frios.
Multitenancy ao nível da coleção
Com o multilocatário ao nível da coleção, é atribuída uma coleção a cada inquilino, oferecendo um forte isolamento de dados.
Multiluguer ao nível da coleção
Escalabilidade: Uma vez que um cluster pode conter até 65.536 colecções por predefinição, esta estratégia pode acomodar o mesmo número de inquilinos no cluster.
Isolamento de dados: As colecções são fisicamente isoladas umas das outras. Esta estratégia proporciona um forte isolamento de dados.
Flexibilidade: Esta estratégia permite que cada coleção tenha o seu próprio esquema, acomodando inquilinos com diferentes esquemas de dados.
Outros: Esta estratégia também suporta RBAC, permitindo um controlo de acesso granular sobre os locatários. Além disso, pode carregar ou libertar dados de forma flexível para inquilinos específicos para gerir eficazmente dados quentes e frios.
Multitenancy em nível de partição
No multilocatário ao nível da partição, cada locatário é atribuído a uma partição criada manualmente dentro de uma coleção partilhada.
Multiluguer ao nível da partição
Escalabilidade: Uma coleção pode conter até 1024 partições por coleção, permitindo o mesmo número de inquilinos dentro da mesma.
Isolamento de dados: Os dados de cada locatário são fisicamente separados por partições.
Flexibilidade: Esta estratégia requer que todos os locatários partilhem o mesmo esquema de dados. E as partições precisam de ser criadas manualmente.
Outros: O RBAC não é suportado no nível da partição. Os locatários podem ser consultados individualmente ou em várias partições, o que torna essa abordagem adequada para cenários que envolvem consultas agregadas ou análises em segmentos de locatários. Além disso, é possível carregar ou liberar dados de forma flexível para locatários específicos para gerenciar dados quentes e frios com eficiência.
Multilocação em nível de chave de partição
Com esta estratégia, todos os locatários partilham uma única coleção e esquema, mas os dados de cada locatário são automaticamente encaminhados para 16 partições fisicamente isoladas com base no valor da chave de partição. Embora cada partição física possa conter vários locatários, os dados de diferentes locatários permanecem logicamente separados.
Nível da chave de partição Multi-inquilino
Escalabilidade: A estratégia de nível de chave de partição oferece a abordagem mais escalável, suportando milhões de locatários.
Isolamento de dados: Esta estratégia oferece um isolamento de dados relativamente fraco porque vários locatários podem partilhar uma partição física.
Flexibilidade: Como todos os locatários devem compartilhar o mesmo esquema de dados, essa estratégia oferece flexibilidade limitada de dados.
Outros: O RBAC não é suportado no nível da chave de partição. Os locatários podem ser consultados individualmente ou em várias partições, o que torna esta abordagem adequada para cenários que envolvem consultas agregadas ou análises em segmentos de locatários.
Escolher a estratégia multi-tenancy correta
A tabela abaixo oferece uma comparação abrangente entre os quatro níveis de estratégias de multilocação.
Nível da base de dados |
Nível de coleção |
Nível de partição |
Nível de chave de partição |
|
|---|---|---|---|---|
Isolamento de dados |
Físico |
Físico |
Físico |
Físico + Lógico |
Número máximo de locatários |
Por defeito, 64. Pode aumentá-lo modificando o parâmetro |
Por predefinição, 65.536. Pode ser aumentado modificando o parâmetro |
Até 1 024 por coleção. |
Milhões de euros |
Flexibilidade do esquema de dados |
Alta |
Média |
Baixa |
Baixa |
Suporte RBAC |
Sim |
Sim |
Não |
Não |
Desempenho da pesquisa |
Forte |
Forte |
Médio |
Médio |
Suporte de pesquisa entre inquilinos |
Não |
Não |
Sim |
Sim |
Suporte para o tratamento eficaz de dados quentes e frios |
Sim |
Sim |
Sim |
Não Atualmente, não há suporte para a estratégia de nível de chave de partição. |
Há vários factores a considerar quando se escolhe a estratégia multi-tenancy em Milvus.
Escalabilidade: Chave de partição > Partição > Coleção > Base de dados
Se espera suportar um número muito grande de locatários (milhões ou mais), utilize a estratégia de nível de chave de partição.
Fortes requisitos de isolamento de dados: Base de dados = Coleção > Partição > Chave de partição
Escolha estratégias de nível de banco de dados, coleção ou partição se tiver requisitos rígidos de isolamento de dados físicos.
Esquema de dados flexível para os dados de cada locatário: Base de dados > Coleção > Partição = Chave de partição
As estratégias ao nível da base de dados e ao nível da coleção proporcionam total flexibilidade nos esquemas de dados. Se as estruturas de dados dos seus inquilinos forem diferentes, escolha multilocação ao nível da base de dados ou ao nível da coleção.
Outros
Desempenho: O desempenho da pesquisa é determinado por vários factores, incluindo índices, parâmetros de pesquisa e configurações de máquina. O Milvus também suporta o ajuste de desempenho. Recomenda-se testar o desempenho real antes de selecionar uma estratégia de multi-tenancy.
Tratamento eficaz de dados quentes e frios: Atualmente, as estratégias ao nível da base de dados, ao nível da coleção e ao nível da partição suportam o tratamento de dados quentes e frios.
Pesquisas entre locatários: Somente as estratégias em nível de partição e em nível de chave de partição suportam consultas entre locatários.