Seguir @luiscarlos_j

terça-feira, 16 de setembro de 2014

REPLICAÇÃO SQL e REPLICAÇÃO NoSQL



Replicação refere-se ao armazenamento de dados e a estratégia de backups entre computadores em locais distintos. É um conjunto de tecnologias utilizadas para copiar e distribuir objetos e dados de um banco de dados para outro banco de dados, sincronizando estes dados com a finalidade de se manter a consistência.
A replicação de dados oferece muitas vantagens como a redundância dos dados que permite ao sistema a propriedade de tolerância a falhas e a melhoria da escalabilidade e também da disponibilidade. Sempre em um projeto de banco de dados, principalmente se for SQL devido ao conceito de ACID, a característica da escalabilidade torna-se muito importante pois indica que o sistema tem a capacidade de tratar uma demanda crescente de trabalho (tratamento de dados) sem perda de desempenho, ou seja, ocorre o balanceamento de carga do sistema já que com os dados disponíveis em todas as réplicas (sincronização) o acesso pode ser feito de forma distribuída.
Existem alguns modelos de replicação e o tipo a ser utilizado depende de alguns fatores como o ambiente físico, a quantidade de dados e o sentido da atualização dos dados. Pode-se destacar a replicação síncrona, em que os dados encontrados nas réplicas são sempre os mesmos, a replicação assíncrona, onde a sincronização só ocorre no caso de alteração dos dados, a replicação multimaster, em que é possível a realização das operações de leitura e gravação em qualquer réplica, e a replicação master-slave, onde a operação de gravação só é permitida na réplica master e a leitura em qualquer uma delas.
Dependendo do tipo de banco de dados, diferentes tipos de replicação são adotados. No caso dos bancos de dados SQL que possuem as propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade) o modelo normalmente utilizado é o master-slave (mestre-escravo) onde um servidor atua como master e os demais atuam como slave onde todas as operações que alteram algum dado no master são repassadas de imediato para os servidores slaves. Um exemplo de banco de dados que utiliza este tipo de replicação é o MySQL.
No caso dos bancos de dados NoSQL que trabalham com a propriedade BASE (Basicamente Disponível Eventualmente Consistente) o modelo normalmente adotado é o multimaster onde as operação de leitura e gravação podem ser realizadas através de qualquer nó. Esse tipo de banco de dados possui fraca consistência e tem como fator principal a disponibilidade. Um exemplo de banco de dados que trabalha com este tipo de replicação é o Cassandra que usa o particionamento dos dados através da estratégia de replicação e da topologia dos clusters (distribuição dos nós).

sábado, 13 de setembro de 2014

Serviços de Transporte Orientado à Conexão e Não Orientado à Conexão - Controle de Fluxo e Controle de Consgestionamento



Toda vez que uma aplicação estiver rodando em um host e precisar se comunicar com uma aplicação em um host diferente deve ter como informação o número da porta com o endereço IP. O sistema operacional gerencia cada porta das aplicações em um computador. Quando uma aplicação quer se comunicar com outra ocorre uma solicitação informando o endereço IP destino junto com a porta da aplicação destino.
Os dois tipos de serviços de transporte que a internet provê são o orientado à conexão (TCP) e o não orientado à conexão (UDP). O primeiro utiliza o protocolo TCP para a realização do transporte de dados e tem como vantagem o estabelecimento de conexão antes de qualquer transferência, confirmação de recebimento e retransmissão em caso de perdas, controle de fluxo, controle de congestionamento dentre outras características. Este tipo de serviço é utilizado em jogos interativos, email e transferência de arquivos. O serviço não orientado à conexão transporta os dados sem qualquer estabelecimento prévio de conexão, em caso de perda não oferece a retransmissão e a sequencia de dados transmitidos pode não seguir um processo ordenado. Esse segundo serviço é muito utilizado na transferência de áudio em que perda de parte dos dados não acarretará danos significativos no processo de transmissão.
O serviço orientado à conexão é realizado pelo protocolo TCP. Duas das características oferecidas por esse protocolo são o controle de fluxo e o controle de congestionamento. Nesse serviço da internet eles não são os mesmos. O que acontece no controle de fluxo é o seguinte: na comunicação entre um host A com um host B pode acontecer que o segundo tenha uma determinada capacidade de recebimento de pacotes (aqui entendido como conjunto de dados lógicos agrupados mediante solicitação prévia) e o primeiro envie esses pacotes numa quantidade que supere essa capacidade tendo que ocorrer um controle no envio para que o destinatário não seja sobrecarregado. No controle de congestionamento não é sobre o host que o controle acontece propriamente dito e sim sobre a rede. A rede possui determinada capacidade de transmissão. Para que não fique sobrecarregada e possa atender a demanda dos processos de comunicação, o controle de congestionamento entra em operação de forma que alguns hosts não enviem qualquer informação tendo que aguardar a rede a estar disponível para transmiti-la.

