Banco de Dados – Postgre x MySql

Mudamos para http://infoachei.com.br/
Obrigado pela visita!
Introdução

É muito fácil encontrar serviços de hospedagem de sites que oferecem em seus planos os Sistemas Gerenciadores de Banco de Dados (SGDB) MySQL e PostgreSQL, embora isso seja mais comum com o primeiro. Como esses SGBD não são usados apenas na internet, talvez seja de seu interesse utilizá-los em seus projetos de software, uma vez que cada um é dotado de vantagens interessantes, como a gratuidade de uso. Para ajudá-lo a escolher o melhor para sua aplicação, este artigo apresenta as principais características de ambos, começando com o MySQL. Para tanto, é recomendável que você tenha algum conhecimento sobre os conceitos de bancos de dados.

Alguns termos

Mesmo aquelas pessoas que já trabalham com banco de dados podem ficar “perdidas” no meio de tantos nomes de recursos. Assim, para facilitar a compreensão, segue uma lista com uma breve explicação sobre os recursos mais importantes:

– Referential integrity: também conhecido como “integridade referencial”, esse recurso consiste em restrições ou regras existentes para uma correta inserção de dados, por exemplo, para impedir que uma tabela seja preenchida sem que isso ocorra em outra;
– Schemas: recurso que permite cruzar informações em um mesmo banco de dados, mas em estruturas diferentes;
– SQL: sigla para Structured Query Language, é uma linguagem utilizada em bancos de dados relacionais;
– SSL: sigla para Secure Sockets Layer, consiste em um protocolo para a troca segura de informações;
– Stored procedures: esse recurso consiste em comandos SQL “guardados” no servidor para, por exemplo, executar tarefas repetitivas, evitando que um cliente tenha que executá-las constantemente;
– Transactions: também conhecidas como transações, as transactions são instruções executadas em um bloco designado por parâmetros que indicam seu início e seu fim;
– Triggers: também chamados de gatilhos, os triggers são recursos que permitem o acionamento de uma seqüência de comandos logo em seguida ou logo após um evento;
– Views: os views consistem em um tipo de tabela virtual formada por campos extraídos de uma tabela “verdadeira”, facilitando o controle sob os dados acessados.

O banco de dados MySQL

MySQLO MySQL é um dos sistemas de gerenciamento de banco de dados mais populares que existe e, por ser otimizado para aplicações Web, é amplamente utilizado na internet (inclusive aqui no InfoWester). É muito comum encontrar serviços de hospedagem de sites que oferecem o MySQL e a linguagem PHP, justamente porque ambos trabalham muito bem em conjunto.

Outro fator que ajuda na popularidade do MySQL é sua disponibilidade para praticamente qualquer sistema operacional, como Linux, FreeBSD (e outros sistemas baseados em Unix), Windows e Mac OS X. Além disso, o MySQL é um software livre (sob licença GPL), o que significa que qualquer um pode estudá-lo ou alterá-lo conforme a necessidade.

Entre as características técnicas do SGBD MySQL, estão:

– Alta compatibilidade com linguagens como PHP, Java, Python, C#, Ruby e C/C++;
– Baixa exigência de processamento (em comparação como outros SGBD);
– Vários sistemas de armazenamento de dados (batabase engine), como MyISAM, MySQL Cluster, CSV, Merge, InnoDB, entre outros;
– Recursos como transactions (transações), conectividade segura, indexação de campos de texto, replicação, etc;
– Instruções em SQL, como indica o nome.

Até o momento em que este artigo era escrito, o MySQL estava na versão 5.0 (mais precisamente, 5.0.26). Em relação à versão 4.0, houve acréscimo de vários recursos e melhorias importantes, como:

– Triggers;
– Stored procedures;
– Sub-selects;
– Suporte total ao Unicode;
– INFORMATION_SCHEMA (para armazenamento do dicionário de dados);
– Server side cursors;
– Suporte a SSL;
– Melhoria no tratamento de erros.

O MySQL surgiu na Suécia pelas mãos de três colegas: Allan Larsson, David Axmark e Michael Monty Widenius. Trabalhando com base de dados, eles sentiram a necessidade de fazer determinadas conexões entre tabelas e usaram o mSQL para isso. Porém, não demorou para perceberem que essa ferramenta não lhes atendia conforme o necessário e passaram a trabalhar em uma solução própria. Surgia então o MySQL, cuja primeira versão foi lançada no ano de 1996.

Um fato importante a ser destacado sobre o MySQL é que esse SGBD também possui uma licença comercial, isto é, paga. Neste caso, é possível obter suporte diferenciado dos desenvolvedores.

Vale ressaltar também que, em fevereiro de 2008, o MySQL foi comprado pela Sun Microsystems, que pagou a quantia de 1 bilhão de dólares pela aquisição. Mais informações sobre essa transação neste link (em inglês).

O banco de dados PostgreSQL

PostgreSQLO sistema gerenciador de banco de dados PostgreSQL teve seu início na Universidade de Berkeley, na Califórnia, em 1986. À época, um programador chamado Michael Stonebraker liderou um projeto para a criação de um servidor de banco de dados relacionais chamado Postgres, oriundo de um outro projeto da mesma instituição denominado Ingres. Essa tecnologia foi então comprada pela Illustra, empresa posteriormente adquirida pela Informix. Porém, mesmo diante disso, dois estudantes de Berkeley (Jolly Chen e Andrew Yu) compatibilizaram o Postgres à linguagem SQL. Este projeto recebeu o nome de Postgres95.

Em 1996, quando o projeto estava estável, o banco de dados recebeu o nome de PostgreSQL. No entanto, enquanto ainda possuía o nome Postgres95, o banco de dados teve várias mudanças. O seu código foi totalmente revisado e a linguagem SQL foi definida como padrão.

Tecnicamente falando, o PostgreSQL é um banco de dados relacional e orientado a objetos. Um de seus atrativos é possuir recursos comuns a banco de dados de grande porte, o que o deixa apto a trabalhar, inclusive, com operações de missão crítica. Além disso, trata-se de um banco de dados versátil, seguro, gratuito e de código aberto (disponível sob uma licença BSD).Entre suas características, tem-se:

– Compatibilidade multi-plataforma, ou seja, executa em vários sistema operacionais, como Windows, Mac OS X, Linux e outras variantes de Unix;
– Compatibilidade com várias linguagens, entre elas, Java, PHP, Python, Ruby, e C/C++;
– Base de dados de tamanho ilimitado;
– Tabelas com tamanho de até 32 TB;
– Quantidade de linhas de até 1.6 TB ilimitada;
– Campos de até 1 GB;
– Suporte a recursos como triggers, views, stored procedures, SSL, MVCC, schemas, transactions, savepoints, referential integrity e expressões regulares;
– Instruções em SQL, como indica o nome.

No momento em que este artigo era escrito, o PostgreSQL estava na versão 8.1.

MySQL x PostgreSQL

MySQL ou PostgreSQL, qual usar? Ambos são muito bons e não fazem feio diante das alternativas pagas. Além disso, possuem recursos e vantagens em comum, o que significa que, para a maioria das aplicações, ambos podem ser usados. Na verdade, o correto não é tentar descobrir qual é o melhor, mas em que situação um ou outro deve ser utilizado.

