Qual a diferença entre interno e externo?

A diferença entre "interno" e "externo" em português do Brasil está relacionada à localização e ao contexto em que esses termos são usados.

  • Interno: refere-se a algo que está localizado dentro, no interior ou no centro de algo. Pode ser usado para se referir a partes internas de um objeto, a uma área dentro de um edifício ou a um assunto relacionado à própria empresa ou organização.

  • Externo: refere-se a algo que está localizado fora, no exterior ou na periferia de algo. Pode ser usado para se referir a partes externas de um objeto, a uma área fora de um edifício ou a um assunto relacionado a outra empresa, organização ou país.

Por exemplo, em um contexto empresarial, as políticas orçamentais e cambiais podem ser usadas para manter o equilíbrio interno e externo. Isso significa que essas políticas ajudam a manter a estabilidade financeira tanto dentro da empresa quanto no ambiente externo em que ela opera.

Em um contexto emocional, um estímulo interno ou externo pode ser interpretado como perigoso ou ameaçador, desencadeando uma reação emocional caracterizada como um estado de ansiedade. Nesse caso, "interno" e "externo" se referem aos estímulos que vêm do próprio indivíduo (interno) ou do ambiente ao seu redor (externo).

Característica Tabelas Internas Tabelas Externas
Definição Tabelas internas são criadas e armazenadas diretamente no banco de dados. Tabelas externas são consultadas a partir de armazenamentos externos, como arquivos ou outros bancos de dados.
Chaves Índices internos: a chave está contida dentro da tabela. Índices externos: quando existe uma tabela de chaves separada que associa ponteiros à registros de uma tabela.
Desempenho O desempenho de uma consulta que inclui uma tabela externa depende do tipo de armazenamento externo. O desempenho de uma consulta que inclui uma tabela interna depende da estrutura e otimização da tabela no banco de dados.
Permissões Para consultar uma tabela externa, você precisa ter permissões para a tabela externa e a fonte de dados externa. Para consultar uma tabela interna, você precisa ter permissões para a tabela e o banco de dados interno.
Modificações Não é possível modificar tabelas de dados externas com a DML ou outros métodos. Tabelas externas são somente leitura para o BigQuery. Você pode modificar tabelas internas usando instruções de atualização e deleção.

Exemplos de tabelas internas e externas?

Em português do Brasil, as tabelas internas e externas são conceitos relacionados a bancos de dados e processamento de dados. Vamos entender as diferenças entre elas com base nos resultados da pesquisa: Tabelas internas :

  • Armazenam dados dentro do próprio banco de dados;
  • Não podem acessar serviços de armazenamento remoto, como nuvens de armazenamento;
  • Se a tabela for apagada (drop table), todos os dados, incluindo metadados e partições, serão perdidos;

Tabelas externas :

  • Permitem consultar dados armazenados em um local externo, como um serviço de armazenamento remoto;
  • Possuem recursos interessantes em comparação com as tabelas internas e são recomendadas para projetos que precisam acessar dados armazenados em locais externos;
  • Os dados e metadados não serão perdidos caso a tabela seja apagada (drop table);
  • Permitem acesso e gerenciamento por processos externos;

Por exemplo, no contexto do Hive, ao criar uma tabela externa, você pode adicionar a palavra reservada "external" para identificar a tabela como externa.

No caso do Snowflake, as tabelas externas são somente leitura e não permitem operações da linguagem de manipulação de dados (DML) neles.

Em resumo, as tabelas internas armazenam dados dentro do próprio banco de dados, enquanto as tabelas externas permitem consultar dados armazenados em locais externos. Cada tipo de tabela possui suas vantagens e desvantagens, dependendo das necessidades do projeto.

Está gostando? Leia também:

Como identificar se uma tabela é interna ou externa?

Para identificar se uma tabela é interna ou externa no contexto do Hive, você pode executar o comando. describe formatted e verificar a coluna. table_type no resultado.

As tabelas internas são gerenciadas pelo Hive, enquanto as tabelas externas são armazenadas e gerenciadas por processos externos. No caso do Snowflake, você pode verificar se uma tabela é externa consultando a documentação oficial.

As tabelas externas no Snowflake são recursos que permitem consultar dados armazenados em um estágio externo, como se os dados estivessem dentro de uma tabela no Snowflake. Em resumo, para identificar se uma tabela é interna ou externa:

  1. No Hive, execute o comandodescribe formattede verifique a coluna;table_type
  2. No Snowflake, consulte a documentação oficial para obter informações sobre tabelas externas;

Vantagens e desvantagens de usar tabelas internas e externas?

Tabelas internas e externas têm suas vantagens e desvantagens ao serem utilizadas em contextos como o Hive. Aqui estão as principais diferenças entre elas: Tabelas Internas :

  • Vantagens:
    • Gerenciadas pelo Hive;
  • Desvantagens:
    • Não podem acessar serviços de armazenamento remoto, como Amazon AWS, Microsoft Azure e Google Cloud;
    • Ao apagar (drop table) as tabelas internas, todos os dados, incluindo metadados e partições, serão perdidos;

Tabelas Externas :

  • Vantagens:
    • Os dados e metadados não serão perdidos caso a tabela seja apagada (drop table);
    • Podem ser acessadas e gerenciadas por processos externos;
    • Permitem acesso ao serviço de armazenamento remoto como um local de origem;
  • Desvantagens:
    • Não foram mencionadas desvantagens específicas para tabelas externas no contexto Hive;

Em resumo, tabelas internas são gerenciadas pelo Hive e não permitem acesso a serviços de armazenamento remoto, enquanto tabelas externas permitem acesso a serviços de armazenamento remoto e preservam os dados e metadados mesmo após a exclusão da tabela.

A escolha entre tabelas internas e externas depende das necessidades específicas do seu projeto e das características do sistema que você está trabalhando.