O documento explica como o PostgreSQL usa estatísticas para estimar o custo e número de linhas de consultas SQL, melhorando o desempenho ao reduzir acessos desnecessários ao disco. Detalha onde são armazenadas as estatísticas, seus tipos e como são usadas para cálculos de seletividade que influenciam o planejamento de consultas.
Análise de performance usando as estatísticas do PostgreSQLMatheus de Oliveira
Essa palestra desmitifica as estatísticas do PostgreSQL abordando todo o sistema de coleta de dados estatísticos, as tabelas disponíveis atualmente, conceitos, técnicas e exemplos de consultas úteis para performance e monitoramento do PostgreSQL.
O documento discute o PostgreSQL como uma opção NewSQL. Ele apresenta o palestrante Matheus de Oliveira e sua experiência com bancos de dados. Em seguida, discute as características dos bancos de dados relacionais e NoSQL, definindo o que é NewSQL. O documento então descreve como o PostgreSQL oferece funcionalidades como armazenamento JSON, buscas de texto completo e consultas em grafos, além de alto desempenho e escalabilidade horizontal através da replicação.
Palestra apresenta no PGDay Campinas 2014, apresentando o programa PGAnalytics.
Palestra apresentada por Matheus Espanhol, Matheus Oliveira e Vinícius Schmidt
Melhorando o desempenho de suas consultas no MySqlHelder Lopes
Este documento fornece dicas para melhorar o desempenho de consultas no MySQL, explicando como analisar o desempenho de consultas existentes, criar índices, otimizar consultas SQL e melhorar operações como inserts, updates e deletes. Recomenda analisar tabelas com ANALYZE TABLE, usar índices apropriados, evitar varreduras completas e melhorar a modelagem da base de dados quando possível.
Design Patterns para Tuning Pentaho com Ctoolse-Setorial
Uma "receita de bolo" com os passos comumente seguidos para tunar um dashboard, incluindo boas práticas, ferramentas e configurações. Os fontes do exemplo podem ser baixados livremente de http://www.e-setorial.com.br/pentahoday2017/DesignPatternsPentaho 09-12-57-284.zip
Este documento descreve um estudo de ferramentas livres para OLAP e data warehousing utilizando PostgreSQL. Ele apresenta uma pesquisa de ferramentas OLAP livres e propõe um modelo utilizando PostgreSQL, pgAdmin, pgAgent e Pentaho/Mondrian. O estudo conclui que estas ferramentas fornecem produtividade para construção e consulta em data warehouses, apesar de ainda não serem ideais para usuários não técnicos.
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoFabrício Catae
O documento discute diagnóstico de desempenho no SQL Server, abordando altos consumos de CPU, waits e locks. É apresentada uma metodologia para identificar a causa do alto consumo de CPU analisando logs e planos de execução de queries. Wait statistics são explicadas como forma de identificar gargalos como I/O e log writes. Problemas de travamento são discutidos, com foco em compatibilidade e hierarquia de locks.
Análise de performance usando as estatísticas do PostgreSQLMatheus de Oliveira
Essa palestra desmitifica as estatísticas do PostgreSQL abordando todo o sistema de coleta de dados estatísticos, as tabelas disponíveis atualmente, conceitos, técnicas e exemplos de consultas úteis para performance e monitoramento do PostgreSQL.
O documento discute o PostgreSQL como uma opção NewSQL. Ele apresenta o palestrante Matheus de Oliveira e sua experiência com bancos de dados. Em seguida, discute as características dos bancos de dados relacionais e NoSQL, definindo o que é NewSQL. O documento então descreve como o PostgreSQL oferece funcionalidades como armazenamento JSON, buscas de texto completo e consultas em grafos, além de alto desempenho e escalabilidade horizontal através da replicação.
Palestra apresenta no PGDay Campinas 2014, apresentando o programa PGAnalytics.
Palestra apresentada por Matheus Espanhol, Matheus Oliveira e Vinícius Schmidt
Melhorando o desempenho de suas consultas no MySqlHelder Lopes
Este documento fornece dicas para melhorar o desempenho de consultas no MySQL, explicando como analisar o desempenho de consultas existentes, criar índices, otimizar consultas SQL e melhorar operações como inserts, updates e deletes. Recomenda analisar tabelas com ANALYZE TABLE, usar índices apropriados, evitar varreduras completas e melhorar a modelagem da base de dados quando possível.
Design Patterns para Tuning Pentaho com Ctoolse-Setorial
Uma "receita de bolo" com os passos comumente seguidos para tunar um dashboard, incluindo boas práticas, ferramentas e configurações. Os fontes do exemplo podem ser baixados livremente de http://www.e-setorial.com.br/pentahoday2017/DesignPatternsPentaho 09-12-57-284.zip
Este documento descreve um estudo de ferramentas livres para OLAP e data warehousing utilizando PostgreSQL. Ele apresenta uma pesquisa de ferramentas OLAP livres e propõe um modelo utilizando PostgreSQL, pgAdmin, pgAgent e Pentaho/Mondrian. O estudo conclui que estas ferramentas fornecem produtividade para construção e consulta em data warehouses, apesar de ainda não serem ideais para usuários não técnicos.
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoFabrício Catae
O documento discute diagnóstico de desempenho no SQL Server, abordando altos consumos de CPU, waits e locks. É apresentada uma metodologia para identificar a causa do alto consumo de CPU analisando logs e planos de execução de queries. Wait statistics são explicadas como forma de identificar gargalos como I/O e log writes. Problemas de travamento são discutidos, com foco em compatibilidade e hierarquia de locks.
O documento descreve um projeto de otimização de desempenho e redução de custos em um sistema mainframe. O projeto focou em uma subrotina que consumia 62% da CPU. Após a geração e análise automática de traces de desempenho do DB2, foram recomendados novos e alterados índices em tabelas-chave. Os resultados mostraram redução de 55% no tempo de resposta, 76% na CPU e economia estimada de US$ 9,4 milhões em 10 anos.
Este documento discute SQL e o uso de bancos de dados relacionais. Ele fornece uma introdução aos principais conceitos de SQL como DDL, DML, consultas, funções agregadas e operadores relacionais. Também apresenta exemplos de como criar e manipular tabelas, banco de dados e consultas em SQL.
Este documento resume os principais conceitos de bancos de dados relacionais utilizando PostgreSQL. Inclui exemplos de criação de tabelas, tipos de busca como sequencial scan e index scan, diferentes tipos de junções como nested loop, merge join e hash join, e agregações com grupo.
1. O documento apresenta exemplos e conceitos sobre capacidade de processo e controle estatístico de qualidade, incluindo: cálculo de índice de capacidade, limites de controle em cartas de controle, fração de não conformidades.
2. São mostrados exemplos de cálculo de capacidade para processos de produção de anéis de pistão e garrafas de vidro.
3. Também são abordados conceitos como intervalo de confiança para índice de capacidade, teste de hipóteses para capacidade, e fixação de limites
This presentation explains the importance of set up the transaction fetch size. by doing this the underlying database protocol can easily calculate the correct tcp window and avoid to waste bandwidth and time.
1. O documento apresenta análises exploratórias de dados e modelos de classificação para prever se uma organização é tradicional ou exponencial com base em suas características. 2. É treinado um modelo de floresta aleatória que identifica "Demandas Pendentes" como a característica mais importante. 3. Também é construída uma árvore de decisão para classificação e são comparadas suas previsões com as do modelo de floresta aleatória.
O documento discute funções da linguagem SQL. Ele explica que as funções SQL existem para facilitar a manipulação de dados e são categorizadas em funções matemáticas, de cadeia de caracteres, de data/hora, de agregação e de formatação. Exemplos de funções de cada categoria são fornecidos como ABS, CONCAT, NOW, COUNT e TO_CHAR. Além disso, exercícios sobre funções de agregação são apresentados.
um breve treinamento sobre SQL e suas funcionalidadesWilliam Costa
Este documento fornece um resumo sobre SQL e suas funcionalidades. Ele introduz o que é SQL, seus principais subconjuntos e comandos como SELECT, WHERE, GROUP BY e ORDER BY. Também explica conceitos como junções, agregações, conversão de dados e operadores lógicos e matemáticos.
Minicurso de estatística experimental com o R - III SIC IFNMGPetronio Candido
O documento apresenta a agenda de um minicurso sobre estatística utilizando o software R. O curso abordará introdução ao R, carregamento e exploração de dados, estatística descritiva, regressão, testes estatísticos e gráficos.
Bootstrap Evaluation in R - Source CodeMichel Alves
Este documento descreve um estudo que compara algoritmos quadráticos e loglineares através de métodos de Monte Carlo e bootstrap. Ele define funções para estimadores, cálculo de erro quadrático médio, e simulações de Monte Carlo com e sem loops explícitos. O documento gera amostras bootstrap variando o parâmetro B, armazena os dados em um data frame, e produz gráficos comparando os resultados dos diferentes estimadores.
Este documento apresenta quatro problemas de programação resolvidos por alunos de Tecnologia em Análise e Desenvolvimento de Sistemas. Os problemas envolvem algoritmos para calcular a soma de números ímpares entre dois números, calcular a média de distâncias entre casas, determinar a quantidade de LEDs necessários para representar um número e resolver o problema de Josephus.
O documento discute sobre otimização de desempenho em bancos de dados MySQL. Aborda tópicos como indexação de tabelas, particionamento de tabelas e otimização de consultas para melhorar a performance, como criar índices para campos frequentemente usados em consultas e usar o menor tipo de dados possível para economizar espaço.
O documento discute testes de desempenho de software, definindo testes de carga, desempenho e estresse. Também aborda modelagem de carga de trabalho, métricas estatísticas e a ferramenta JMeter para teste de desempenho.
O documento contém 12 exercícios sobre vetores e matrizes em C++. Os exercícios abordam tópicos como preenchimento e leitura de vetores e matrizes, busca e soma de valores, troca de posições e inversão.
O documento descreve recursos avançados da linguagem SQL e do banco de dados PostgreSQL. Ele apresenta conceitos como Common Table Expression (CTEs), Window Functions e Full Text Search no PostgreSQL, além de detalhar a organização do padrão SQL e recursos de manipulação de dados externos. O objetivo é mostrar como otimizar consultas e acesso a dados usando recursos do padrão SQL e extensões do PostgreSQL.
Comparação de desempenho entre SQL e NoSQLpichiliani
O documento apresenta os resultados de testes de desempenho realizados entre bancos SQL (PostgreSQL e MySQL) e NoSQL (MongoDB) para operações de inserção, alteração, exclusão e processamento de dados. Os testes indicaram que PostgreSQL e MySQL tiveram melhores tempos de execução do que o MongoDB. Além disso, os bancos de dados apresentaram melhor desempenho quando executados no sistema operacional Linux em comparação com o Windows.
O documento descreve o treinamento de um modelo de rede neural recorrente para gerar texto no estilo de William Shakespeare. O modelo é treinado em um conjunto de dados de texto de Shakespeare e, em seguida, é capaz de gerar novos textos no estilo de Shakespeare.
"O Amazon DynamoDB é um serviço de banco de dados NoSQL, totalmente gerenciado, para aplicativos que precisam de latência consistente de um dígito de milissegundos em qualquer escala. Nesta sessão iremos explorar as capacidades e benefícios do DynamoDB em detalhes e iremos discutir como obter o máximo do seu banco de dados DynamoDB. Examinaremos as melhores práticas de design de schema com o DynamoDB em vários casos de uso, incluindo jogos, AdTech, IoT e outros.
Também exploraremos o design de índices eficientes, scanning e queries, e detalharemos as funcionalidades lançadas recentemente, incluindo o suporte a documentos JSON, Streams, Time-to-Live (TTL) e muito mais."
https://aws.amazon.com/pt/dynamodb/
O documento apresenta informações sobre registros em C++, incluindo definição, declaração, acesso a membros, vetores de registros e passagem de registros como parâmetros para funções. É apresentado um exemplo de cadastro de alunos usando registros e vetores.
Este documento discute dicionários de dados, árvores de decisão e tabelas de decisão. Ele define esses termos e explica seus componentes e usos, além de fornecer exemplos de como cada um pode ser construído e aplicado.
Renan Ranelli, especialista em desenvolvimento de software na locaweb, Nessa palestra apresenta os princípios de Random Testing.
Assista em: https://www.eventials.com/locaweb/random-testing/
Random Testing é uma tecnica de teste de software bem menos usual, mas que resolve várias limitações das abordagens clássicas. Em especial, é bastante eficiente para encontrar comportamentos indefinidos, problemas de validação e segurança. Em especial, a palestra é bastante focada em "Property Based Testing" e apresenta quais são os aspectos fundamentais para aplicar as técnicas e as limitações destas.
O documento discute princípios de programação concorrente em Ruby, incluindo: 1) o que é concorrência e por que escrever código concorrente; 2) diferentes modelos de concorrência como multiprocessos, multithreading e fibras; 3) desafios de escrever código concorrente como o GIL e deadlocks.
Mais conteúdo relacionado
Semelhante a Uso de estatísticas pelo postgre sql
O documento descreve um projeto de otimização de desempenho e redução de custos em um sistema mainframe. O projeto focou em uma subrotina que consumia 62% da CPU. Após a geração e análise automática de traces de desempenho do DB2, foram recomendados novos e alterados índices em tabelas-chave. Os resultados mostraram redução de 55% no tempo de resposta, 76% na CPU e economia estimada de US$ 9,4 milhões em 10 anos.
Este documento discute SQL e o uso de bancos de dados relacionais. Ele fornece uma introdução aos principais conceitos de SQL como DDL, DML, consultas, funções agregadas e operadores relacionais. Também apresenta exemplos de como criar e manipular tabelas, banco de dados e consultas em SQL.
Este documento resume os principais conceitos de bancos de dados relacionais utilizando PostgreSQL. Inclui exemplos de criação de tabelas, tipos de busca como sequencial scan e index scan, diferentes tipos de junções como nested loop, merge join e hash join, e agregações com grupo.
1. O documento apresenta exemplos e conceitos sobre capacidade de processo e controle estatístico de qualidade, incluindo: cálculo de índice de capacidade, limites de controle em cartas de controle, fração de não conformidades.
2. São mostrados exemplos de cálculo de capacidade para processos de produção de anéis de pistão e garrafas de vidro.
3. Também são abordados conceitos como intervalo de confiança para índice de capacidade, teste de hipóteses para capacidade, e fixação de limites
This presentation explains the importance of set up the transaction fetch size. by doing this the underlying database protocol can easily calculate the correct tcp window and avoid to waste bandwidth and time.
1. O documento apresenta análises exploratórias de dados e modelos de classificação para prever se uma organização é tradicional ou exponencial com base em suas características. 2. É treinado um modelo de floresta aleatória que identifica "Demandas Pendentes" como a característica mais importante. 3. Também é construída uma árvore de decisão para classificação e são comparadas suas previsões com as do modelo de floresta aleatória.
O documento discute funções da linguagem SQL. Ele explica que as funções SQL existem para facilitar a manipulação de dados e são categorizadas em funções matemáticas, de cadeia de caracteres, de data/hora, de agregação e de formatação. Exemplos de funções de cada categoria são fornecidos como ABS, CONCAT, NOW, COUNT e TO_CHAR. Além disso, exercícios sobre funções de agregação são apresentados.
um breve treinamento sobre SQL e suas funcionalidadesWilliam Costa
Este documento fornece um resumo sobre SQL e suas funcionalidades. Ele introduz o que é SQL, seus principais subconjuntos e comandos como SELECT, WHERE, GROUP BY e ORDER BY. Também explica conceitos como junções, agregações, conversão de dados e operadores lógicos e matemáticos.
Minicurso de estatística experimental com o R - III SIC IFNMGPetronio Candido
O documento apresenta a agenda de um minicurso sobre estatística utilizando o software R. O curso abordará introdução ao R, carregamento e exploração de dados, estatística descritiva, regressão, testes estatísticos e gráficos.
Bootstrap Evaluation in R - Source CodeMichel Alves
Este documento descreve um estudo que compara algoritmos quadráticos e loglineares através de métodos de Monte Carlo e bootstrap. Ele define funções para estimadores, cálculo de erro quadrático médio, e simulações de Monte Carlo com e sem loops explícitos. O documento gera amostras bootstrap variando o parâmetro B, armazena os dados em um data frame, e produz gráficos comparando os resultados dos diferentes estimadores.
Este documento apresenta quatro problemas de programação resolvidos por alunos de Tecnologia em Análise e Desenvolvimento de Sistemas. Os problemas envolvem algoritmos para calcular a soma de números ímpares entre dois números, calcular a média de distâncias entre casas, determinar a quantidade de LEDs necessários para representar um número e resolver o problema de Josephus.
O documento discute sobre otimização de desempenho em bancos de dados MySQL. Aborda tópicos como indexação de tabelas, particionamento de tabelas e otimização de consultas para melhorar a performance, como criar índices para campos frequentemente usados em consultas e usar o menor tipo de dados possível para economizar espaço.
O documento discute testes de desempenho de software, definindo testes de carga, desempenho e estresse. Também aborda modelagem de carga de trabalho, métricas estatísticas e a ferramenta JMeter para teste de desempenho.
O documento contém 12 exercícios sobre vetores e matrizes em C++. Os exercícios abordam tópicos como preenchimento e leitura de vetores e matrizes, busca e soma de valores, troca de posições e inversão.
O documento descreve recursos avançados da linguagem SQL e do banco de dados PostgreSQL. Ele apresenta conceitos como Common Table Expression (CTEs), Window Functions e Full Text Search no PostgreSQL, além de detalhar a organização do padrão SQL e recursos de manipulação de dados externos. O objetivo é mostrar como otimizar consultas e acesso a dados usando recursos do padrão SQL e extensões do PostgreSQL.
Comparação de desempenho entre SQL e NoSQLpichiliani
O documento apresenta os resultados de testes de desempenho realizados entre bancos SQL (PostgreSQL e MySQL) e NoSQL (MongoDB) para operações de inserção, alteração, exclusão e processamento de dados. Os testes indicaram que PostgreSQL e MySQL tiveram melhores tempos de execução do que o MongoDB. Além disso, os bancos de dados apresentaram melhor desempenho quando executados no sistema operacional Linux em comparação com o Windows.
O documento descreve o treinamento de um modelo de rede neural recorrente para gerar texto no estilo de William Shakespeare. O modelo é treinado em um conjunto de dados de texto de Shakespeare e, em seguida, é capaz de gerar novos textos no estilo de Shakespeare.
"O Amazon DynamoDB é um serviço de banco de dados NoSQL, totalmente gerenciado, para aplicativos que precisam de latência consistente de um dígito de milissegundos em qualquer escala. Nesta sessão iremos explorar as capacidades e benefícios do DynamoDB em detalhes e iremos discutir como obter o máximo do seu banco de dados DynamoDB. Examinaremos as melhores práticas de design de schema com o DynamoDB em vários casos de uso, incluindo jogos, AdTech, IoT e outros.
Também exploraremos o design de índices eficientes, scanning e queries, e detalharemos as funcionalidades lançadas recentemente, incluindo o suporte a documentos JSON, Streams, Time-to-Live (TTL) e muito mais."
https://aws.amazon.com/pt/dynamodb/
O documento apresenta informações sobre registros em C++, incluindo definição, declaração, acesso a membros, vetores de registros e passagem de registros como parâmetros para funções. É apresentado um exemplo de cadastro de alunos usando registros e vetores.
Este documento discute dicionários de dados, árvores de decisão e tabelas de decisão. Ele define esses termos e explica seus componentes e usos, além de fornecer exemplos de como cada um pode ser construído e aplicado.
Semelhante a Uso de estatísticas pelo postgre sql (20)
Renan Ranelli, especialista em desenvolvimento de software na locaweb, Nessa palestra apresenta os princípios de Random Testing.
Assista em: https://www.eventials.com/locaweb/random-testing/
Random Testing é uma tecnica de teste de software bem menos usual, mas que resolve várias limitações das abordagens clássicas. Em especial, é bastante eficiente para encontrar comportamentos indefinidos, problemas de validação e segurança. Em especial, a palestra é bastante focada em "Property Based Testing" e apresenta quais são os aspectos fundamentais para aplicar as técnicas e as limitações destas.
O documento discute princípios de programação concorrente em Ruby, incluindo: 1) o que é concorrência e por que escrever código concorrente; 2) diferentes modelos de concorrência como multiprocessos, multithreading e fibras; 3) desafios de escrever código concorrente como o GIL e deadlocks.
O documento discute como o framework AngularJS pode ajudar a economizar tempo e código ao desenvolver aplicações front-end. O AngularJS foi criado em 2009 e usado pelo Google para reduzir linhas de código de um projeto de 17 mil para menos de 2 mil linhas. O documento fornece um exemplo de como 701 linhas de código foram reduzidas a apenas 19 linhas ao usar AngularJS, transferindo parte da lógica para templates no HTML. Links relevantes sobre o tópico são fornecidos no final.
Os Sys Admins, Danilo Acquaviva e Daniel Theodoro fazem uma introdução ao Celery , apresentam um overview da estrutura, alguns exemplos de implementação e como o Celery pode ajudar o sysadmin a executar tarefas distribuídas no dia-a-dia.
O documento apresenta o Behavior Driven Development (BDD) e o framework Cucumber. Discute como o BDD e o Cucumber podem ser usados para melhorar os processos de teste e qualidade de software na Locaweb, movendo-se de uma abordagem de "Quality Control" para "Quality Assurance". O caso apresentado é um Proof of Concept de BDD e Cucumber para testes de infraestrutura como serviço (IaaS).
O documento discute isolamento transacional e MVCC (Multiversion Concurrency Control). MVCC permite que leitores não bloqueiem escritores e vice-versa aumentando a concorrência. No MVCC, cada transação vê um snapshot do banco no momento em que iniciou, evitando problemas como dirty reads. Isso requer manter várias versões dos dados no banco de dados.
Varnish é um acelerador HTTP que fornece ganhos de performance a sites e servidores ao armazenar conteúdo estático em cache. Ele funciona verificando se o conteúdo requisitado está presente em seu cache antes de buscar no servidor web, poupando recursos como I/O de disco, CPU e memória. O documento discute a instalação e configuração do Varnish, bem como ferramentas para monitoramento e solução de problemas.
A especificação Ambient Light Events do W3C define dois novos eventos capazes de detectar mudanças na intensidade da luz ambiente, permitindo que páginas da web e aplicativos reajam a essas mudanças, como alterando o contraste de cores ou a exposição de fotos. Estes eventos notificam quando o sensor de luz detecta uma mudança e fornecem a intensidade da luz em lux, permitindo ao navegador reagir às condições de iluminação.
The document discusses using Lua modules with Nginx. It provides an overview of Nginx and Lua, describing their key features and popular uses. It then covers how to integrate Lua into Nginx using the ngx_lua module, allowing Lua code to run at various phases of the Nginx request lifecycle. Specific techniques demonstrated include using Lua for shared memory caching, logging, issuing subrequests, and network communication via cosockets. Examples of practical applications like load balancing and analytics tagging are also presented.
Diego Souza fala sobre sistemas distribuídos mostradando uma introdução sobre os conceitos básicos e algumas considerações práticas que podem afetar o nosso dia a dia.
Assista esta palestra em https://www.eventials.com/locaweb/sistemas-distribuidos/
Soluções para sua empresa vender na InternetLocaweb
O documento fornece estatísticas sobre e-commerce no Brasil, como o número de pessoas que acessam a internet e fazem compras online, além de datas comemorativas que movimentam as vendas. Também lista ferramentas e planos de lojas virtuais e sites a partir de R$29 por mês.
O documento fornece dicas sobre como melhorar o comércio eletrônico, incluindo otimização para mecanismos de busca (SEO), métricas para analisar o comportamento dos clientes, testes para melhorar a taxa de conversão e como a Locaweb pode ajudar empresas de diferentes portes.
O documento discute a sincronização automática de contatos entre bases de dados de email marketing e do administrador, incluindo a importação e exportação de contatos, desativação, remoção e novos cadastros. Também aborda a automação na criação de mensagens e envio por sistemas externos para evitar conteúdo repetido.
A linguagem C# aproveita conceitos de muitas outras linguagens,
mas especialmente de C++ e Java. Sua sintaxe é relativamente fácil, o que
diminui o tempo de aprendizado. Todos os programas desenvolvidos devem
ser compilados, gerando um arquivo com a extensão DLL ou EXE. Isso torna a
execução dos programas mais rápida se comparados com as linguagens de
script (VBScript , JavaScript) que atualmente utilizamos na internet
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
2. Por que é importante reduzir I/O?
Latency Numbers Every Programmer Should Know
● L1 cache reference: 1ns
● Main memory reference: 100ns
● SSD random read: 16.000ns ≈ 16μs
● Disk seek: 4.000.000ns ≈ 4ms
Porque I/O é uma operação demorada.
(fonte:
http://www.eecs.berkeley.edu/~rcs/research/interactive_latency.html)
3. Por que é importante reduzir I/O?
Um banco de dados faz muitas operações no
disco, reduzir este número, bem como acessar o
disco de forma ordenada levam a um melhor
tempo de resposta.
Usando estatísticas para o acesso, conseguimos
reduzir o número de operações no disco e
atingimos o objetivo de melhorar a perfomance.
4.
5. "customers_pkey" PRIMARY KEY, btree (customerid)
"ix_cust_user_password" UNIQUE, btree (username, password)
"ix_cust_username" UNIQUE, btree (username)
"ix_cust_email" btree (email) WHERE email IS NOT NULL
13. Atualização das estatísticas
● Pelo custo da operação, as estatísticas não são
atualizadas a cada modificação
● O processo de atualização das estatísticas é papel do
vacuum (autovacuum)
– autovacuum_vacuum_threshold (50 tuplas)
– autovacuum_analyze_scale_factor (10% da tabela)
● Para criar as estatísticas, o banco lê uma AMOSTRA
ALEATÓRIA dos dados
– Executar duas vezes seguidas um analyze pode resultar em
estatísticas diferentes
14. postgresql.conf
● Baseado em uma escala arbitrária
● Configurável no postgresql.conf
– seq_page_cost
– random_page_cost
– cpu_tuple_cost
– cpu_index_tuple_cost
– cpu_operator_cost
– effective_cache_size
15. Onde estão as estatísticas
● Estatísticas da tabela
– pg_class
● relpages: páginas da tabela (estimado)
● reltuples: tuplas (linhas) da tabela
– pg_statistic
● Dados estatísticos por coluna
– pg_stats
● Visão mais simples de entender
● Garante as permissões
16. pg_class
ds2=# SELECT relname, relkind, reltuples, relpages FROM pg_class
WHERE relname in ('customers', 'customers_pkey',
'ix_cust_user_password', 'ix_cust_username', 'ix_cust_email');
relname | relkind | reltuples | relpages
-----------------------+---------+-------------+----------
customers_pkey | i | 6e+06 | 19972
ix_cust_email | i | 5.39869e+06 | 26768
ix_cust_user_password | i | 6e+06 | 37765
ix_cust_username | i | 6e+06 | 28061
customers | r | 6e+06 | 153079
(5 rows)
17. pg_statistic
Nome Descrição
starelid O oid do objeto (tabela ou índice)
statattnum Coluna
statinherit Herança de tabela
stanullfrac Fração de nulos
stawidth Média em bytes do tamanho
stadistinct Elementos distintos
menor que zero: multiplicador do número
de registros
maior que zero: número de distintos
stakindN Tipo da estatística
staopN Operação da estatística (=, <)
stanumbersN Depende do tipo
stavaluesN Depende do tipo
18. pg_stats
Nome Descrição
schemaname Nome do schema
tablename Nome da tabela
attname Nome da coluna
inherited True se inclui estatísticas das filhas
null_frac Fração de nulos
avg_width Média em bytes do tamanho
n_distinct Elementos distintos
menor que zero: multiplicador do número
de registros
maior que zero: número de distintos
most_common_vals Lista dos valores mais comuns
most_common_freqs Frequencia dos itens acima
histogram_bounds Limites do histograma
correlation Ordem no disco
most_common_elements Valores mais comuns contando arrays
most_common_elements_freq Frequencia dos itens acima
element_count_histogram Histograma do count dos elementos
19. Tipos de estatísticas
● Most Common Values: útil para operações de igualdade
(=)
● Histogram: operações de comparação (<)
● Correlation: correlação entre ordem física e lógica
● Most Common Elements: semelhante ao MCV, mas para
vetores e matrizes
● Distinct Elements Count Histogram
● Length Histogram
● Bounds Histogram
20. Histograma
Histograma (wikipedia): uma representação
gráfica na qual um conjunto de dados é agrupado
em classes uniformes, representado por um
retângulo cuja base horizontal são as classes e
seu intervalo e a altura vertical representa a
frequência com que os valores desta classe estão
presente no conjunto de dados
21. Histograma
● Distribuição de
idades
0-5 2
6-10 3
11-15 10
16-20 15
21-25 12
26-30 7
30 ou mais 30
0-5 6-10 11-15 16-20 21-25 26-30 30 ou mais
35
30
25
20
15
10
5
0
Distribuição de Idades
22. Histograma nas estatísticas do
PostgreSQL
● A tabela é dividida em default_statistics_target
(100) partes, todas de mesmo tamanho
23. Custo de uma consulta
explain SELECT * FROM customers WHERE customerid < 10;
Seq Scan on customers (cost=0.00..220060.00 rows=9 width=153)
Filter: (customerid < 10)
● Custo inicial: custo para começar a retornar registros
● Custo máximo: custo máximo do nó
● Rows: estimativa de tuplas a retornar
● Width: tamanho médio da linha em bytes
24. Custo de uma consulta
explain SELECT * FROM customers WHERE customerid < 10;
Seq Scan on customers (cost=0.00..220060.00 rows=9 width=153)
Filter: (customerid < 10)
● Custo inicial: custo para começar a retornar registros
Neste caso, é zero por ser direto nos dados (Seq Scan)
26. Custo de uma consulta
explain SELECT * FROM customers WHERE customerid < 10;
Seq Scan on customers (cost=0.00..220060.00 rows=9 width=153)
Filter: (customerid < 10)
● Rows: estimativa de tuplas a retornar
– Total de tuplas * Selectividade
– Selectividade: (bucks + (val – bucket[min])/bucket[max] – bucket[min]))/total
buckets
● (0 + (10 – 1)/(60000 – 1)/100) = 0,000001500250004166736
– 6000000 * 0,000001500250004166736
– 9.000150002500041600000000
27. Custo de uma consulta
explain SELECT * FROM customers WHERE customerid < 10;
Seq Scan on customers (cost=0.00..220060.00 rows=9 width=153)
Filter: (customerid < 10)
● Width: tamanho médio da linha em bytes
– Não é usado diretamente, mas sim entra no cálculo de quantas
páginas serão retornadas e estima a quantidade de memória que
a consulta irá usar, optando por tabela temporária em disco caso
seja maior que a work_mem
28. Most Common Values
ds2=# explain select * from customers where state = 'DC';
QUERY PLAN
--------------------------------------------------------------------
Seq Scan on customers (cost=0.00..277012.00 rows=67800 width=155)
Filter: ((state)::text = 'DC'::text)
6000000 * 0.0113 = 67800
Most common values = {"",DC,RI,NM,...
Most common freqs = {0.494867,0.0113,0.0111667,0.0109667...
29. Most Common Values
ds2=# explain select * from customers where state = 'SP'
QUERY PLAN
----------------------------------------------------------------
Seq Scan on customers (cost=0.00..277012.00 rows=1 width=155)
Filter: ((state)::text = 'SP'::text)
● No caso do valor não estar, retiramos todos os valores mais comuns e fazemos a
conta com o número de distintos
● Selectivity = (1 - sum(mvf))/(num_distinct – num_mcv)
● (1 – 1.0000003200000003)/(52 – 100)
● Rows = total rows * selectivity
● 6000000 * 6.6666666724094865e-09
● 0.040000000034456917
30. Mais de uma condição
ds2=# explain SELECT * FROM customers WHERE customerid < 10 and state = 'DC';
QUERY PLAN
-----------------------------------------------------------------------------------
Index Scan using customers_pkey on customers (cost=0.43..39.35 rows=1 width=155)
Index Cond: (customerid < 10)
Filter: ((state)::text = 'DC'::text)
(3 rows)
● Quando temos mais de uma condição, as seletividades das duas condições são
multiplicadas:
– 6000000 * 0.0113 * 0,000001500250004166736
31. JOIN Tables
ds2=# explain select * from customers, orders where customers.customerid =
orders.customerid and customers.customerid < 9;
Nested Loop (cost=5.03..823.45 rows=4 width=185)
-> Index Scan using customers_pkey on customers (cost=0.43..35.90 rows=9
width=155)
Index Cond: (customerid < 9)
-> Bitmap Heap Scan on orders (cost=4.59..87.30 rows=21 width=30)
Recheck Cond: (customerid = customers.customerid)
-> Bitmap Index Scan on ix_order_custid (cost=0.00..4.59 rows=21
width=0)
Index Cond: (customerid = customers.customerid)
● Selectivity =(1 - null_frac1) * (1 - null_frac2) * min(1/num_distinct1, 1/num_distinct2)
– (1 – 0) * (1 – 0,161867) * min(1/6000000, 1/0,161867) = 0.000000166666666666666667
● Rows = (outer_cardinality * inner_cardinality) * selectivity
– (9 * 3.59648e+060) * 0.000000166666666666666667 = 4