O PostgreSQL é otimizado para aplicações complexas, isto é, que envolvem grandes volumes de dados ou que tratam de informações críticas. Assim, para um sistema de comércio eletrônico de porte médio/alto, por exemplo, o PostGreSQL é mais interessante, já que esse SGBD é capaz de lidar de maneira satisfatória com o volume de dados gerado pelas operações de consulta e venda.

O MySQL, por sua vez, é focado na agilidade. Assim, se sua aplicação necessita de retornos rápidos e não envolve operações complexas, o MySQL é a opção mais adequada, pois é otimizado para proporcionar processamento rápido dos dados e tempo curto de resposta sem exigir muito do hardware. Se você precisa, por exemplo, de um banco de dados para armazenar o conteúdo do seu site, de seu fórum ou necessita manter um cadastro de usuários de um portal, o MySQL “serve como uma luva”, pois tais aplicações não necessitam dos recursos avançados que o PostgreSQL oferece.

Para escolher um destes dois SGBD, procure entender bem quais recursos sua aplicação precisa. Tente estimar o volume de dados, avalie o hardware disponível, certifique-se das funcionalidades necessárias e, posteriormente, procure por informações mais detalhadas do MySQL e do PostGreSQL. Se sua aplicação for simples – principalmente se for algo ligado à internet -, não é preciso pensar muito: o MySQL é uma escolha satisfatória, pois é facilmente encontrado em serviços de hospedagem.

Todavia, há situações em que tanto o MySQL quanto o PostgreSQL serão boas escolhas. Nesses casos, é recomendável fazer testes com ambos e avaliar qual oferece mais vantagens à aplicação.

Fonte:

http://www.infowester.com/postgremysql.php

Moved to http://infoachei.com.br/
Thanks for visits!

Anúncios
Publicado em 1. Leave a Comment »

Processadores – 32 bits x 64 bits

Mudamos para http://infoachei.com.br/
Obrigado pela visita!
Introdução

Tanto a Intel como a AMD já colocaram no mercado processadores que trabalham a 64 bits. Em poucos anos, esse tipo de chip será o padrão. Muita gente sabe que os modelos de 64 bits são melhores que os de 32 bits e este artigo se propõe a mostrar exatamente como e onde ocorre essas melhorias.

32 bits x 64 bits

Se você vai a uma loja de informática para comprar um computador, o vendedor pode lhe oferecer dois tipos: um com um processador de 64 bits e outro com um processador de 32 bits. “O de 64 bits é mais caro, porém é muito mais rápido e tem melhor desempenho”, lhe diz o vendedor. Isso significa que seus jogos rodarão mais rápidos, assim como programas pesados, como AutoCad, Premiere, entre outros, não? Talvez. Vejamos o porquê.

Quando nos referimos a processadores de 16 bits, 32 bits ou 64 bits estamos falando dos bits internos do chip – em poucas palavras, isso representa a quantidade de dados e instruções que o processador consegue trabalhar por vez. Por exemplo, com 16 bits um processador pode manipular um número de valor até 65.535. Se certo número tem valor 100.000, ele terá que fazer a operação em duas partes. No entanto, se um chip trabalha a 32 bits, ele pode manipular números de valor até 4.294.967.296 em uma única operação.

Para calcular esse limite, basta fazer 2 elevado à quantidade de bits internos do processador. Então, qual o limite de um processador de 64 bits? Vamos à conta:

2^64 = 1.84467441 × 10^19

Um valor extremamente alto!

Agora, suponha que você esteja utilizando um editor de textos. É improvável que esse programa chegue a utilizar valores grandes em suas operações. Neste caso, qual a diferença entre utilizar um processador de 32 bits ou 64 bits, sendo que o primeiro será suficiente? Como o editor utiliza valores suportáveis tanto pelos chips de 32 bits quanto pelos de 64 bits, as instruções relacionadas serão processadas ao mesmo tempo (considerando que ambos os chips tenham o mesmo clock).

Por outro lado, aplicações em 3D ou programas como AutoCad requerem boa capacidade para cálculo e aí um processador de 64 bits pode fazer diferença. Suponha que determinadas operações utilizem valores superiores a 4.294.967.296. Um processador de 32 bits terá que realizar cada etapa em duas vezes ou mais, dependendo do valor usado no cálculo. Todavia, um processador de 64 bits fará esse trabalho uma única vez em cada operação.

No entanto, há outros fatores a serem considerados. Um deles é o sistema operacional (SO). O funcionamento do computador está diretamente ligado à relação entre o sistema operacional e o hardware como um todo. O SO é desenvolvido de forma a aproveitar o máximo de recursos da plataforma para o qual é destinado. Assim, o Windows XP ou uma distribuição Linux com um kernel desenvolvido antes do surgimento de processadores de 64 bits são preparados para trabalhar a 32 bits, mas não a 64 bits.

A influência do sistema operacional

Ao se colocar um sistema operacional de 32 bits para rodar em um computador com processador de 64 bits, o primeiro não se adaptará automaticamente e continuará mantendo sua forma de trabalho. Com isso, é necessário o desenvolvimento de sistemas operacionais capazes de rodar a 64 bits.

O Desenvolvimento ou a adaptação de um sistema operacional para trabalhar a 64 bits não é tão trivial assim. Na verdade, é necessário que o SO seja compatível com um processador ou com uma linha de processadores, já que pode haver diferenças entre os tipos existentes. Em outras palavras, o sistema operacional precisa ser compatível com chips da AMD ou com chips da Intel. Se possível, com os dois.

No caso do Windows XP, a Microsoft disponibilizou a versão “Professional x64”, compatível com os processadores AMD Athlon 64, AMD Opteron, Intel Xeon (com instruções EM64T) e Intel Pentium 4 (com instruções EM64T). De acordo com a Microsoft, a principal diferença entre essa e as versões de 32 bits (além da compatibilidade com instruções de 64 bits) é o suporte de até 128 GB de memória RAM e 16 TB de memória virtual. Nada mais natural: se a aplicação para o qual o computador é utilizado manipula grande quantidade de dados e valores, de nada adianta ter processamento de 64 bits, mas pouca memória, já que, grossamente falando, os dados teriam que “formar fila” para serem inseridos na memória, comprometendo o desempenho.

 

O mesmo ocorre com o Linux. Se você visitar o site de alguma distribuição para baixar uma versão do sistema operacional, muito provavelmente encontrará links que apontam para diversas versões. O site do Ubuntu Linux, por exemplo, oferece links para processadores x86 (32 bits), Mac (chips PowerPC) e 64-bit (processadores AMD64 ou EM64T).

Você pode ter se perguntado se é possível utilizar um sistema operacional de 32 bits com um processador de 64 bits e migrar o primeiro para uma versão adequada futuramente. Depende. O processador Intel Itanium é apelidado por alguns de “puro sangue”, já que só executa aplicações de 64 bits. Assim, uma versão de 32 bits de um sistema operacional não roda nele. Por outro lado, processadores Athlon 64 são capazes de trabalhar tanto com aplicações de 32 bits quanto de 64 bits, o que o torna interessante para quem pretende usar um SO de 32 bits inicialmente e uma versão de 64 bits no futuro.