sábado, 16 de agosto de 2014

Técnicas Principais para Programação de Banco de Dados



As três técnicas principais para programação de banco de dados são:

1 – técnica da SQL embutida;
2 – técnica da biblioteca de função para banco de dados;
3 – técnica da linguagem de programação para banco de dados.

A vantagem da primeira técnica (SQL embutida) é que o texto onde a SQL é trabalhada já faz parte do código fonte e a verificação da sintaxe pode ser feita pela própria linguagem de programação. Já a desvantagem é o retrabalho para compilar quando ocorre qualquer mudança no código.
A vantagem da segunda técnica é a flexibilidade que a biblioteca de funções traz ao desenvolvedor pois as funções para operacionalizar um banco de dados já estão prontas. Esta biblioteca trata-se de uma API. O que é vantagem para uns é uma desvantagem para outros. Com o uso da biblioteca a carga de processamento recai sobre o servidor do banco de dados.
A última técnica acontece quando se precisa construir uma linguagem de programação do zero para operacionalizar um banco de dados. A vantagem é que o problema de “impedance mismatch” é minimizado pois a linguagem foi desenvolvida de acordo o modelo de banco de dados com que ela trabalhará. Assim não ocorrerá conflito entre os tipos de dados. A desvantagem é que os desenvolvedores terão que despender tempo para construir conhecimento sobre uma nova linguagem e pode ocorrer que uma linguagem específica não resolverá todos os problemas que podem aparecer.

terça-feira, 29 de julho de 2014

Organizações no Contexto Atual

                 Arquitetura das organizações refere-se a um espaço organizacional criado para determinado fim e para atender as aspirações e necessidades humanas. A arquitetura organizacional vai além de um espaço físico abordando também a convivência / interação das pessoas, a história, cultura e diversos valores que contribuíram para a sua existência.
               Toda organização antes de se tornar algo real teve que passar por várias etapas de planejamento onde foram identificados os objetivos para as quais ela atenderia. Como há o envolvimento de pessoas pode-se dizer que foi criada para atender alguma necessidade humana. Acontece que dentre as organizações tem as que possuem fim lucrativo e outras não. As que são voltadas para o acúmulo de capital necessariamente estão voltadas para o mercado já que foi para este fim que ela veio a se tornar uma realidade. Pode-se perceber que mesmo algumas descaracterizadas pelo envolvimento  com o lucro colaboram de determinada maneira para o mercado. Vejamos o exemplo de uma Universidade Pública que foi criada sem fim lucrativo para atender a necessidade de educação. Esta no fim, mesmo formando mentes pensantes, construirá mão-de-obra paras as organizações de mercado.
                  Logo no início em que as organizações foram criadas não se tinha qualquer preocupação com o meio ambiente. Apenas quando estas perceberam que estavam danificando a natureza e trazendo prejuízos para a saúde das pessoas que começaram a pensar em uma forma de criação de organizações que atendesse as necessidades humanas aliadas com o desenvolvimento sustentável. A forma que as organizações de mercado devem buscar um desenvolvimento sustentável aliados com os princípios da preservação ambiental é repensar os meios de produção de modo que no futuro as pessoas não sejam prejudicadas pelas ações que ocorrem no momento atual. Uma das medidas é adotação de novas fontes de energias menos poluentes em substituição as fontes existentes. O modo atual de produção é reflexo dos objetivos das organizações que só visam o lucro a qualquer custo sem pensar nas consequências que ele pode trazer. 

