Conheça um pouco sobre o MySQL

1. MySQL

1.1. O que é MySQL?

MySQL é um banco de dados relacional, desenvolvido para plataformas Linux–like, OS/2, Windows. Sendo um software de livre distribuição para plataformas não-Windows que o utilizam em um servidor Web.

MySQL é um servidor multiusuário, multitarefa, compatível com o padrão SQL (Structured Query language – Linguagem de Consulta estruturada), linguagem essa amplamente utilizada para manipulação de dados em RDBMS (Banco de dados Relacionais), sendo considerada um ferramenta de manipulação de base de dados de tamanho moderado.

As principais características que destacam MySQL são: sua velocidade proporcionada pela sua implementação leve que não inclui na totalidade o suporte as instruções SQL; sua natureza de distribuição gratuita; facilidade de integração com servidor Web e linguagens de programação de desenvolvimento de sites dinâmicos, especialmente a linguagem PHP.

1.2. Breve Histórico

“O MySQL foi criado por Michael Widenius na companhia suíça TcX. Por volta de 1979 Michael desenvolveu um banco de dados chamado UNIREG, sendo rescritos em várias linguagens desde então” [YAR 99]. Em 1994, a empresa TcX começou o desenvolvimento de aplicações baseadas na Web, tendo como base o banco UNIREG, porém esse banco possuía muito “overhead” para obter sucesso em uma aplicação para geração de páginas dinâmicas na Web. Então a empresa TcX começou a procurar por outro banco o mSQL, uma ferramenta baseada em SQL mas com características pobres não possuindo por exemplo suporte a índices, e com desempenho inferior ao UNIREG.

Foi então que o desenvolvedor do banco UNIREG contatou o David Hughes criador do mSQL, para saber do interesse dele em unir os dois bancos. Sendo positivo o interesse de David , a empresa TcX resolveu desenvolver um novo banco, mas mantendo ao máximo a compatibilidade com mSQL. TcX foi esperta o suficiente para não reinventar o que já estava bem feito, ela construiu seu servidor baseado na estrutura que já estava montada do UNIREG e utilizou grande número de utilitários escritas para mSQL e fez API’s para o novo servidor praticamente iguais ao mSQL. Como resultado usuários do mSQL que decidissem mudar para o novo servidor da TcX, teriam apenas que fazer pequenas e simples mudanças nos códigos existentes.

Então foi me maio de 1995 que, definitivamente, a primeira versão do MySQL foi lançada. Um dos parceiros da TcX sugeriu a distribuição do servidor na Internet, o objetivo disso era a utilização de um modelo pioneiro desenvolvido por Aladdin Peter Deutsch. O resultado foi um maior flexibilidade em sem “copyright”, que fez do MySQL mais difundido gratuitamente do que mSQL.

1.3. Por que MySQL?

Sendo a concepção inicial do trabalho a utilização de ferramentas de livre distribuição para plataforma Linux-GNU, e o desenvolvimento de uma aplicação de banco de dados utilizando a Web como interface, fez-se necessário a escolha de um banco de dados que permitisse explorar as características básicas para implementação de uma aplicação cliente-servidor.

Entre as possibilidades encontradas surgiram três bancos de dados: MySQL, PostgreSQL e Interbase. O servidor PostgreSQL destacou-se por suas características de banco de dados objeto-relacional, permitindo explorar todas as possibilidades dos bancos relacionais, porém estendendo funções como classes, herança.

O MySQL foi o banco de dados escolhido por apresentar extensa documentação, milhares de sites na internet, mas principalmente pela sua fácil instalação e integração com o servidor Web.

Sua instalação através de RPM (RedHat Package Manager –Gerenciador de pacotes RedHat), é um processo simplificado, sendo criado toda a estrutura interna de arquivos no sistema operacional, bem como execução de scripts de inicialização e ajustes em arquivos de inicialização no servidor Web e módulo PHP.

