Todos os produtos
Search
Central de documentação

Platform For AI:Feature database FeatureDB

Última atualização: Sep 12, 2026

O FeatureDB é um service de banco de dados fornecido pela plataforma FeatureStore (PAI-FeatureStore) do Alibaba Cloud PAI. Ele funciona como o armazenamento online para o FeatureStore, oferecendo armazenamento de features online de alto desempenho e operações de leitura e gravação otimizadas para services como busca, recomendação e publicidade. Este tópico apresenta o FeatureDB e descreve seus recursos e benefícios.

O que é o FeatureDB

O FeatureDB é um banco de dados de armazenamento distribuído de alto desempenho fornecido pelo FeatureStore. Ele suporta formatos de dados KV e KKV, permitindo o armazenamento estruturado de arrays como o tipo Array e de pares chave-valor como o tipo Map. Armazenar dados nos tipos Array e Map proporciona maior desempenho nas operações subsequentes de leitura, gravação e nos services de inferência. O FeatureDB oferece suporte completo aos pipelines de produção, atualização e consumo para features offline e em tempo real, incluindo features de sequência de comportamento do usuário.

Como ativar

Ative o FeatureDB ao criar uma nova source de dados do FeatureDB seguindo as instruções na tela. Para mais detalhes, consulte Create an online data source: FeatureDB.

Recursos do product

O FeatureDB implementa as seguintes capacidades e otimizações adaptadas às características de leitura de dados de features do FeatureStore:

  • Suporte a leitura e gravação de features dos tipos KV e KKV.

  • Compatibilidade com leitura e gravação de features de tipos complexos do MaxCompute (Array, Map).

  • Capacidade de extrair todos os dados de features de um FeatureView integralmente.

  • Polling em nível de milissegundos para atualizar dados de features em tempo real.

  • TTL em nível de segundos para limpar automaticamente dados expirados.

  • Faturamento no modelo pagamento conforme o uso, baseado no volume real de dados lidos e gravados.

O FeatureDB fragmenta os dados do FeatureView em várias partições. Ajuste o número de shards para atender aos requisitos de desempenho de leitura e gravação de diferentes cenários. Réplicas também são suportadas para garantir a estabilidade e a segurança dos dados. O número de shards é definido com base na Estimated Data Scale selecionada:

  • Below tens of millions (padrão): 5 shards.

  • Between tens of millions and hundreds of millions: 10 shards.

  • Above hundreds of millions: 20 shards.

Na caixa de diálogo Create Feature View, selecione a escala apropriada na lista suspensa Estimated Data Scale.

Benefícios

  • Alta relação custo-benefício

    Clientes com armazenamento de features em menor escala podem reduzir custos utilizando o FeatureDB.

  • Atende a requisitos de atualização de alta frequência

    Ao usar features estatísticas em tempo real, é necessário atualizar essas features em múltiplas instâncias do EasyRec Processor (service de inferência de modelo) a cada poucos segundos. Isso exige atualizações de alta frequência, as quais o FeatureDB suporta.

  • Suporte a features de tipos complexos

    Em cenários de busca e publicidade, features dos tipos Array e Map, longas sequências de comportamento do usuário e seus SideInfo são amplamente utilizados. Armazenar features de tipos complexos como strings exige serialização para o tipo Map durante o uso, o que degrada o desempenho.

    O FeatureDB permite armazenar dados de tipos complexos nativamente e sincronizar dados de tipos complexos do MaxCompute 2.0 para o FeatureDB, garantindo leituras de alto desempenho.

  • Dimensionamento elástico

    Clientes de grande porte podem aumentar flexivelmente o número de shards por feature view para melhorar o desempenho de leitura e gravação.

  • Elimina pontos cegos de monitoramento

    A integração de sources de dados de terceiros dificulta o monitoramento ponta a ponta do pipeline de dados, especialmente para features em tempo real. O FeatureDB monitora métricas essenciais de desempenho — incluindo QPS de leitura/gravação, RT, latência de atualização de dados e uso de armazenamento — com granularidade por view.

Capacidades do product

Conectividade VPC de alta velocidade

O FeatureDB oferece conectividade VPC de alta velocidade por meio do PrivateLink. Após configurar corretamente, o FeatureStore usa o PrivateLink para conectar sua VPC ao service FeatureDB. Assim, você acessa o FeatureDB por uma conexão privada dentro da sua VPC usando o FeatureStore SDK, melhorando o desempenho de leitura e gravação de dados e reduzindo a latência de acesso.