Falhas e Ameaças nos Sistemas de Informação

                Muitas empresas atualmente com a utilização da internet permitem que seus sistemas de informação sejam utilizados por seus parceiros e/ou fornecedores. Essa medida faz com que seja essencial ter conhecimento dos recursos da empresa para proteger e controlar os acessos e os direitos dos utilizadores do sistema de informação. Diante desse aspecto faz-se necessário adotar mecanismos e medidas de proteção contra falhas e ameaças que venham por ventura causar prejuízos ao funcionamento dos sistemas responsáveis pelo gerenciamento dos processos que ocorrem dentro da organização.
            Antes de tratar a respeito sobre os mecanismos contras as falhas e ameaças com o advento da internet, deve conceituar esses dois termos para dar um melhor entendimento. Uma falha compreende a possibilidade de uma ocorrência de erros ou defeitos que pode alterar, acidentalmente ou propositalmente, a funcionalidade e desempenho de algo. Ameaça é algo que pode explorar uma determinada falha e fazer com erros e defeitos possam aparecer. A falha é uma vulnerabilidade e ameaça é a ocorrência de problemas por causa de uma vulnerabilidade. 
             Na internet, é muito grande a quantidade de dados que trafegam. Esses dados contém algum valor, mesmo que mínimo, por isso medidas são adotadas para que o trafego destes ocorra de forma  segura. Toda empresa produz informações diariamente e como medida de sobrevivência no mercado essas informações devem ser armazenadas e trabalhadas por pessoas confiáveis e autorizadas para que não ocorra perda ou alterações indesejáveis que podem vir a causar prejuízos. Alguma medidas são a utilização de softwares produzido por fontes confiáveis que não contenham brechas de segurança e não precisem de constantes manutenções, uso de políticas de segurança como o uso de senhas de difícil reconhecimento, cópias de segurança (backup), controle de acesso a informações vitais e privilegiadas e adoção de regras para os recursos computacionais. 
            A adoção da criptografia também ajuda a proteger contra acessos não desejados e contribui bastante para que o tráfego possa ocorrer com segurança pois somente o destinatário e remetente tem acesso a uma determinada informação trafegada. Algumas ferramentas auxiliam na detectação, anulação e\ou remoção de algo que possa vir a alterar ou remover indevidamente os dados dentro de uma empresa. Como exemplo pode-se citar os antivírus, o firewall, antiadware, antispyware dentre outros. Como medida de segurança já que existem muitos computadores dentro de uma empresa e os dados são trabalhados internamente e externamente, estão adotando atualmente os sistema de detecção de intrusos (ou Intrusion Detection System) como meio de detectar acessos que não são autorizados advindos de uma pessoa mal-intencionada. Com esse sistema a empresa é capaz de descobrir e bloquear ações maliciosas que podem causar danos aos recurso computacionais.

DADO vs. INFORMAÇÃO

Esses são dois tipos de conceitos com que lidamos no dia-a-dia, mas nem sempre a definição de cada um é bem esclarecida. Tratamos com diferentes tipos de dados seja em nossa casa, no local de trabalho ou mesmo no nosso ambiente de estudo. Pode-se definir dado como representações, sejam elas formais ou estruturais, que isoladamente que não refletem sentido ou possam transmitir algum tipo mensagem. Um dado por si só não representa nenhum tipo de conhecimento pois trata-se de uma informação não tratada para tal objetivo.
Destaca-se como exemplo de dados os números quando representados isoladamente: 0, 30, 12, 8....Estes se não estiverem dentro de um contexto não tem como retirar qualquer tipo de informação para geração de conhecimento. Já informação compreende a um conjunto de dados que passaram por uma organização e foram processados para gerar um sentido, ou seja, passaram por uma análise, uma formatação ou filtro e daí constituiu uma representação significante para geração de conhecimento. Por exemplo, 30 graus de um termômetro, 12 horas de um relógio, 8 quilos de determinado produto e assim por diante. 
Para a geração de conhecimento ocorre todo esse processo: os dados são capturados de um determinado contexto, depois são organizados e processados para formarem uma informação e em seguida esta é aplicada em algo na realidade.

segunda-feira, 26 de maio de 2014

O modelo de qualidade de vida no trabalho proposto por WALTON



A qualidade de vida no trabalho é muito importante porque afeta diretamente a vida dos funcionários que compõe uma organização e isso tem relação direta nos resultados dessa organização. Ao estudar este assunto podem-se encontrar fatores responsáveis por dar uma qualidade de vida melhor aos indivíduos e assim fazer com que seus objetivos sejam alcançados de forma mais eficiente.
Devido a competitividade das organizações, a busca por resultados é uma prioridade fundamental. A busca desses resultados recai sobre os funcionários, exigindo-se cada vez mais destes o alcance de metas através de cobranças. Isso faz com que o dia a dia do ambiente de trabalho fique submetido a uma forma crescente de pressão. Visando adequar o modo de vida destes funcionários a essa nova realidade, as organizações têm investido em políticas e programa de qualidade de vida. Ao proporcionar uma melhora de vida aos funcionários, a organização tem como expandir sua capacidade produtiva e assim alcançar de forma mais eficiente seus objetivos pretendidos.
Segundo WALTON (1973), o conceito de qualidade de vida no trabalho deve estar de acordo com as necessidades e aspirações humanas da época. Walton ao estabelecer critérios para QVT, dividiu-os em oito categorias como: a compensação justa e adequada, segurança e saúde nas condições de trabalho, oportunidade para desenvolvimento da pessoa humana, oportunidade para crescimento, integração social na organização do trabalho, constitucionalismo na organização do trabalho, trabalho e espaço total de vida e relevância social do trabalho.
O modelo de Walton demonstra os fatores que afetam a qualidade de vida no trabalho. O importante a destacar é que este modelo é bastante abrangente e engloba a vida organizacional e social dos funcionários. Isso torna a organização mais humana de forma que o trabalho ocorra de forma eficiente e o funcionário toma consciência do seu desempenho. Tudo isso aplicado ao bem-estar dos funcionários melhora consideravelmente a saúde da organização.