1.4. Principais características

  • MySQL é um banco de dados multiprocessado, significando que pode utilizar vários processadores ao mesmo tempo.
  • Possui API’s para C, C++, Java, Perl, PHP, Phyton e TCL.
  • Foi desenvolvido para várias plataformas incluindo ambientes Unix, OS/2 e Windows.
  • Permite operações e funções nas cláusulas select e where, bem como suporte as funções SQL(group by , order by ), além de funções de grupo como: Count(), avg(), sum(), std(), max(), min().
  • Permite a seleção de diferentes tabelas de diferentes bases de dados em uma mesma query.
  • Suas características de privilégio de password são bastante flexíveis, permitindo inclusive a validação por “host”.
  • Possui algoritmos de criptografia de password, fornecendo assim segurança aos dados gravados nas tabelas.
  • Permite a utilização de até 16 índices por tabela.
  • Tem a capacidade para manipular bancos com até 50 milhões de registros.
  • MySQL foi escrito em C e C++.
  • Permite conexões via TCP/IP.
  • Permite acesso via ODBC.
  • Possui instruções para extração de informações relativas a tabelas, bancos, índices.

1.5. Política de uso na Web

A utilização de MySQL em sistemas operacionais não-Windows é gratuita se utilizada com um servidor WEB, não necessitando assim de licença para uso. Isso é válido mesmo que as aplicações Web que utilizem o banco sejam para fins comerciais, excluindo-se a comercialização do MySQL.

O suporte para MySQL pode ser contratado, no entanto para isso existem contratos de manutenção, sendo esses restritos as áreas de cobertura da equipe.

Autores: Lucas Lopes dos Santos e Ronaldo do Amaral

Conheça o sistema Linux

1 Linux

Neste artigo será abordado o sistema operacional Linux, iniciando com um breve histórico, passando pela descrição e comentários de algumas das principais distribuições e finalizando com algumas dicas e características do processo de instalação do mesmo.

1.1. Um breve histórico do Linux

“O sistema operacional Linux é uma versão gratuita distribuida do primeiro UNIX desenvolvido por Linus Torvalds na Universidade de Helsinque na Finlândia. O UNIX é um dos sistemas operacionais mais populares do mundo por causa de sua grande base de suporte e distribuição”. O desenvolvimento do Linux contou com a participação de vários programadores UNIX e especialistas em Internet, dando a qualquer um que possuísse algum conhecimento e experiência necessários a possibilidade de desenvolver e até mesmo alterar o sistema.

Foi inicialmente desenvolvido como um passatempo para Linus. Foi inspirado no Minix, um pequeno sistema UNIX desenvolvido por Andy Tannenbaum.

Em agosto de 1991 a versão 0.01 ficou pronta, mas nenhuma publicação foi feita para esta versão, suas fontes não foram nem sequer executadas.

Dois meses depois, em 5 de outubro de 1991, Linus lançou a primeira versão oficial do Linux, a versão 0.02, porém pouco acrescentava em relação à versão anterior. Depois da versão 0.03, Linus desenvolveu o sistema até a versão 0.10, quando mais pessoas começaram a trabalhar no desenvolvimento. Dando seguimento ao sistema, Linus elevou o número da versão para 0.95, e segundo ele, logo estaria pronto para o lançamento de uma versão oficial.

Duas importantes fontes de software para o desenvolvimento do Linux foram o projeto GNU da Free Software Fundation (Fundação de Software Livre), uma organização de porte internacional que suporta a apóia projetos diversos ligados ao código livre, e os trabalhos em curso na Universidade de Berkeley. Destas duas fontes saíram diversos dos atuais utilitários e aplicativos do Linux, como o compilador C e os servidores de rede, entre outros.

Após passar por várias versões, o Linux é hoje um clone do UNIX completo. Possuindo compatibilidade com praticamente todos os grandes pacotes gratuitos de software. As versões disponíveis estão em vários idiomas, possuindo as variadas aplicações, processadores de texto, suportando redes e gerenciadores de banco de dados, e outras.

1.2. Distribuições do Linux

Sendo o Linux um software gratuito, a sua distribuição não é controlada por nenhuma organização ou entidade. Por isso, qualquer cidadão está apto à distribui-lo. Mas existem algumas empresas que cobram pela mídia.

Isso ocorre porque uma empresa pode obter gratuitamente o núcleo do Linux, trabalhar em cima desse núcleo, adicionar interfaces gráficas, aplicações, documentar e vender este pacote. Assim foi o surgimento das versões comerciais.

A característica de ser um software gratuito onde qualquer pessoa pode manipulá-lo, torna o Linux um sistema operacional de muitas distribuições. As distribuições disponíveis podem variar das mais completas, que vêm com todo o software que você precisa e mais alguns aplicativos, até as mais “enxutas”, que são indicadas para usuários que não dispõem de muito espaço em disco. Essas versões “enxutas” possuem apenas o básico necessário para o seu funcionamento.