AMD64 e EM64T

Ao serem citadas anteriormente, você pode ter se perguntado o que significa as siglas AMD64 e EM64T:

AMD64: originalmente chamado de x86-64, AMD64 (ou AMD64 ISA – Instruction Set Architecture) é o nome da tecnologia de 64 bits desenvolvida pela AMD. Um de seus destaques é o suporte às instruções de 32 bits (Legacy Mode);

EM64T: sigla para Extended Memory 64-bit Technology, o EM64T é tido como a interpretação do AMD64 feita pela Intel. Devido a isso, recebeu de alguns a denominação iADMD64 (o “i” faz referência à primeira letra do nome da Intel).

 

Finalizando

O InfoWester recebeu mais de uma vez perguntas sobre o quão veloz são os processadores de 64 bits. Na verdade, a palavra-chave para esse tipo de chip não é “velocidade”, mas “capacidade”. Compare a uma locomotiva cujo motor é preparado para suportar mais vagões. Ela carregará mais, o que diminui a quantidade de viagens, mas sua velocidade continuará a mesma.

A velocidade dos processadores alcançará um limite, por isso outras características devem ser consideradas para que um processador seja vantajoso em relação a outro, pelo menos até que uma nova tecnologia para esses chips surja (como os computadores quânticos). A arquitetura de 64 bits é um excelente exemplo disso. Fazer mais e melhor. Esse é o diferencial a partir de agora.

Fonte:

http://www.infowester.com/64bitsx32bits.php

Moved to http://infoachei.com.br/
Thanks for visits!

Publicado em 1. Leave a Comment »

Linux – Porque usar?

Mudamos para http://infoachei.com.br/
Obrigado pela visita!

Moved to http://infoachei.com.br/
Thanks for visits!

Até mesmo quem nunca mexeu no Linux sabe que esse sistema operacional ganha novos usuários a cada dia. Quem acompanha as notícias com mais freqüência sabe que a maioria desses novos usuários são empresas. O número de companhias que estão adotando o Linux é cada vez maior. Mas, se por esse lado o Linux alcança esse sucesso, por outro, o lado dos usuários domésticos, o mesmo não acontece. Não, isso não significa que o número de usuários “caseiros” não cresce. Isso acontece sim, mas numa proporção menor se comparado ao crescimento do Linux nas empresas. Por que será que existe essa diferença?

A adoção do Linux pelas empresas se deve, basicamente, aos seguintes motivos: custo/benefício e capacidade de operação. As companhias sempre buscam formas de cortar custos. Com o Linux, conseguem fazer isso evitando gastos enormes com a aquisição de licenças de software. É óbvio que tais empresas não adotam um sistema simplesmente por ser de baixo custo. É necessário que esse sistema satisfaça as necessidades da empresa. O Linux não só permite que isso aconteça como também proporciona ótima performance nas operações em que é destinado. As empresas podem usar o Linux para diversas funções, principalmente para aquelas relacionadas à redes. As mais utilizadas são:

  • Servidor de páginas na internet (servidor Web);
  • Servidor FTP;
  • Servidor de e-mail;
  • Servidor Samba (Servidor Windows);
  • Servidor DNS (Domain Name Server);
  • Gateway (roteador) entre uma LAN (rede local, como num prédio, por exemplo) e a internet;
  • Servidor de banco de dados.

Esses são os exemplos mais comuns. O Linux oferece uma gama tão ampla de recursos que pode ser usado para os mais diversos fins. Sabe-se, por exemplo, que estúdios de cinema em Hollywood estão usando Linux em clusters, principalmente para a geração de efeitos especiais. De uma forma em geral, as empresas que adotam o Linux contam com o fato de poderem alterar o sistema para que ele se adeque às necessidades da companhia.

Do lado do usuário doméstico, no entanto, isso já não é tão promissor assim. Mesmo com as distribuições Linux oferecendo cada vez mais facilidade de uso a cada versão, o Linux vem sendo adotado quase que exclusivamente por usuários que trabalham com computação/informática. É raro ver alguém que não seja da área usando esse sistema. Isso acontece não só por causa da popularidade dos sistemas operacionais pagos, mas também porque o Linux ainda não é um sistema fácil de se trabalhar, se comparado com o Windows ou Mac OS, por exemplo. Talvez, facilidade não seja o termo adequado a se empregar aqui, a não ser que associemos tal termo à costume. No geral, as pessoas, mesmo as que trabalham com informática estão acostumadas a usar outro sistema operacional e migrar para o Linux pode causar muita estranheza. Provas de que essa questão de facilidade é relativa podem ser vistas nos projetos de inclusão digital, como os Telecentros em São Paulo. Neles, a população carente tem acesso à internet e pode usar os computadores para tarefas do dia-a-dia. O sistema operacional que roda nesses computadores é o Linux. A maioria dessas pessoas nunca teve contato com um computador. Com os Telecentros estão tendo a primeira oportunidade.

Curioso é notar que muitas pessoas acostumadas com o Windows têm mais dificuldade em realizar determinadas tarefas do que os usuários dos Telecentros. Isso porque estão apenas acostumadas com outro sistema operacional. Se olharmos para alguns anos atrás, veremos que o Linux está cada vez mais fácil de instalar e usar. Programas de escritório, de internet, de tratamento de imagens e até mesmo jogos, são oferecidos aos montes nas distribuições. Praticamente todo tipo de software é desenvolvido e disponibilizado para o Linux, sem que seja necessário pagar nada. Decerto, alguns tipos ainda precisam evoluir, como os jogos, que estão mais presentes em outros sistemas. Mas isso é simplesmente uma questão de tempo.

Outro fator a contar é o desempenho. O Linux não trava (às vezes isso acontece, mas não se trata do Linux, e sim de algum componente seu, como o ambiente gráfico), pois oferece um gerenciamento de memória muito eficiente, segurança e robustez. Mesmo com todas essas vantagens, o crescimento do uso do Linux ainda é pequeno entre os usuários domésticos e, como já foi dito, uma das razões para isso é o costume com outro sistema operacional. Para exemplificar: se em um determinado sistema operacional o usuário consegue instalar drivers para equipamentos de hardware, pode sentir grandes dificuldades para fazer o mesmo no Linux. Em certos casos, uma tarefa é mais simples de ser feita em um outro sistema operacional. Isso porque esse usuário ainda não está acostumado com o “sistema do pingüim”.

As empresas não precisam, dependendo da aplicação, de facilidades de uso para utilizar o Linux, visto que contratam mão-de-obra especializada. Elas dão prioridade aos quesitos custo e desempenho. Um fato que deve ser notado é que essas empresas nem sempre utilizam o Linux como uma estação de trabalho ou em PCs. Por que? Mais uma vez entra em cena a questão do costume e facilidade. Os funcionários (por exemplo, uma recepcionista) estranharão muito se tiverem que usar o Linux. Mesmo quando as empresas oferecem treinamento, leva tempo para uma adaptação. Apesar disso, muitas companhias já perceberam que é menos custoso investir em treinamento para uso do Linux do que na aquisição de sistemas e programas pagos.