Configure a conectividade VPC de alta velocidade da seguinte forma:

  • Método 1: Se você ainda não criou uma source de dados do FeatureDB, clique em Manage Data Source . Na página Manage Data Source, clique em Create Data Source . Ao criar a source de dados do FeatureDB, preencha a seção VPC Direct Connection Configurations com sua VPC e Zone and vSwitch. Para etapas detalhadas, consulte Create an online data source: FeatureDB.

  • Método 2: Caso já tenha criado uma source de dados do FeatureDB, clique em Manage Data Source . Na página Manage Data Source, clique na source de dados feature_db existente para acessar sua página de product. Clique em VPC Direct Connection Configurations, insira sua VPC e Zone and vSwitch e clique em Confirm.

Observações

  • Após definida, a VPC não pode ser alterada. Confirme se a VPC configurada corresponde àquela usada pelo seu service online do FeatureStore.

  • Implante seu service na zona recomendada para evitar latência de rede entre zonas e maximizar o desempenho de acesso.

    Area

    Region

    Recommended Zone

    Asia-Pacific

    China (Hangzhou)

    Zone G

    China (Shanghai)

    Zone L

    China (Beijing)

    Zone F

    China (Shenzhen)

    Zone F

    Hong Kong (China)

    Zone B

    Singapore

    Zone C

    Indonesia (Jakarta)

    Zone B

    Europe and Americas

    Germany (Frankfurt)

    Zone A

    US (Silicon Valley)

    Zone B

  • Zone and vSwitch: Certifique-se de selecionar vSwitches na mesma zona das instâncias do seu service online. Para garantir alta disponibilidade e estabilidade, selecione vSwitches em pelo menos duas zonas — preferencialmente a zona onde seu service online está executando e a zona recomendada listada acima.

  • Após a configuração bem-sucedida, você só poderá adicionar vSwitches de outras zonas. Não é possível modificar ou excluir configurações existentes.

Gravar features

Para features offline, use o SDK Python do FeatureStore com o DataWorks para executar tarefas agendadas diárias que sincronizam dados do MaxCompute para o FeatureDB.

Por padrão, as gravações de features em tempo real realizam atualizações de linha completa. Se os dados gravados incluírem apenas campos parciais, os campos ausentes serão definidos como vazios. Para atualizar apenas campos específicos e mesclá-los aos dados existentes, configure da seguinte maneira:

  • Ao gravar via SDK Java: Especifique o InsertMode como InsertMode.PartialFieldWrite.

    for (int i = 0; i < 100;i++) {
        featureView.writeFeatures(writeData, InsertMode.PartialFieldWrite);
    }
  • Ao gravar via Flink Connector: Defina o parâmetro insert_mode como partial_field_write.

Ler features

Use o FeatureStore SDK (Go/Java) ou EasyRec Processor para ler features.

O SDK do FeatureStore (Go/Java) suporta junções pontuais (point-in-time joins) KV para features offline e em tempo real. Especifique o JoinID (chave primária) da feature e o nome da feature para concluir uma consulta KV e recuperar os dados da feature alvo em milissegundos. O SDK também suporta consultas KKV para features de sequência de comportamento. Especifique um UserID para recuperar resultados de features de sequência montados.

O EasyRec Processor integra o SDK C++ do FeatureStore, permitindo a ingestão completa dos dados de features do FeatureDB na memória e polling em nível de milissegundos para atualizar features em tempo real na memória, proporcionando maior desempenho de leitura.

Métricas de monitoramento

Se você usar o FeatureDB como armazenamento online, após criar uma feature view, clique em Data Monitoring ao lado da view alvo para visualizar métricas como QPS de leitura/gravação e RT. (Nota: As gravações provenientes da sincronização de dados de feature views offline não aparecem nessas métricas.)

Pipeline de features em tempo real

image

O service de armazenamento do FeatureStore consiste em três componentes: Feature Service (camada de acesso), fila de mensagens (DataHub) e FeatureDB.

Para features em tempo real, chame o Feature Service via SDK Java do FeatureStore ou Flink Connector para gravar dados de features no FeatureDB. Os dados gravados através do Feature Service também são sincronizados com sua tabela do MaxCompute para exportação de amostras de features em tempo real e treinamento adicional de modelos.

Leia os dados de features armazenados no FeatureDB usando os SDKs Java/Go do FeatureStore ou extraia todas as features para o cache local via EasyRec Processor para obter maior desempenho de leitura. As features em tempo real entregam as informações mais recentes em milissegundos.

Configurações de ciclo de vida de dados de features em tempo real