A seguir serão apresentadas e comentadas algumas distribuições do Linux disponíveis atualmente:

  • Red Hat: Esta distribuição tem anexada ao núcleo do sistema recursos de programas de configuração de recursos de sistema, interfaces gráficas, especializações para cliente e servidor, entre outras. A característica forte dessa distribuição é a facilidade de instalação. “O processo de instalação é feito através do pacote RPM (Red Hat Package Manager), com ele toda a estrutura de funcionamento do software é transferida para o disco, nos locais apropriados, facilitando a atualização do sistema. Junto com a distribuição Red Hat são fornecidas as interfaces gráficas X-Windows e KDE”.
  • Slackware: É uma versão que apesar de não suportar os pacotes da Red Hat, traz consigo um conversor que permite trabalhar com eles. O Slackware possui opções de segurança, como por exemplo, o de avisar que uma função de inicialização do sistema (script) foi alterada e que isto poderá trazer problemas. Possui a interface gráfica X-Windows e o gerenciador de janelas.
  • Caldera: É uma versão voltada para uso empresarial. Possui uma série de drivers, ferramentas e recursos para interligação do Linux em rede, como servidor. Esta versão vem com uma licença de um módulo de desenvolvimento do banco de dados Sybase e o ambiente gráfico KDE, incorpora também compatibilidade com o mecanismo RPM da Red Hat.
  • Debian: É a versão indicada para programadores mais experientes. Possui a sua própria estrutura de pacotes, o formato DEB, que é utilizado para instalação do sistema e dos aplicativos. Os especialistas o consideram a ferramenta de instalação mais versátil do mercado.
  • Conectiva: A distribuição Conectiva é um trabalho feito em cima da versão Red Hat, incluindo traduções de mensagens e textos de apoio para o português e definições de hardware que normalmente são usados no Brasil, como placas de controle, monitores, impressoras, mouses, etc.

1.3. Instalação do Linux

O objetivo de se instalar um sistema operacional é a de possibilitar dar inicio ao uso do computador. Instalar um sistema é transferir para uma unidade de disco uma parte deste sistema.

A instalação do Linux, por ele ser um sistema complexo, abrangente e escrito por diversas pessoas, não é considerada umas das tarefas mais simples. Ele difere-se do sistema operacional Windows, por exemplo, por possuir diversas formas de instalação, isso ocorre devido à duas peculiaridades do Linux:

  • Possui variadas fontes de instalação, podendo ser instalado a partir de um ou dois CDs, utilizando-se ou não um disquete de inicialização. Uma outra forma é via Internet ou via FTP (File Transfer Protocol). Ou ainda poderá ter seu conteúdo de instalação copiado para uma unidade de disco de um computador e a partir dali ser instalado.
  • Possui diferentes distribuições. Como cada distribuição tem suas características e finalidades, o processo de instalação de cada uma delas poderá ter seqüência, duração e procedimentos diversos.

A seguir serão descritos alguns recursos mínimos de máquina necessários para a instalação do Linux, e algumas características de dispositivos que seria importante o usuário ter conhecimento antes de iniciar o processo de instalação:

  • Processador: Processadores da Intel igual ou superior aos 386, processadores não-Intel como: Alpha, SPARC, Power PC, são suportados pelo Linux.
  • Memória: O Linux requer no mínimo 2 MegaBytes de memória, no caso de servidores de rede recomenda-se no mínimo 16 MegaBytes.
  • Discos e Controladoras: O Linux requer uma configuração especial para computadores que possuam controladoras SCSI, caso contrário, com discos normais será necessário criar uma partição para a instalação. Isso significa que o Linux poderá ser instalado no mesmo disco do DOS ou Windows, só que em partição diferente. O espaço da partição recomendável dependerá da quantidade de pacotes que serão instalados, a versão mínima do Linux requer pelo menos 20 MegaBytes, mas instalando-se aplicativos, editores de texto, ambientes gráficos esse valor poderá chegar a 200 MegaBytes.
  • Monitor de Vídeo: A configuração do monitor de vídeo requer o conhecimento de que placa de vídeo e monitor estão instalados no computador. Além de modelo e fabricante, deve-se também passar como parâmetro no momento da instalação a quantidade de memória de vídeo que se possui, freqüências usadas pelo monitor, tipos de recursos, etc.

Autores: Lucas Lopes dos Santos e Ronaldo do Amaral

Wifi 802.11g quebra a barreira dos 100Mbps