O crescimento do uso do Linux entre usuários domésticos é pequeno se comparado às empresas, mas mesmo assim, é muito significante. Talvez, seja até melhor simplesmente dizer “o uso do Linux por empresas é maior que por usuários domésticos”. O usuário doméstico, na maioria dos casos, ainda o vê como uma alternativa, não como uma solução definitiva. Mas com o tempo de uso, ele cada vez menos dependerá de outro sistema e poderá chegar num ponto em que o Linux será o único sistema operacional em seu computador. Seja em sua casa ou em sua empresa, não importa. O Linux oferece vantagens para ambos os lados, afinal, Linux não é simplesmente um sistema operacional, é um conceito na computação que se adapta a qualquer nível de uso e que satisfaz praticamente qualquer necessidade computacional.

Fonte:

http://www.infowester.com/linempxdomes.php

Publicado em 1. Leave a Comment »

Linux – aprenda a usar o APT-GET

Mudamos para http://infoachei.com.br/
Obrigado pela visita!
Introdução

O apt-get é um recurso desenvolvido originalmente para a stribuição Debian que permite a instalação e a atualização de pacotes (programas, bibliotecas de funções, etc) no Linux de maneira fácil e precisa. Este artigo, dividido em duas partes, mostrará como utilizar seus principais recursos.

Vale frisar que o apt-get deve ser utilizado através de um usuário com privilégios de administrador.

O que é apt-get

Em qualquer sistema operacional há a necessidade de se instalar programas para que o uso do computador faça sentido. O problema é que, muitas vezes, o processo de instalação é trabalhoso, forçando o usuário a procurar arquivos indispensáveis ao software (dependências) ou a editar scripts, por exemplo.

Para poder lidar com esse e com problemas oriundos, desenvolvedores da distribuição Debian Linux criaram o APT (Advanced Packaging Tool), uma ferramenta para instalar e atualizar pacotes (e suas dependências) de maneira rápida e prática. Não demorou para que o APT fosse utilizado em outras distribuições, sendo padrão no Debian e no Ubuntu (já que este é baseado no Debian).

Como utilizar o apt-get

Atualizando a lista de pacotes

Quando o apt-get é utilizado no Linux, o comando consulta um arquivo denominado sources.list, geralmente disponível no diretório /etc/apt/. Esse arquivo informa onde estão os locais (repositórios) nos quais ele obterá os pacotes requisitados pelo usuário.

Pelo arquivo /etc/apt/sources.list o APT sabe onde procurar os pacotes solicitados. O problema é que ele precisa conhecer o que está instalado no sistema operacional para saber exatamente o que procurar. Se não tiver essas informações, o APT não saberá que um determinado pacote essencial a um programa não está instalado e não providenciará sua instalação, por exemplo. Para lidar com essa situação, o APT utiliza um banco de dados próprio e o compara aos repositórios registrados no sources.list para saber quando um pacote está atualizado ou quando há uma nova versão de um determinado aplicativo. Para fazer o APT executar essa tarefa, basta digitar em um terminal o seguinte comando:

apt-get update

Instalando pacotes

Antes de instalar um programa, é necessário executar o comando mostrado no tópico anterior para o APT saber o que está e o que não está instalado no computador. É por isso que esse comando foi explicado primeiro.

Depois de ter executado o apt-get update, basta digitar o seguinte comando para instalar os pacotes desejados:

apt-get install nomedoprograma

Por exemplo, suponha que você queira instalar o cliente de e-mail Mozilla Thunderbird. Para isso, basta dar o comando:

apt-get install mozilla-thunderbird

Quando esse comando é executado, o APT procura nos repositórios os pacotes correspondentes e os instala imediatamente após baixá-los.

Caso o programa necessite de um outro pacote, o APT o procurará e perguntará se você deseja instalá-lo, no que você deverá responder com Y (sim) ou N (não), como mostra a situação abaixo:

0 packages upgraded, 6 newly installed, 0 to remove and 2 not upgraded. Need to get 6329kB of archives. After unpacking 14.1MB will be used.
Do you want to continue? [Y/n]

Removendo pacotes com o apt-get

Se você não quer mais utilizar um determinado programa, pode desinstalá-lo através do comando apt-get. Para isso, basta digitar:

apt-get remove nomedoprograma

Por exemplo, suponha que você queira desinstalar o Mozilla Thunderbird. O comando ficará então da seguinte forma:

apt-get remove mozilla-thunderbird

É importante destacar que o comando acima remove o programa, mas mantém os arquivos de configuração, caso estes existam. Para uma desinstalação total do programa, incluindo arquivos extras, deve-se usar o comando:

apt-get –purge remove nomedoprograma

Atualizando pacotes com o apt-get

Versões novas de programas são lançadas periodicamente por conterem correções de segurança, disponibilizarem novos recursos ou por executarem de forma melhor. Com o comando apt-get é possível obter e instalar versões mais novas de pacotes. Para isso basta digitar o comando:

apt-get -u upgrade

O parâmetro -u serve para o apt-get mostrar os pacotes que estão sendo atualizados, portanto, seu uso é opcional.

Um detalhe importante: na atualização de pacotes, também é importante executar antes o comando apt-get update.

Descobrindo nomes de pacotes

Você viu que é necessário conhecer o nome de um pacote para poder instalá-lo. Em muitos casos, o nome segue a mesma denominação do aplicativo. Por exemplo, se você quer instalar o programa para bate-papo XChat, basta digitar:

apt-get install xchat

Entretanto, nem sempre o nome do pacote é trivial e muitas vezes não sabemos sequer o nome do programa, apenas estamos à procura de um software que atenda a uma determinada necessidade. O que fazer então?

No APT pode-se usar o seguinte comando:

apt-cache search termo

Por exemplo, suponha que você queira procurar jogos para o Linux. O comando a ser usado é:

apt-cache search games

Ao fazer essa pesquisa, o APT mostrará uma lista dos pacotes encontrados exibindo seus respectivos nomes seguidos de uma descrição, como mostra o exemplo abaixo:

Jogos listados pela busca com o apt-cache

Se você quer ter uma descrição mais detalhada de um dos pacotes listados, basta digitar o seguinte comando:

apt-cache show nomedopacote

A imagem a seguir mostra um exemplo, onde o comando apt-cache show znes foi usado para obtermos detalhes do pacotes znes:

Mostrando detalhes de um pacote

É importante frisar que existem outras formas para descobrir nomes de pacotes, porém essa é uma das mais conhecidas. Uma alternativa interessante para quando você não sabe ao certo a denominação do software, é digitar as primeiras letras do nome deste e pressionar a tecla Tab duas vezes no teclado para ele auto-completar até a denominação desejada aparecer.

Arquivo sources.list

Você viu no início deste artigo que o arquivo sources.list indica os locais ou repositórios onde o APT deve buscar pacotes. É possível indicar vários servidores, por isso é importante entender como esse arquivo funciona para acrescentar, ou se necessário, retirar repositórios.

