Process Mining
2021.10
falso
Use Sharding in Your Applications - Standalone 2021.10
Imagem de fundo do banner
Logotipo
Process Mining
Última atualização 21 de set de 2023

Use fragmentação em seus aplicativos

Introdução

O Sharding é uma solução inovadora para melhorar o desempenho de seus aplicativos Process Mining. Resumindo, o Sharding divide os dados em seu log de eventos em partes menores, chamadas “shards”. Quanto menor for cada shard, mais rápido será.

Com um fragmento, os usuários finais consideram apenas a parte aplicável dos dados nos quais estão interessados. Quando um usuário efetua login no aplicativo, apenas o fragmento de dados aplicável será carregado.

Tipos de Fragmentos

Os fragmentos podem ser divididos em dois tipos diferentes:

  • Fragmentos regulares, que contêm partes de seus dados no nível detalhado.
  • Fragmentos de benchmark, que contêm uma visão agregada e de alto nível de todos os seus dados.

Existem várias técnicas para criar estilhaços regulares, bem como para estilhaços de referência. Fragmentos regulares podem ser criados dividindo seus dados com base em atributos de caso. Os fragmentos de referência combinam os dados de todos os fragmentos. Normalmente, o nível de detalhe dos dados é reduzido usando pré-agregação, filtragem ou amostragem.

Fragmentos normais

Um atributo de exemplo para sharding pode ser Código da empresa, em que cada estilhaço contém todos os casos pertencentes a um único código da empresa. Se você tivesse 10 códigos de empresa em seu conjunto de dados, cada estilhaço seria aproximadamente 10 vezes mais rápido que o original (supondo divisões iguais).

Veja a ilustração abaixo.



Fragmentos de referência

Além de dividir seus dados em fragmentos separados, é útil ter um fragmento de visão geral contendo uma visualização de nível superior de todos os dados, um 'fragmento de referência'.

Você pode configurar isso de várias maneiras:

  • Ao pré-agregar valores ou atributos: isso impede que você faça uma análise detalhada, mas ainda permite que você compare as diferenças entre os fragmentos.
  • Reduzindo o nível de detalhe filtrando eventos de baixa granularidade: isso permite que você compare processos em um nível grosseiro.
  • Por filtragem: você pode remover todos os dados do evento e manter apenas as tags e os respectivos casos, dessa forma você pode comparar as tags em vários shards.
  • Por amostragem: você pode amostrar casos em seu conjunto de dados para manter apenas parte dos casos, mantendo uma amostra representativa de casos como seu conjunto de dados de referência.

Você também pode configurar vários fragmentos de benchmark usando métodos diferentes.

Configurando seu conector

Fragmento regular

Você pode usar um único conector para seu ETL, mesmo ao usar fragmentação. Você faz isso configurando os módulos do aplicativo, usando um módulo por estilhaço que deseja criar.

Em seu conector, adicione uma tabela de sistema com escopo de tabela definido como “usuário atual” para obter o ActiveApplicationCode, que indica o módulo que está ativo no momento. Você pode usar esse atributo da tabela do sistema para criar condições para o carregamento de seus dados.

Exemplo

Ao aplicar fragmentação usando tipos de caso, configure uma expressão Case_Type_Shard com base no atributo ActiveApplicationCode , para determinar qual tipo de caso pertence a qual código de aplicativo. Em seguida, na tabela cases_base , você define a condição de junção para:

Cases_preprocessing where Case_type_Shard = Case_type

Isso garante que apenas os casos que tenham um tipo de caso pertencente ao estilhaço atual sejam transmitidos em sua saída final.

Você também precisa garantir que apenas os eventos pertencentes a casos no estilhaço atual estejam na saída. Portanto, na tabela events_preprocessing , crie uma expressão de pesquisa para a tabela cases_base que verifica se os casos estão no estilhaço selecionado.

Veja a ilustração abaixo.



Use este atributo de expressão na condição de junção da tabela events_base com a expressão:

Events_preprocessing where Case_in_shard.

Fragmento de referência

O fragmento de referência também é configurado usando o atributo ActiveApplicationCode . A filtragem depende do tipo de shard de benchmark que você deseja usar e é semelhante ao descrito acima para os shards regulares.

Configurando seu aplicativo

Para configurar seu aplicativo para sharding, você também precisa de um módulo por shard. Esses módulos devem ter os mesmos códigos de módulo que os do seu conector.

Além disso, dependendo do tipo de shard de benchmark que você usa, a estrutura de dados pode ser diferente para os shards regulares e para o shard de benchmark. Se for esse o caso, você precisa de um aplicativo separado para o shard de referência.

Recarregando seus dados

Como você está usando vários módulos, precisa recarregar os dados usando um script, para garantir que os dados de todos os módulos conectores terminem no mesmo conjunto de dados. Desta forma, a aplicação sabe, com base no módulo aberto, qual parte dos dados considerar. Consulte Configurar atualizações automatizadas de dados para o script para recarregar seus dados.

Ícone de suporte e serviços
Obtenha a ajuda que você precisa
Ícone do UiPath Academy
Aprendendo RPA - Cursos de automação
Ícone do Fórum do UiPath
Fórum da comunidade da Uipath
Logotipo branco da Uipath
Confiança e segurança
© 2005-2024 UiPath. All rights reserved.