Nos últimos oito anos sempre ouvi comentários maldosos sobre o baixo desempenho das redes sem fio e sobre como não se podia nem mesmo iniciar uma comparação séria entre uma rede Ethernet e uma rede Wireless. Durante muito tempo, falar em redes wireless a 100Mbps era um sonho distante mas a tecnologia 802.11g tornou realidade.

Interligando prédios com wifi

Lembro de ter instalado um roteador wireless ligando dois prédios em 1998 e de todas as piadas que tive que ouvir.

Cada prédio era servido por uma rede a 10Mbps como os prédios estavam a 250 metros de distância e em lados opostos da rua, a única opção era uma rede sem fios. O desempenho da conexão wireless era de 4Mbps: menos da metade da rede local.

Daí, no início de 1999 as redes locais foram atualizadas para 100Mbps e as piadas se tornaram mais freqüentes. Isso perdurou até trocar o rádio por fibras ópticas a 155Mbps em 2000.

Em 2003 o mesmo cliente mudou uma de suas três unidades produtivas para um distante subúrbio, a 25Km do centro da cidade, onde não havia infraestrutura de fibra óptica.

Quando eu falei em interligar as redes por rádio houve um descrédito generalizado em razão da experiência de 5 anos antes. Porém muita coisa havia mudado nesse tempo. Vejamos algumas das mudanças fundamentais que ocorreram em cinco anos e como elas afetaram o mundo das redes sem fio.

Em 1998 as aplicações típicas eram de compartilhamento de recursos, nas quais os computadores clientes tinham todo o processamento local e o acesso aos dados se dava através de um servidor de arquivos.

Todas as operações de acesso a dados resultavam no transporte do arquivo completo desde o servidor até o cliente. Esse modelo faz uso irracional da conexão de rede e causa estrangulamento mesmo em redes de alto desempenho.

Hoje as aplicações estão divididas em camadas implementadas em computadores diferentes. O cliente cuida da apresentação de dados e da interface de navegação. O servidor de banco de dados armazena, recupera e processa as instruções dos programas, reduzindo o tráfego de dados ao mínimo necessário. Isso faz com que mesmo uma rede com menor banda passante possa suportar aplicativos com muitos usuários.

802.11g

Além disso, a tecnologia de redes Wifi ganhou um ímpeto com sua popularização. Em menos de 12 meses a velocidade máxima da tecnologia 802.11g passou de 22Mbps para 125 Mbps. Isso mesmo, hoje é possível ter uma rede sem fios com velocidade máxima praticamente igual à de uma rede Ethernet.

Com esses fatores a meu favor, propus a instalação do ambiente WiFi em caráter experimental. Tinha uma área de cerca de 650 metros, com a linha TEW400 da Trendware e no resultado final ela foi três vezes mais rápida que a tecnologia de 54 megabits por segundo, muito próximo do desempenho da rede Ethernet.

Em meus testes usei o Roteador Banda Larga Wireless 802.11g 125 Mbps Trendware TEW-411BRP+. Esse equipamento é dotado de Access Point interno, Switch de 4 portas Ethernet 10/100Mbps, suporte a 1 porta WAN, Servidor DHCP, Firewall e controle de acesso.

Nos clientes da rede usei a Placa PCI Wireless 802.11g 125 Mbps Trendware TEW-403PI+ e nos laptops o Cartão PCMCIA Wireless 802.11g 125 Mbps Trendware TEW-401PC+.

Para extender o alcance da rede, substituimos as antenas originais de 2bi do roteador por outras de 15 dbi. Reposicionamos alguns computadores, trocamos alguns armários de lugar e iniciamos os testes de desempenho.

As estações da rede Ethernet tiveram desempenho real de donwload de 41 Mbps, enquanto que a rede Wireless teve desempenho de 38Mbps. No entanto, no uso dos aplicativos e mesmo de jogos baseados na rede, os dois segmentos de rede apresentaram desempenho muito próximo.

Os roteadores WiFi não estão mais limitados ao compartilhamento de conexão à Internet em residências e pequenos escritórios. Também venceram a barreira dos 11Mbps que durante um longo tempo foi o limite de velocidade.

A tecnologia 802.11g vem dando saltos de desempenho em poucos meses. Novas tecnologias de redes sem fio, como o WiMax, já permitem aplicações com taxas de Gigabits por segundo.

O próximo passo para os fabricantes de redes sem fio é a redução do preço final dos equipamentos. Mas isso é uma questão de tempo e com a crescente popularização do WiFi.

Arquivado em wifi