Friday, October 15, 2010

Algumas observações para banco de dados

10. Gerenciamento de arquivos de dados

Pontos importantes para otimizar os arquivos de dados:

    * Desfragmentar fisicamente os discos
    * Efetuar configuração de RAID array
    * Pré-alocar um tamanho inicial razoável (montante mínimo do capacity planning)
    * Não mantenha o auto-grow fora de controle (monitore ! )
    * Habilite o Instant Initialization
    * Desabilite o Auto-Shrink (crie jobs de DBCC Shrink)
    * Quando vários desses pontos irão ajudar também os logs, existe um ponto mais importante ainda que se deve ter atenção na parte dos dados – tabelas e índices
    * Fragmentação de Índices (Index fragmentation)

9. Gerenciamento de arquivos de log transacional

Otimizando os arquivos de Log:
    * Alocar somente um arquivo de log
    * Isolar o arquivo de log em um drive separado (escritas sequenciais) dos dados
    * Desfragmentar o drive no qual o log reside
    * Pré-alocar um tamanho de log apropriado
    * Reduza o uso de auto-growth
    * Otimize o RAID array aonde o arquivo de log reside:
    * considere RAID 1+0 em vez de RAID 1, RAID 5 não é  recomendado
    * Tenha certeza em otimizar a fragmentação interna do arquivo existente – reduza VLFs (disk bound system pode experimentar alguma degradação de performance no backup de log)

8. Tempdb

Otimizando a base de dados Tempdb:
    * Tempdb deve estar isolado, veja artigo KB 224071. Portanto, em drive diferente dos arquivos de log e dados.
    * No caso de servidores multi-processados, o Tempdb deve ser criado com múltiplos arquivos
    * Criar 1 para cada CPU física (sem Hyperthreading) ou número de cores.
    * Por exemplo, quad proc com dual core são 8 processadores cores, portanto o tempdb deve ser criado com 8 arquivos de dados  para aliviar o gargalo dos recursos do sistema.
    * Com o limite recomendado de 10 arquivos de dados.
    * Para mais informações, veja o whitepaper Working with Tempdb e o artigo KB: 328551

7. Sua estratégia de indexação está funcionando?

Estratégia de índices:
     * Determine testes padrões preliminares do uso da tabela
     * OLTP – poucos índices
     * OLAP – mais e largos índices
     * Criação de chaves clusterizadas
     * Criar constraints – chave primária e chaves alternativas/candidatas
     * Manualmente adicione índices para as colunas Foreign key
     * Capture workload(s) e analise com Database Tuning Advisor (2005)
     * Adicione índices extras para ajudar na performance de SARGs, joins, aggregations
     * Melhores Práticas de Indexação
     * Não vá loucamente adicionando índices
     * Somente porque você tem índices em todas as colunas (e/ou INCLUA todas colunas) – não significa que você pode !
     * Pare de indexar após você ter configurado a estrutura básica da tabela e comece avaliar aonde quer ir ...
     * Inexação exagerada pode ser pior que pouca indexação
     * Índices que não possuem manutenção podem ser mais problemáticos em longa execução  ( configurar manutenção )
     * Lembre-se, um índice pequeno pode ter pouco uso…
     * Um índice mais largo tem muito mais uso - você pode estar apto para fazer alguns índices existentes mais úteis deixando eles mais largos
    (ok, você não pode diretamente adicionar colunas mas você pode criar novos índices e então eliminar aqueles que você não está usando).

6. Estatísticas

O que ocorre se os dados mudam:
     * Atualização automática
     * Caso o auto update statistics está ON (para ambos o DB e o índice não foram criados com “norecompute”)
     * Caso o percentual de dados mudar
     * Detalhes completos no whitepaper do TechNet
     * Atualização das estatísticas manualmente
     * Para tabelas altamente voláteis aonde a distribuição não é significamente alterada e você verifica vários eventos de “estatísticas”
     * Desative “auto update” ou desative auto update através do acréscimo de STATISTICS_NORECOMPUTE na definição do índice ( melhor controle)
     * Execute UPDATE STATISTICS

5. Fragmentação de Índices

Identificando Fragmentação:
     * As chaves para um sucesso são:
     * Conhecer quais índices procurar
     * Quais são usados para um range scans?
     * Quais possuem densidade de página muito baixa ?
     * Conhecer quais opções usar nos vários métodos
     * Conhecer como interpretar os resultados
     * Utilizar  sys.dm_db_index_physical_stats DMV em 2005
     * Utilizar DBCC SHOWCONTIG em 2000
     * Continua na versão 2005, mas está obsoleto
     * Simplesmente não reconstrua todos os índices diariamente!

4. Identificando corrupção