Ao abrir o arquivo sources.list (no editor de textos de sua preferência, como o emacs ou vi), você encontrará algo mais ou menos semelhante a:

deb http://us.archive.ubuntu.com/ubuntu breezy main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu breezy main restricted universe multiverse

O sources.list contém uma lista de repositórios, sendo cada um adicionado linha por linha. O primeiro termo – deb – indica o tipo de pacote disponível naquele repositório. O termo “deb” é indicado porque esse é o tipo de arquivo usado como pacote. A alternativa é a extensão deb-src, que indica que o repositório oferece pacotes com código-fonte dos programas (útil a programadores e desenvolvedores).

O termo seguinte é o endereço do servidor do repositório. Ele pode ser HTTP, FTP, file (arquivos locais), entre outros.

No final da linha vem os atributos, que indicam, por exemplo, a que versão da distribuição o repositório se refere.

Note que você também encontrará várias linhas com o símbolo # em seu início. Neste caso, a linha será ignorada pelo APT, tal como se não existisse, permitindo desativar temporariamente repositórios ou a inclusão de comentários com orientações.

Você poderá obter em fóruns, em sites oficiais de distribuições que usam APT ou em listas de discussão quais são os repositórios que valem a pena serem adicionados no sources.list de seu Linux. Usuários do Debian, por exemplo, contam com o endereço www.debian.org/distrib/packages para isso.

É importante não esquecer de executar o comando apt-get update após alterar esse arquivo, do contrário, o sistema irá executar a versão antiga até ser encerrado e ligado novamente.

Finalizando

Usuários acostumados com outros sistemas operacionais costumam dizer que instalar programas no Linux é uma tarefa difícil, o que não é verdade. O APT mostra-se muito intuitivo nessa tarefa e aprender a usá-lo requer pouco esforço, mesmo porque, com ele, não é preciso visitar um determinado site, baixar os pacotes e depois instalá-los; o APT conta com milhares de programas e, por isso, resume bastante o trabalho de instalação (dependendo do caso, ela baixará o software e uma janela com botões Next/Avançar aparecerá para você prosseguir com a instalação).

Moved to http://infoachei.com.br/
Thanks for visits!

Publicado em 1. Leave a Comment »

Missão Crítica – Introdução

Mudamos para http://infoachei.com.br/
Obrigado pela visita!
Introdução

Já imaginou o que aconteceria se o sistema de seu banco ficasse horas sem funcionar? Quais seriam as conseqüências se seu provedor de acesso à internet perdesse dados de seus clientes? Já pensou na situação caótica que a cidade de São Paulo viveria se os computadores do sistema metroviário simplesmente parassem? Para muitas empresas e setores de atividade, o uso de sistemas computacionais é imprescindível para a manutenção do negócio. Se tal sistema é vítima de uma falha que interrompa seu funcionamento ou que cause a perda de dados importantes, a empresa pode simplesmente falir. Para evitar esse tipo de transtornos, tais empresas “montam” seus sistemas como sendo de missão crítica, conceito esse explicado a seguir.

O que é missão crítica

Em poucas palavras, missão crítica é um ambiente tecnológico construído para evitar a paralisação de serviços computacionais e a perda de dados importantes a um negócio. Para isso, uma série de equipamentos e tecnologias é aplicada ao ambiente.

O que determina que tipo de equipamento e que tipo de tecnologia serão usados em uma ambiente de missão crítica é o nível de importância do negócio e da operação. Se esses aspectos não forem bem trabalhados, uma empresa pode investir mais do que precisa nessa área, ou, na pior das hipóteses, investir menos, o que pode significar que o pouco investimento feito de pouco valeu.

Para você entender melhor, imagine a seguinte situação: uma cadeia de lojas possui unidades nos principais shoppings do país. É possível que o sistema de uma das lojas deixe de funcionar por algum motivo. O problema é que essa paralisação afeta de imediato a empresa, porque os clientes estão no caixa esperando atendimento e, em breve, muitos outros farão o mesmo. Até que uma equipe de TI investigue o problema e efetue os reparos necessários, um tempo muito grande será gasto e os clientes irão para uma loja concorrente e certamente não voltarão mais, pois associarão à loja a imagem de um serviço de má qualidade. Para evitar esse tipo de situação, a loja pode tomar uma série de medidas. Uma delas é permitir que o sistema continue operando mesmo se perder a conexão com uma base central. Outra possibilidade é fazer com que o sistema da filial mais próxima continue as operações enquanto o sistema paralisado é verificado. Outra idéia é fazer uso de equipamentos redundantes.

Quando nos referimos ao funcionamento e à paralisação de um sistema, é importante considerarmos dois termos: uptime e downtime. O primeiro indica o tempo em que um sistema fica disponível. O segundo indica o tempo em que um sistema fica fora de uso.

Tolerância a falhas e alta disponibilidade

Como dito anteriormente, uma empresa precisa avaliar o nível de criticidade de suas operações para determinar o quanto investir num ambiente de missão crítica. No caso de uma operação de nível crítico muito alto, pode-se fazer uso de equipamentos e sistemas conhecidos como “tolerantes a falhas” ou, em inglês, “fault tolerance“. Com equipamentos desse tipo, sempre há outro que fica na retaguarda, ou seja, se o principal deixa de funcionar, um segundo imediatamente assume a operação.

Um outro conceito importante é o de “alta disponibilidade” ou “high availability“. Em equipamentos desse tipo, geralmente não há máquinas na retaguarda, no máximo, existe o espelhamento de HDs (como os sistemas RAID). No entanto, tais equipamentos são desenvolvidos para ter o menor risco de falhas possível.

Nos sistemas de alta disponibilidade, costuma-se usar como medição o valor de uptime correspondente a 99,9% ao ano. Isso significa que, como o ano possui 365 dias – 8760 horas -, o sistema precisa operar por pelo menos 8751 horas, já que essa taxa equivale a 99,9%. Em outras palavras, para um sistema de alta disponibilidade fazer jus ao seu nome, seu tempo de paralisação tem que ser de até 9 horas por ano. No entanto, esses valores podem variar de acordo com o sistema utilizado.

Se um sistema possui um nível de criticidade tão alto que praticamente não pode parar de funcionar, o ideal é fazer uso de sistemas tolerantes a falhas, já que o uptime destes corresponde a 99,999%, ou seja, esse sistema funciona, no mínimo, por 8759,91 horas (de 8760) por ano. Isso quer dizer que sistemas desse tipo praticamente não param.

É importante deixar claro que, quando se lida com alta disponibilidade e tolerância a falhas, a abordagem acima não considera o tempo de paralisações programadas, para os casos em que os servidores entram em manutenção, por exemplo.

Escalabilidade

Em ambientes de missão crítica é importante trabalhar para que os sistemas não parem de funcionar apenas por falhas e erros, mas também que não sejam paralisados por sobrecarga. Se, por exemplo, o site da Receita Federal estiver apto a receber mil declarações de Imposto de Renda por hora, é necessário observar se esse limite não está sendo atingido. Se isso estiver ocorrendo, deve-se aumentar a capacidade do sistema, do contrário, os servidores ficarão tão sobrecarregados que quase ninguém conseguirá fazer a declaração.

