domingo, 23 de novembro de 2014

Meio Corporativo - Utilização de Banco de Dados

Bom vamos falar um pouco sobre qual a grande finalidade de apresentar a importância de Banco de Dados dentro de uma organização no meio corporativo, vindo a buscar uma forma objetiva de identificar quais são os meios de informações que estão armazenadas em seu interior, mostrando os benefícios e os problemas trazidos para a realidade do meio corporativo.

Com o surgimento da tecnologia, os dados adquiriram uma imensa necessidade de armazenamento de volume na memória de armazenamento do computador. Sendo de modo que crie e extraia informações importantes que possam influenciar de alguma forma nas tomadas de decisões, assim surgindo o Banco de Dados ou DB (Data Base), nada mais é um conjunto de elementos que integrados entre si, que se relacionam de forma lógica consolidando registros armazenados de forma separada em arquivos que são fornecidos para as aplicações em bancos independentes dos programas de aplicação que são utilizados com um meio de dispositivos armazenados.

Com isso o Meio Corporativo consegue garantir uma grande necessidade que muitas empresas ou de algumas companhias onde eles têm uma falha que necessitam de uma grande integridade da informação vindo a ser continua para qualquer ação de tomada de decisões no exato momento. Assim o Meio Corporativo foca em busca de alguns resultados de extrema importância para o melhor desempenho destas informações, sendo muito segura e de fácil acesso e rápida para os usuários que as utilizam aplicações no interior das empresas ou das companhias trazendo grandes benefícios. Porém é necessário que os usuários tenham um conhecimento ou um treinamento antes de começarem a utilizar alguns sistemas de informações assim concretizando a utilização de forma eficácia.

Também não podemos deixar de mencionar que é de vasta importância para a base de informação ser sempre acompanhada por alguns DBA’s, pois é necessário um espelhamento do banco com seus devidos backups diários, caso ocorra alguma falha de infraestrutura levando a afetar a máquina de produção do banco. Necessário que os DBA's estejam preparados para realizar um remanejamento de fácil acesso para subir a máquina espelho que nada mais é uma contingência para produção sem ocorrer divergências nas informações, se a ocorrência for gravíssima afetando o local físico dos servidores é de grande extrema importância que menciono, pode-se também subir uma base de backup na nuvem ou em outro local.

Quando for necessário realizar uma manutenção na base de produção sempre deve homologar a mudança em uma base de homologue. Lembrando deve-se informar os usuários referente a indisponibilidade da mudança. Somente assim é possível realiza-la. Caso possível entrar com uma base contingência em produção ou mesmo até subindo a base na nuvem.

Principais pontos referentes ao banco de dados em uma organização são:

  • Integridade nos dados.
  • Rápidas tomadas de decisões, devido fácil acesso as informações.
  • Atualizações de dados pelos usuários de forma extremamente e rápida.
  • Ótima segurança nas informações devido a criticidade.

Bom é isto é, este tópico de hoje foi um diferencial devido a extrema importância de um Banco de Dados no dia a dia.

domingo, 2 de novembro de 2014

MySQL - Diferença entre MyISAM e InnoDB

Hoje vamos falar um pouco desta diferença entre MyISAM e InnoDB.

Bom o MySQL é um banco de dados relacional bem divulgado pois ele tem uma excelente parceria da linguagem web PHP (Mysql + PHP) vem dando certo há anos (não é difícil encontrar uma empresa de hospedagem de sites que deixe de citar PHP e MySQL). Conforme voltando a ao MySQL encontramos neste banco relacional 2 performance de Engines mais utilizadas do Mysql que são  InnoDB e MyISAM.

Então vamos detalhar estas diferenças!
InnoDB funciona mais rápido que MyISAM quando há modificações constantes nos dados, uma vez que este tipo de armazenagem usa a proteção por registros (row locking) e não a proteção por tabelas (table locking) como o faz o MyISAM. Contudo, em várias situações, InnoDB é mais lento que MyISAM, devido ao fato de que InnoDB funciona com transações. A armazenagem padrão do MySQL é MyISAM. Outro ponto interessante são as restrições de chaves estrangeiras (foreign key constraints) e transações. Estes recursos estão disponíveis apenas no InnoDB.
MyISAM é apropriado para tabelas cujos dados não mudam com frequência. Um exemplo disso é uma tabela de cidades e estados. Como geralmente este tipo de tabela é usado apenas como consultas, não há a necessidade do uso de InnoDB. MyISAM tem a vantagem de ser arquivos simples se comparado com o innodb, mesmo na opção para criar dentro do contexto, o arquivo fica instavel em volumes grandes, o mito sobre configurar o mysql em innodb está errado, VOCÊ SEMPRE DEVE CONFIGURAR O MYSQL, perfomace de cache é sempre importante.
InnoDB, Quais as vantagens?

– Turbinadíssimo quando o assunto são tabelas que contém registros que sofrem mudanças o tempo todo, pois o InnoDB opera como row locking, isto quer dizer que se você tem uma tabela que contém registros que sofrem mudanças o tempo todo você será favorecido. Imagine uma coluna de tabela que mostra o valor em real da cotação do dólar? Entendeu? Ocorrem inúmeras mudanças no decorrer do dia, isto irá favorecer e muito sua vida caso use o InnoDB.
– Consistência de dados, este é um dos pontos mais fortes do InnoDB. A chance de uma tabela que usa engine InnoDB corromper é mais que mínima, é hiper remota! Se você quer garantia de dados use InnoDB. Caso tenha dúvidas de como mudar sua engine de MyIsam para InnoDB basta exportar sua base de dados (que usa Engine MyIsam) e com um editor de textos (pode ser o bloco de notas) use a opção de substituir um termo e informe a referência MyIsam e o termo substituto será InnoDB, após basta importar no seu banco de dados que já estará usando InnoDB como Engine padrão do seu BD.
– Suporte a transações e relacionamentos completos, isto é, em caso simples, você tem o recurso de chaves estrangeiras.