DBCC CHECKDB:
     * A única maneira de ler todas as páginas alocadas na base de dados
     * Utiliza o force page checksums para ser avaliado (marcado)
     * Escolha entre full checks e WITH PHYSICAL_ONLY
     * Vários algoritmos para minimizar runtime  e executar ONLINE
     * Comparado com 6.5 ou 7.0
     * Novas features em 2005
     * Progress reporting, data purity, indexed views, last known good, no false failures…

3. Notificação de Problema

Como Dizer Algo que Vem Errado:
     * Você configurou um job regular para executar um DBCC CHECKDB – como você pode dizer se foi errado ?
     * Existem alguns tipos de monitoramente caso contrário você nunca vai saber!
     * Monitoração manual é tempo de consumo e pode ser esquecido em algum momento
     * Solução: Alertas de agentes
     * Crie alertas para :
     * Erro de Severidade 19 e superiores
     * Qualquer erro definido por usuário (ex. Mostrar que o job do CHECKDB  ‘falhou’)
     * Qualquer coisa que esteja interessado
     * Escolha entre NET SEND (unreliable), email, pager

2. Fazendo backups

Utilize Backups:
     * Melhor maneira de evitar perca de dados (e talvez downtime)
     * Várias opções disponíveis no SQL Server 2005
     * Backup Full das bases de dados é um bom ponto de partida
     * Série de Backups de log transacional são muito melhores
     * Você deve ter backups para estar apto para usar-los
     * Você deve ter backups válidos para estar apto para usar-los
     * Tenha certeza que as bases de dados estão limpas antes do backup.
     * Tenha certeza que os arquivos de backup não estejam corrompidos.

1. Testando

Teste seu:
     * Plano de disaster recovery
     * Se os Backups são válidos
     * Estratégia de Indexação
     * Alertas
     * Teste, teste, teste
     * E então teste novamente dentro de alguns mêses.
     * E novamente.
     * Nós mencionamentos testar?

Sunday, October 10, 2010

Economia Baseada em Recursos

Uma economia baseada em recursos é um sistema onde todos os bens e serviços estão disponíveis sem o uso de dinheiro, crédito, escambo ou qualquer outro sistema de débito ou servidão. Todos os recursos tornam-se patrimônio comum de todos os habitantes, não de apenas uns poucos selecionados. A primissa sobre a qual esse sistema é baseado é a de que a Terra seja abundante em recursos; nossa prática de racionamento de recursos através de métodos monetários é irrelevante e contraprodutiva a nossa sobrevivência.

A sociedade moderna tem acesso à tecnologias de ponta e pode disponibilizar comida, vestimenta, moradia e assistência médica; atualizar nosso sitema educacional; e desevolver um suprimento ilimitado de energia renovável e não-poluente. Através da provisão de uma economia projetada de forma eficiente, todos podem desfrutar de um elevadíssimo padrão de vida com todas as amenidades de uma sociedade altamente tecnológica.

Uma economia baseada em recursos usaria os recursos existentes da terra e do mar, o equipamento físico, indústrias etc. para engrandecer a vida de toda a população. Numa economia baseada em recursos no lugar de dinheiro, poderíamos facilmente produzir todas as necessidades biológicas e fornecer um elevado padrão de vida para todos.

Considere os seguintes exemplos: No início da Segunda Guerra Mundial os EUA tinha apenas cerca de 600 aviões de combate de primeira classe. Nós rapidamente superamos esse suprimento limitado ao produzirmos mais de 90 mil aeronaves por ano. A questão no início da Segunda Guerra Mundial era: "nós temos os fundos suficientes para produzir os utensílios de guerra precisos?". A responsta era: "não. Não possuímos dinheiro, nem ouro o bastante; mas temos recursos de sobra". Foram os recursos disponíveis que possibilitaram aos EUA que alcançássem a alta produção e eficiência precisos para vencer a guerra. Infelizmente, isso é somente considerado em tempos de guerra.

Numa economia baseada em recursos, todos as recursos são tidos como patrimônio comum a todas as pessoas do planeta Terra, de forma a eventualmente transcender a necessidade de fronteiras artificiais que separam as pessoas. Esse é o imperativo unificador.

Devemos enfatizar que esta abordagem para um governo global não tem absolutamente nada em comum com os presentes objetivos da elite de formar um governo mundial dirigida por ela e pelas grandes corporações. Nossa visão de globalização autoriza todas as pessoas do planeta a ser as melhores que puderem, não a viver sobre submissão abjeta de um corpo governamental corporativo.

Nossas propostas não só contribuiriam para o bem-estar das pessoas, como também forneceriam a informação necessária para que elas participem em qualquer área de sua competência. O sucesso seria medido pela satisfação das atividades individuais em vez da aquisição de riqueza, propriedade e poder.