Por outro lado, é desperdício gastar com sistemas que dispõem de uma capacidade muito alta e que não será usada. Por exemplo, se o InfoWester gasta de tráfego mensal cerca de 25 GB, para quê utilizar servidores que suportam tráfego mensal de 1 TB?

Essas questões são respondidas com o conceito de “escalabilidade“. Trata-se da possibilidade de um sistema expandir sua capacidade conforme a necessidade.

Antes de tudo, a empresa precisa avaliar quais as possibilidades de aumento do uso de seus sistemas. A partir daí, deve-se criar condições para que a capacidade seja aumentada conforme a necessidade. Por exemplo, a empresa pode adquirir equipamentos que suportam 4 processadores. Só que ao invés de utilizar 4 desses chips, pode usar apenas 2 e acrescentar os demais se necessário. Outra solução bastante interessante é fazer uso de clusters e aumentar a quantidade de máquinas quando preciso.

Servidor da IBM com suporte a até 16 processadores

O aspecto da segurança

Para construir um ambiente de missão crítica, não basta apenas pensar nos computadores que farão parte do sistema, mas também no local onde será o ambiente e no acesso a ele.

Para começar, é ideal que os computadores fiquem em uma sala com proteção contra incêndios e climatização adequada. Se essa sala se localiza no subsolo, também é importante que seja protegida contra enchentes.

O acesso também deve ser controlado. Se um funcionário trabalha com suporte a clientes, não há razão para ele ter acesso à sala de servidores. Além disso, as pessoas autorizadas podem obedecer a uma política na qual devem dar satisfações sobre o que foi feito na sala. Se um funcionário autorizado sair da empresa, suas senhas de acesso devem ser eliminadas, para evitar que ele consiga acessar o sistema remotamente.

A disposição dos equipamentos e de cabos deve ser bem planejada também. Por exemplo, cabos não devem ficar expostos, do contrário, uma pessoa poderá tropeçar neles. Deve-se certificar que os armários suportam o peso dos equipamentos e, além disso, é necessário que estejam bem fixados, pois se, por exemplo, uma pessoa cair sobre o armário, este não será derrubado. A questão da disposição ainda deve considerar a possibilidade de retirar ou acrescentar equipamentos sem que outros sejam desligados.

Outra questão fundamental é a energia elétrica. Além de nobreaks – equipamentos com uma bateria que permite o funcionamento do computador quando a fonte de energia principal é cortada – é necessário avaliar a necessidade de instalação de geradores de energia. Isso é fundamental para manter os aparelhos da UTI de um hospital funcionando, por exemplo.

Obviamente, a questão da segurança não se limita ao aspecto físico. Os sistemas devem contar com firewalls, IDS (Intrusion Detection System – Sistemas de Detecção de Intrusos), criptografia, controle de acesso por níveis de usuário, entre outros.

A questão da segurança é tão importante que empresas de grande porte não mais centralizam suas operações. Por exemplo, uma multinacional pode replicar seus sistemas em filiais de outros países. Assim, se qualquer unidade parar de funcionar – por exemplo, num ataque terrorista ou em um acidente de cunho ambiental, como um furacão – os negócios da empresa não serão interrompidos.

Se uma empresa constata que terá custos altíssimos para trabalhar com o aspecto de segurança, uma alternativa é usar os serviços de IDCs (Internet Data Centers), como os das empresas Optiglobe, Embratel e Intelig. Essas companhias possuem ambientes que respondem a todos os quesitos de segurança e prestam serviços como: colocation (o cliente “aluga” o espaço físico e os meios de comunicação para instalar seus equipamentos), dedication (o IDC assume toda a operação dos equipamentos), entre outros.

Sala de um IDC

Storage

O volume de dados aumenta a cada dia nas empresas e por se tratar do ponto principal de um negócio, o tratamento a essa questão também é considerado em ambientes de missão crítica. Conforme citado no início deste texto, o que aconteceria se um banco perdesse dados de clientes? Quais as conseqüências de um loja on-line perder todos os dados relativos às vendas do dia? Ainda há o fato de que não bastar apenas ter os dados, também deve-se permitir o acesso a eles quando necessário e em um tempo satisfatório. Você já deve ter percebido o tamanho da encrenca…

Para lidar com esses aspectos, as empresas procuram as soluções de storage, isto é, de gerenciamento de dados. Duas delas são o SAN (Storage Area Network) e o NAS (Network Attached Storage). A primeira consiste numa rede de dispositivos de armazenamento de dados gerenciada por servidores sob uma rede de alta velocidade, como Fibre Channel (Fibra Óptica) e iSCSI. A segunda é um conjunto de meios de armazenamento integrado a uma rede LAN (Local Area Network) já existente.

Equipamento para storageO uso de SAN é indicado para situações onde dados precisam estar armazenados de forma segura e acessível em tempo hábil. Uma SAN permite o compartilhamento de dispositivos de armazenamento entre diversos servidores, estejam eles em um mesmo local ou dispostos remotamente. Uma vez que são constituídas por redes de alta velocidade, as SANs conseguem até mesmo evitar gargalos na rede, uma vez que estão aptas a trabalhar com grande volume de dados. Entre as empresas que oferecem soluções SAN estão IBM, HP e Itec.

Por sua vez, as NASs são soluções mais simples que as SANs, uma vez que sua implementação ocorre em redes já existentes. Em casos de criticidade maior, a solução em NAS pode contar com um canal dedicado (exclusivo) de acesso à rede. A grande vantagem de soluções desse tipo é o compartilhamento de dados fácil entre servidores e máquinas-cliente, mesmo quando há sistemas operacionais diferentes entre elas. Empresas como IBM, HP, EMC e Sun oferecem soluções em NAS.

Para mais informações sobre Storage, visite o site da SNIA (Storage Networking Industry Association): www.snia.org.

Finalizando

As tecnologias e recursos relacionados aos conceitos de missão crítica não se limitam aos citados aqui. O assunto é mais complexo, ao ponto de praticamente não existir especialistas em missão crítica, mas sim em alguma das tecnologias relacionadas. Como as necessidades computacionais variam de empresa para empresa, é necessário que cada uma identifique com clareza quais os segmentos operacionais que podem ser considerados críticos para então aplicar as soluções correspondentes. Na era da informação na qual adentramos, o que não se pode é relaxar quanto a esse aspecto. Não existe sistema à prova de falhas e não existe nada 100% seguro. Por isso é um erro limitar-se a uma solução ou não considerar um risco só porque ele é mínimo. Isso, talvez, deixa claro que o maior problema está no aspecto humano, altamente capaz de subestimar ou esperar algo ruim acontecer para tomar providências.

Fonte:

http://www.infowester.com/missaocritica.php

 

Moved to http://infoachei.com.br/
Thanks for visits!

Publicado em 1. Leave a Comment »

Hub , Switch, Roteador

Mudamos para http://infoachei.com.br/
Obrigado pela visita!
Introdução