Ao criar uma feature view em tempo real, defina o ciclo de vida dos dados para a tabela do FeatureDB usando Feature Lifecycle . As linhas expiram e são limpas automaticamente em segundos após atingirem a duração do ciclo de vida.

O tempo de vida (TTL) dos dados suporta atualmente dois métodos de configuração:

  • Método 1: Não especifique um campo Event Time. Nesse caso, o tempo de vida começa a partir do momento da gravação dos dados, e as linhas são limpas automaticamente ao expirar.

  • Método 2: Selecione um campo de feature como o campo Event Time (unidade: milissegundos). Considere event_time como o valor do campo Event Time, time_now como a hora atual e time_ttl = time_now - ttl como o limiar de event_time para expiração. O FeatureDB trata os dados gravados da seguinte forma:

    • Se estiver usando o modo PartialFieldWrite para atualizações de campos parciais, o tempo de vida é calculado a partir do momento real da gravação.

    • Se event_time > time_now + 15 min: Os dados não são gravados. (Isso evita discrepâncias de timestamp entre sistemas, permitindo um buffer de 15 minutos.)

    • Se time_ttl < event_time <= time_now + 15 min: Os dados são gravados normalmente. O tempo de vida começa a partir de event_time, e a linha é limpa automaticamente ao expirar.

    • Se 0 < event_time < time_ttl: Os dados são gravados, mas limpos imediatamente. Nota: event_time está em milissegundos. Se o seu campo Event Time usar segundos, os dados se enquadram neste caso e falham ao persistir.

    • Se event_time <= 0: O tempo de vida é calculado a partir do momento real da gravação.

    • Se o valor for inválido (não puder ser convertido em inteiro): Os dados não são gravados.

    • O campo Event Time está registrado, mas nenhum valor foi fornecido para o campo Event Time: os dados são gravados normalmente e seu tempo de vida é calculado com base no momento real da gravação.

    • Se nenhum campo Event Time estiver registrado: Os dados são gravados normalmente e o tempo de vida é calculado a partir do momento real da gravação.

    • Além disso, o FeatureDB usa o valor de event_time como o timestamp (ts) da linha. Para atualizar dados de uma determinada chave, o novo valor de Event Time deve ser maior ou igual ao valor anterior. Se o novo event_time for menor que o original, os dados da chave não serão atualizados.

Testes de desempenho

A seguir, são apresentados exemplos de resultados de testes de estresse para leitura de dados do FeatureDB usando o FeatureStore Go SDK em um ambiente VPC. Os dados de teste provêm de tabelas do lado do usuário em um cenário de recomendação, totalizando 17.689.586 linhas. Os testes foram executados em uma máquina de 4 núcleos e 8 GiB. Os resultados servem apenas como referência.

  • Com VPC Network High-Speed Connectivity configurado e service online implantado na recommended zone:

    Número de campos de features (colunas)

    Número de chaves lidas (linhas)

    Latência média

    TP95

    TP99

    260

    1

    0,89 ms

    1,20 ms

    1,45 ms

    260

    10

    1,17 ms

    1,52 ms

    1,87 ms

    260

    50

    1,91 ms

    2,56 ms

    2,92 ms

    260

    100

    2,87 ms

    3,58 ms

    3,93 ms

    260

    200

    4,43 ms

    5,25 ms

    5,80 ms

  • Com Conectividade de Alta Velocidade de Rede VPC configurada, mas service online implantado em uma zona não recomendada:

    Número de campos de features (colunas)

    Número de chaves lidas (linhas)

    Latência média

    TP95

    TP99

    260

    1

    2,54 ms

    2,86 ms

    3,15 ms

    260

    10

    2,75 ms

    3,12 ms

    3,56 ms

    260

    50

    3,95 ms

    4,75 ms

    5,19 ms

    260

    100

    4,82 ms

    5,66 ms

    6,21 ms

    260

    200

    6,84 ms

    7,75 ms

    8,25 ms

  • Sem a Conectividade de Alta Velocidade de Rede VPC configurada:

    Número de campos de features (colunas)

    Número de chaves lidas (linhas)

    Latência média

    TP95

    TP99

    260

    1

    3,62 ms

    3,83 ms

    4,27 ms

    260

    10

    3,82 ms

    4,11 ms

    4,61 ms

    260

    50

    4,54 ms

    5,19 ms

    5,60 ms

    260

    100

    5,40 ms

    6,13 ms

    6,56 ms

    260

    200

    7,15 ms

    7,93 ms

    8,47 ms

Faturamento

Para mais detalhes, consulte FeatureStore billing.