No momento, temos recusos materiais suficientes para prover um altíssimo padrão de vida para dos os habitantes da Terra. Apenas quando a população excede a capacidade de sustentação da terra é que muitos problemas como a ganância, o crime e a violência emergem. Ao superarmos a escassez, a maioria dos crimes e até as prisões da sociedade de hoje não seriam mais necessários.

Uma economia baseada em recursos possibilitaria o uso da tecnologia para superar a escassez de recursos ao aplicar fontes renováveis de energia, informatizar e automatizar a manufatura e o inventário, projetar cidades seguras e energeticamente eficientes e sistemas avançados de transporte, providenciar um serviço de saúde universal e uma educação mais relevante e, sobretudo, ao gerar um novo sistema de incentivo baseado na preocupação humana e ambiental.

Muitas pessoas acreditam que hoje exista muita tecnologia no mundo, e que essa tecnologia é a principal causa de nossa poluição ambiental. Não é esse o caso. É o abuso e o desuso da tecnologia que deve ser a nossa principal preocupação. Numa sociedade mais humana, em vez de as máquinas substituírem as pessoas elas reduziriam a jornada de trabalho, amentariam a disponibilidade de bens e serviços, e prolongariam o período de descanso. Se usarmos novas tecnologias para elevar o padrão de vida de todas as pessoas, então a infusão da tecnologia mecânica deixaria de ser uma ameaça.

Uma economia mundial baseada em recursos também envolveria esforços completos para o desenvolvimento de novas fontes de energia, limpas e renováveis: geotérmica; de fusão controlada; solar; fotoelétrica; eólica, das ondas e das marés; e até combustível dos oceanos. Nós eventualmente seríamos capazes de possuir energia em quantidade ilimitada que poderia impulsionar a civilização por milênios. Uma economia baseada em recursos também deve se comprometer com o replanejamento de nossas cidades, sistemas de transporte e indústrias, permitindo que eles sejam energeticamente eficientes, limpos, e que sirvam de forma conveniente às necessidades de todas as pessoas.

No que mais um economia baseada em recursos implicaria? A tecnologia, inteligente e eficientemente aplicada, economiza energia, reduz o desperdício e porporciona mais tempo livre. Com um inventório automatizado numa escala global, podemos manter um equilíbrio entre a produção e distribuição. Somente alimentos nutritivos e saudáveis estariam disponíveis e a obsolescência planejada seria desnecessária e inexistente numa economia baseada em recursos.

Ao nos livrarmos da necessidade de profissões baseadas no sistema monetário, como por exemplo advogados, banqueiros, vendedores de seguro, equipes de marketing e publicidade, vendedores e corretores de valores, uma quantidade considerável de desperdício será eliminada. Quantias respeitáveis de energia também seriam poupadas ao se eliminar a duplicação de produtos competitivos como ferramentas, talheres, panelas frigideiras e aspiradores de pó. É bom poder escolher. Mas no lugar de cetenas de diferentes fábricas e toda a papelada e pessoal necessários à produção de produtos similares, apenas uma pequena parcela da mais alta qualidade seria necessária para servir à população inteira. Nossa única deficiência é a falta de pensamento criativo e inteligência em nós mesmos e nos nossos líderes eleitos para resolver esses problemas. O recurso mais valioso e inesplorado hoje é a engenhosidade humana.

Com a eliminação da dívida, o medo de se perder o emprego deixará de ser uma ameaça. Essa segurança, combinada à educação sobre como se relacionar com os outros de um mudo muito mais significativo, poderiam reduzir consideravelmente tanto o estresse mental como o físico e deixar-nos livre para explorar e desenvolver nossas habilidades.

Se a ideia de se eliminar o dinheiro ainda incomoda você, considere isto: se um grupo de pessoas com ouro, diamantes e dinheiro ficassem presos em uma ilha desprovida de recursos como comida, ar e água limpos, a riqueza deles seria irrelevante a sua sobrevivência. Somente quando os recursos são escassos é que o dinheiro pode ser usado para controlar sua distribuição. Não se pode, por exemplo, vendar o ar que respiramos ou a água que flui abundante da nascente de uma montanha. Apesar do ar e da água serem valiosos, quando abundantes, eles não podem ser vendidos.

O dinheiro só é importante em uma sociedade quando certos recursos para a sobrevivência devem ser racionados e as pessoas aceitam o dinheiro como meio de troca para recursos escassos. O dineiro é uma convenção social, um acordo por assim dizer. Ele não é um recurso natural nem representa um. Ele não é necessário à sobrevivência, a menos que tenhamos sido condicionados a aceitá-lo como tal.


Fonte: http://www.thevenusproject.com/a-new-social-design-pt-br/resource-based-economy-pt-br


Enjoy!