Muita gente sabe que hub, switch e roteador são nomes dados a equipamentos que possibilitam a conexão de computadores em redes. Porém, dessas pessoas, muitas não sabem exatamente a diferença entre esses dispositivos. Este artigo explicará o que cada equipamento faz e indicará quando usar cada um.

Hub

O hub é um dispositivo que tem a função de interligar os computadores de uma rede local. Sua forma de trabalho é a mais simples se comparado ao switch e ao roteador: o hub recebe dados vindos de um computador e os transmite às outras máquinas. No momento em que isso ocorre, nenhum outro computador consegue enviar sinal. Sua liberação acontece após o sinal anterior ter sido completamente distribuído.

Em um hub é possível ter várias portas, ou seja, entradas para conectar o cabo de rede de cada computador. Geralmente, há aparelhos com 8, 16, 24 e 32 portas. A quantidade varia de acordo com o modelo e o fabricante do equipamento.

Caso o cabo de uma máquina seja desconectado ou apresente algum defeito, a rede não deixa de funcionar, pois é o hub que a “sustenta”. Também é possível adicionar um outro hub ao já existente. Por exemplo, nos casos em que um hub tem 8 portas e outro com igual quantidade de entradas foi adquirido para a mesma rede.

Hubs são adequados para redes pequenas e/ou domésticas. Havendo poucos computadores é muito pouco provável que surja algum problema de desempenho.

Switch

O switch é um aparelho muito semelhante ao hub, mas tem uma grande diferença: os dados vindos do computador de origem somente são repassados ao computador de destino. Isso porque os switchs criam uma espécie de canal de comunicação exclusiva entre a origem e o destino. Dessa forma, a rede não fica “presa” a um único computador no envio de informações. Isso aumenta o desempenho da rede já que a comunicação está sempre disponível, exceto quando dois ou mais computadores tentam enviar dados simultaneamente à mesma máquina. Essa característica também diminui a ocorrência de erros (colisões de pacotes, por exemplo).

Assim como no hub, é possível ter várias portas em um switch e a quantidade varia da mesma forma.

O hub está cada vez mais em desuso. Isso porque existe um dispositivo chamado “hub switch” que possui preço parecido com o de um hub convencional. Trata-se de um tipo de switch econômico, geralmente usado para redes com até 24 computadores. Para redes maiores mas que não necessitam de um roteador, os switchs são mais indicados.

 

Roteadores

O roteador (ou router) é um equipamento utilizado em redes de maior porte. Ele é mais “inteligente” que o switch, pois além de poder fazer a mesma função deste, também tem a capacidade de escolher a melhor rota que um determinado pacote de dados deve seguir para chegar em seu destino. É como se a rede fosse uma cidade grande e o roteador escolhesse os caminhos mais curtos e menos congestionados. Daí o nome de roteador.

Existem basicamente dois tipos de roteadores:

Estáticos: este tipo é mais barato e é focado em escolher sempre o menor caminho para os dados, sem considerar se aquele caminho tem ou não congestionamento;

Dinâmicos: este é mais sofisticado (e conseqüentemente mais caro) e considera se há ou não congestionamento na rede. Ele trabalha para fazer o caminho mais rápido, mesmo que seja o caminho mais longo. De nada adianta utilizar o menor caminho se esse estiver congestionado. Muitos dos roteadores dinâmicos são capazes de fazer compressão de dados para elevar a taxa de transferência.

Os roteadores são capazes de interligar várias redes e geralmente trabalham em conjunto com hubs e switchs. Ainda, podem ser dotados de recursos extras, como firewall, por exemplo.

 

Finalizando

Mesmo para quem quer montar um rede pequena, conectando, por exemplo, três computadores, o uso de “hubs switch” se mostra cada vez mais viável. Isso porque o preço desses equipamentos estão praticamente equivalentes aos dos hubs. Ainda, se você for compartilhar internet em banda larga, um hub switch pode proporcionar maior estabilidade às conexões.

Uma dica importante: ao procurar hubs, switchs ou até mesmo roteadores, dê preferência a equipamentos de marcas conhecidas. Isso pode evitar transtornos no futuro.

A utilização de roteadores é voltada a redes de empresas (redes corporativas). Além de serem mais caros (se bem que é possível até mesmo usar um PC com duas placas de rede como roteador), tais dispositivos também são mais complexos de serem manipulados e só devem ser aplicados se há muitos computadores na rede. No entanto, muitos usuários de acesso à internet por ADSL conseguem usar seus modems (se esses equipamentos tiverem esse recurso) como roteador e assim, compartilham a conexão da internet com todos os computadores do local, sem que, para tanto, seja necessário deixar o computador principal ligado. Basta deixar o modem/roteador ativado.

Fonte:

http://www.infowester.com/hubswitchrouter.php

Moved to http://infoachei.com.br/
Thanks for visits!

Publicado em 1. Leave a Comment »

Cluster – Principais Conceitos

Mudamos para http://infoachei.com.br/
Obrigado pela visita!
Introdução

Cluster pode ser definido como um sistema onde dois ou mais computadores trabalham de maneira conjunta para realizar processamento pesado. Em outras palavras, os computadores dividem as tarefas de processamento e trabalham como se fossem um único computador. Este artigo tem por objetivo mostrar os principais conceitos envolvidos, assim como os tipos e aplicações de cluster.

O que é cluster e como funciona

Também chamado de Clustering (quando visto em um contexto mais abrangente), Cluster é o nome dado a um sistema montado com mais de um computador, cujo objetivo é fazer com que todo o processamento da aplicação seja distribuído aos computadores, mas de forma que pareça com que eles sejam um computador só. Com isso, é possível realizar processamentos que até então somente computadores de alta performance seriam capazes de fazer.

Cada computador de um cluster é denominado nó ou nodo. Todos devem ser interconectados, de maneira a formarem uma rede, de qualquer topologia. Essa rede precisa ser criada de uma forma que permita o acréscimo ou a retirada de um nó (em casos de danos, por exemplo), mas sem interromper o funcionamento do cluster. O sistema operacional usado nos computadores deve ser de um mesmo tipo, ou seja, ou somente Windows, ou somente Linux, ou somente BSD, etc. Isso porque existe particularidades em cada sistema operacional que poderiam impedir o funcionamento do cluster.

Independente do sistema operacional usado, é preciso usar um software que permita a montagem do cluster em si. Esse software vai ser responsável, entre outras coisas, pela distribuição do processamento. Esse é um ponto crucial na montagem de um cluster. É preciso que o software trabalhe de forma que erros e defeitos sejam detectados, oferecendo meios de providenciar reparos, mas sem interromper as atividades do cluster. Obviamente, esse tipo de necessidade pode ser controlada através de um equipamento específico, ou seja, não depende apenas do software.

Para que exista, um cluster precisa de pelo menos dois computadores. Evidentemente, quanto mais computadores existir no cluster, maiores serão os custos de implementação e manutenção. Isso não se deve apenas ao preço dos computadores, mas também pelos equipamentos (switches, cabos, hubs, nobreaks, etc). Mas ainda assim, os custos costumam ser menores do que a aquisição/manutenção de computadores poderosos e algumas vezes o processamento é até mais eficiente (rápido).