– Rodam sob um engine, desenvolvido pelo Innobase( www.innodb.com), que acrescenta ao MySQL o suporte a TRANSAÇÕES e a CONSTRAINTS de chave estrangeira.

– Para obter o máximo de performance com tabelas InnoDB é necessário configurar o arquivo my.conf(ou my.ini no Windows) de acordo com as características de hardware do servidor onde o MySQL está rodando. Os Detalhes dessa configuração podem ser obtidos no manual do InnoDB.
InnoDB, Qual desvantagem?
– Em caso de uso de tabelas que mal sofrem mudanças o desempenho ficará comprometido.
– Em caso de um crash (raro, porém possível de ocorrer), por exemplo, um disco que apresentou mau funcionamento e depois apresentou estabilidade, porém corrompeu o BD, a chance de restore mais simples é justamente um restore de um dump (backup anteriormente feito). 
MyIsam, Quais Vantagens?
– Desempenho muito satisfatório em tabelas que não recebem muitas alterações constantes, pois o MyIsam opera com table locking, em um exemplo mais simples, imagine uma tabela de sorteios por CPF (de maneira aleatória), raramente um CPF irá mudar (desde que tenha sido inserido errado), logo esta tabela de promoção raramente sofrerá alterações.
– Capacidade de restore muito agradável (baseado no log binário), raramente será necessário o uso de dumps para um restore crítico.

 Foi implementado a partir do código da tabela ISAM., introduzindo diversas melhorias como:

 Os arquivos de tabela são transportáveis entre diferentes sistemas operacionais;

 Campos BLOB  e TEXT  podem ser indexados;

 Os Arquivos índices e de dados podem ser armazenados em dispositivos diferentes (aumento de performance);

 Algoritmos de distribuição de dados e gerenciamento de índices melhorados;
MyIsam, Qual desvantagem?
– O ponto negativo que destacamos é justamente a estabilidade dos arquivos. Em um caso de travamento do sistema (imagine um ataque na porta 80 do apache) e o servidor precisou de um reboot emergencial, a probabilidade do banco sob engine MyIsam corromper é enorme. Por isso recomendamos fortemente o uso do InnoDB.

Esperamos que este simplíssimo artigo tenha tirado sua dúvida sobre as engines MyIsam e InnoDB para o uso do dia a dia.
Bom é isto ai espero que tenham gostado. Em breve irei postar mais acompanhem!!!

sábado, 28 de junho de 2014

Schema de Banco de Dados

Bom hoje vamos falar um pouco do conceito de um Schema de Banco de Dados.

O que é um Schema? ou Esquema?

Um Schema é representado por uma coleção de vários objetos de um ou mais usuário de banco de dados como exemplo: tabelas, sequências, índices, etc. São associados a um banco de dados na razão de vários esquemas para um BD.

Verificando mais a fundo, os Schemas de bancos de dados de um sistema de banco de dados é sua estrutura descrita em uma linguagem formal suportada pelo sistema de gerenciamento de banco de dados (SGBD) e refere-se à organização de dados como um diagrama de como um banco de dados é construído (dividido em tabelas de banco de dados no caso de bancos de dados relacionais).

Existe uma definição formal do esquema de banco de dados é um conjunto de fórmulas (sentenças) chamadas de restrições de integridade impostas no banco de dados. Estas restrições de integridade garantem a compatibilidade entre partes do esquema. Todas as restrições são expressáveis na mesma linguagem. Um banco de dados pode ser considerado uma estrutura em realização da linguagem de banco de dados. Os estados de um esquema conceitual são transformados em um mapeamento explícito, o esquema de banco de dados. Isto descreve como entidades do mundo real são modeladas em um banco de dados.

Um Schema de banco de dados especifica, com base no conhecimento do administrador de banco de dados de possíveis aplicações, os fatos que podem entrar no banco de dados, ou aqueles de interesse para os possíveis usuários finais.

 A noção de Schema de banco de dados desempenha o mesmo papel que a noção de teoria no cálculo de predicados. Um modelo desta "teoria" corresponde aproximadamente a um banco de dados, que pode ser visto em qualquer instante de tempo como um objeto matemático. Desta forma, um esquema pode conter fórmulas que representam restrições de integridade especificamente para uma aplicação e as restrições especificamente para um tipo de banco de dados, todas expressadas na mesma linguagem de banco de dados.

Em banco de dados relacional, o Schema define as tabelas, campos, relacionamentos, visões, índices, pacotes, procedimentos, funções, filas, gatilhos, tipos, sequências, visões materializadas, sinônimos, enlaces de banco de dados, diretórios, esquemas XML e outros elementos.

Esquemas geralmente são armazenados em um dicionário de dados. Apesar de um Schema ser definido em linguagem de banco de dados de texto, o termo é frequentemente utilizado para se referir a uma representação gráfica da estrutura de banco de dados. Em outras palavras, Schema é a estrutura do banco de dados que define os objetos no banco de dados.
 
Os objetos de um Schema são estruturas lógicas que se referem diretamente aos dados do banco de dados. Eles incluem estruturas, tais como tabelas, visões, sequências, procedimentos armazenados, sinônimos, índices, agrupamentos e links de banco de dados. (Não há nenhum relacionamento entre um tablespace e um Schema; os objetos do mesmo Schema podem estar em tablespaces diferentes, e um tablespace pode conter objetos de esquemas diferentes).

Em breve estarei postando mais informações sobre Schema referente a banco de dados específicos.

 Copyright © 2008-2010 All Right Reserved - Todos os Direitos Reservados Elder Stroparo