Aplicações para Clusters

Os clusters podem ser usados para uma infinidade de aplicações. Basicamente, para qualquer uma que exija processamento pesado. Como exemplos de aplicações, temos previsão meteorológica (previsão do tempo e condições climáticas), simulações geotérmicas (ou seja, simulação de eventos no solo), renderização de efeitos especiais (muito usado em filmes), simulações financeiras, distribuição de carga, etc.

Basicamente, qualquer tipo de aplicação crítica, ou seja, aplicações que não podem parar de funcionar ou não podem perder dados (como os sistemas de bancos, por exemplo), podem utilizar as tecnologias de cluster, desde que devidamente configurados para não serem sujeitas a falhas graves. Assim, o cluster deve contar com nobreaks ou geradores que garantam o funcionamento do sistema mesmo nos casos de queda de energia, além de meios de manutenção e detecção de falhas eficientes, como já citado.

Cluster Beowulf

O nome Beowulf vem de um herói muito valente que tinha a missão de derrotar um monstro, num texto inglês antigo. Esse tipo de cluster, voltado à computação paralela, foi fundamentado em 1994, pela NASA, com a finalidade de processar as informações espaciais que a entidade recolhia. Desde então, grandes empresas (como HP e IBM) e universidades (como a brasileira Unesp) vêm construindo clusters deste tipo e como cada vez mais nós!

O que distingue o Cluster Beowulf dos outros tipos são as seguintes características (que são aplicadas de acordo com a finalidade do cluster):

– A conexão dos nós pode ser feita por redes do tipo Ethernet (mais comum);

– Existe um servidor responsável por controlar todo o cluster, principalmente quanto a distribuição de tarefas e processamento (pode haver mais de um servidor, dedicado a tarefas específicas, como monitoração de falhas). Este servidor é chamado de Front-end;

– O sistema operacional é baseado Linux, sendo necessário que ele contenha todos os programas para cluster;

– Pode-se usar computadores comuns, inclusive modelos considerados obsoletos; infowester

– Não é necessário usar equipamentos próprios para clusters. Basta equipamentos comuns à redes e os tradicionais PCs.

De maneira generalizada, o Cluster Beowulf permite a construção de sistemas de processamento que podem alcançar altos valores de gigaflops (um gigaflop equivale a 1 bilhão de instruções de ponto flutuante executadas por segundo). Isso tudo com o uso de computadores comuns e de um sistema operacional com código-fonte livre, ou seja, além de gratuito, pode ser melhorado para a sua finalidade. Tais características fizeram do Cluster Beowulf um tema muito explorado em universidades e claro, aplicado para vários fins.

Entre os requisitos para o sistema operacional de um Cluster Beowulf, estão a necessidade de se ter as bibliotecas para Parallel Virtual Machine (PVM) ou para Message Passing Interface (MPI). Ambos os tipos são usados para a troca de mensagens entre os nós do cluster. O MPI é mais avançado que o PVM, pois pode trabalhar com mensagens para todos os computadores ou para apenas um determinado grupo (por exemplo, quando somente este grupo vai realizar determinada tarefa).

Para mais informações sobre o Cluster Beowulf, visite www.beowulf.org.

Cluster Beowulf usando sistema operacional Red Hat LinuxFoto de um Cluster Beowulf usando sistema operacional Red Hat Linux

Outros tipos de cluster

Além do Beowulf, existem vários outros tipos de cluster, para os mais diversos fins. Os mais conhecidos são vistos a seguir:

Cluster para Alta Disponibilidade: quando se fala de Disponibilidade, fala-se do tempo em que determinado sistema permanece ativo e em condições de uso. A Alta Disponibilidade se refere a sistemas que praticamente não param de funcionar. Existem clusters deste tipo. Usados em aplicações de missão crítica, eles costumam ter meios eficientes de proteção e de detecção de falhas;

Cluster para Balanceamento de Carga: Balanceamento de Carga se refere à distribuição equilibrada de processamento aos nós do cluster. É muito usado na Internet, em servidores de e-mail, comércio eletrônico e em sistemas de lojas. Neste tipo de cluster, é necessário que haja monitoração constante da comunicação e mecanismos de redundância. Caso contrário, qualquer falha pode interromper o funcionamento do cluster;

Cluster Combo: este tipo combina as características dos clusters De Alta Disponibilidade e de Balanceamento de Carga.

Cluster MOSIX

MOSIX é a sigla para Multicomputer Operating System for UnIX. Trata-se de um conjunto de ferramentas de cluster para Linux, voltado ao tipo Balanceamento de Carga. Uma de suas principais características é a não necessidade de aplicações e recursos de software voltados ao cluster, como acontece com o Beowulf. O MOSIX é eficiente na tarefa de distribuição dinâmica de processamento entre os computadores do cluster. Esse tipo, assim como o Beowulf, é muito utilizado por universidades em pesquisas e projetos. Por ser baseado em Linux, sua implementação é transparente, além de ser relativamente fácil de instalar.

De maneira generalizada, O MOSIX é uma extensão para Linux (ou sistemas baseados em Unix) de um sistema de cluster que trabalha como se fosse um único supercomputador, por meio de conceitos de Distribuição de Processos e Balanceamento de Carga.

Para mais informações visite www.mosix.org.

Finalizando

As tecnologias de Clustering possibilitam a solução de diversos problemas que envolvem grande volume de processamento. As aplicações que um cluster pode ter são diversas, indo desde a simples melhora no desempenho de um determinado sistema ou a hospedagem de um site como o InfoWester, até o processo de pesquisas científicas complexas. O que realmente chama a atenção, é que todo o processamento pode ser feito de maneira que pareça ser um único computador dotado de alta capacidade. Assim, é possível que determinadas aplicações sejam implementadas em custer, mas sem interferir no funcionamento de outras aplicações que estejam relacionadas.

Empresas especializadas, centros de pesquisas e universidades costumam estudar este assunto a fundo. Como conseqüência, existem clusters com até milhares de nós. Um exemplo no Brasil, é um cluster que foi desenvolvido em 2003 por um aluno da Universidade Estadual Paulista (Unesp), de São Paulo. Baseado no tipo Beowulf, este cluster ficou bastante conhecido, por ajudar na pesquisa de medicamentos para o tratamento da tuberculose. O valor gasto neste projeto foi 60 mil reais. Se tivesse sido utilizado um supercomputador de capacidade equivalente, os gastos seriam até 17 vezes maior.

Só por este exemplo, é possível ver os vários benefícios do Clustering. Processamento eficiente, custo baixo, ampla gama de aplicações, enfim. Quem se sujeita a estudar estes conceitos (que são muito mais amplos do que o que foi explicado neste artigo) poderá não só ter sucesso profissional, mas ter um conhecimento grande sobre vários conceitos da computação em si.

Cluster com 16 computadoresFoto de um Cluster com 16 computadores

Fonte:

http://www.infowester.com/cluster.php

Moved to http://infoachei.com.br/
Thanks for visits!

Publicado em 1. Leave a Comment »