Firebird & MySQL - Parceiros Ou Concorrentes

Download Firebird & MySQL - Parceiros Ou Concorrentes

Post on 23-Jun-2015

198 views

Category:

Documents

1 download

TRANSCRIPT

Firebird & MySQL - Parceiros ou Concorrentes?Muito se tem falado sobre a rivalidade entre os SGBDs, particularmente entre os open-source. Afinal, se so gratuitos, o fator "custo" no mais um componente da escolha. Sobre o qu deve recair ento a escolha? E afinal, quem o melhor entre o Firebird e o MySQL? Eles so realmente concorrentes? Um pouco de histria Antes de entrarmos na discusso tcnica, importante conhecer um pouco da histria destes dois SGBDs. Isto pode nos ajudar a entender as diferenas atuais nos estgios dos projetos. O Firebird oriundo do cdigo do Interbase 6 open-source. Portanto, quando falarmos no Firebird, temos de lembrar da histria de mais de 15 anos de desenvolvimento do Interbase. O Firebird o sucessor do Interbase open-source, uma vez que a empresa fabricante do Interbase, a Borland, decidiu fechar o cdigo nas verses seguintes. O Firebird conta com um cdigo aperfeioado, livre dos bugs do IB 6 e com recursos adicionais na verso 1.0. Atualmente encontra-se em testes a verso 1.5 Alfa do Firebird, que trar importantes avanos tcnicos. O Firebird mantido por uma comunidade internacional de desenvolvedores, sem vnculo entre si, ou nenhuma empresa patrocinadora. Ele realmente depende do esforo voluntrio da comunidade para continuar a crescer. O MySQL nasceu h menos tempo, inicialmente como um produto proprietrio, logo em seguida apenas com restries na licena para uso comercial, mas que com o tempo adotou a GPL (General Public Licence). Neste intervalo de tempo, com os recursos captados, foi viabilizado o investimento no desenvolvimento do produto. Ele em seguida tornou-se popular por ser distribudo juntamente com as compilaes mais populares do Linux, como Red Hat, Mandrake, Suse e Slackware. A repercusso foi enorme, tornando a empresa original por trs do MySQL bastante slida, que atualmente oferece o MySQL livremente junto com uma verso paga, mais poderosa que a verso free. Portanto h uma empresa com recursos financeiros suficientes para garantir o flego por trs do MySQL, alm do apoio explcito de muitas outras. Considerando-se este fator, podemos at afirmar que o grau de evoluo do MySQL deveria ser maior. Neste artigo estaremos estabelecendo as conparaes entre o Fierbird e a verso free do MySQL, para evitar colocar nesta discusso o Firebird contra produtos pagos, que renderia mais umas dzias de pginas. Rumos e objetivos distintos Comparar as duas solues desconsiderando-se as necessidades do usurio, seria uma injustia com qualquer um dos projetos. Ambos tem virtudes e limitaes que podem ser interessantes para uns e desfavorveis para outros. quase como religio, poltica ou futebol: cada um tem suas crenas, e as defende com muita disposio. O Firebird conhecido por qualidades notveis, com caractersticas de um SGBD estvel, seguro e robusto. O MySQL se notabilizou pela grande velocidade e especializao em ambiente WEB. Portanto dependendo dos objetivos a serem alcanados voc pode preferir um ao outro.Tamanho documento? As diferenas entre os dois comeam no tamanho da soluo: a instalao do MySQL ocupa em torno de 12Mb, enquanto o Firebird no passa de 2,5 Mb. O suporte multiplas plataformas ponto comum entre as duas solues, levando o Firebird uma ligeira vantagem. Ferramentas O MySQL tem um nmero mais limitado de ferramentas de acesso e manuteno s bases de dados, ao passo que o Firebird, por ter o mesmo "bero" do Delphi e C++, conta com um nmero maior de ferramentas, propiciada pelo alto grau de afinidade com estas linguagens, bastante populares. As opes mais conhecidas e confivies de ambiente grfico do MySQL so o MySQLAdm o MySQLGUI enquanto no Firebird temos o IBExpert, IBOConsole, Firebird Workbench e muitas outras. Interface com Linguagens Neste aspecto, fica muito evidenciado a tendncia do MySQL no suporte Web e do Firebird aplicaes desktop. O Firebird contemplado nativamente em diversas linguagens, particularmente Borland, embora atravs do ODBC possa-se lig-lo virtualmente a qualquer "coisa". O MySQL tem uma "simpatia" maior pelas linguagens da comunidade opensource como Perl, Phyton e PHP, embora estas barreiras no existam mais com o Firebird. Armazenamento O modo como as informaes so armazenadas difere bastante. Isto tem um impacto direto em questes como backup, integridade dos dados e segurana. O Firebird armazena todo o conjunto de de dados, alm dos procedimentos ligados ao banco de dados, gatilhos disparados automaticamente e vises em um nico arquivo. O MySQL por padro guarda as tabelas em diversos arquivos, usando-se um esquema de 3 arquivos para cada tabela e todos os aquivos do banco de dados ficam dentro de um diretrio. Digamos que voc trabalhe numa empresa que tem 4 filiais e diariamente voc precisa atualizar a tabela de produtos para as filiais. Com o MySQL basta copiar os arquivos da tabela de produtos, que seriam: PRODUTOS.FRM, PRODUTOS.MYD, PRODUTOS.MYI. H quem diga (e eu concordo) que isto uma coisa que jamais se deve fazer. Com o Firebird, a nica sada ser voc criar um programa para fazer isso. Para se fazer uma cpia de tabela voc obrigado a usar as ferramentas do banco, backup e restore, para o SGBD garantir a integridade dos dados. Para quem foi Clippeiro ou desenvolvedor Paradox isto representa ter que repensar o modo operantis de suas aplicaes. O impacto um pouco menor para quem usa MSAccess, pois conceitualmente so parecidos. Os puristas do mundo SGBDs chegam a afirmar que o MySQL ainda no se tornou um SGBD de verdade, pois no tem nas suas caractersticas nativas este e outros recursos importantes.Padro ANSI SQL 92 Por ser totalmente compatvel com o padro ANSI SQL 92 o Firebird implementa uma srie de funcionalidades nativas, que no caso do MySQL no esto disponvies, algumas podendo ser alcanadas com ferramentas de terceiros: - Integridade Referencial e outras constraints. - Subselects - Unions - Views - Triggers - Stored Procedures - UDF (User Defined Functions) - Suporte transaes H previso de alguns destes itens serem implementados em verses futuras do MySQL, alguns inclusive em beta teste, e outras como j dito, com o auxlio de ferramentas, que permitem modificar a maneira como o MySQL armazena os dados, como o InnoDB, que assegura um modelo transacional no MySQL. Na configurao padro o MySQL apenas um gerenciador de arquivos com suporte SQL. Estas diferentes possibilidades de configurao do formato das bases de dados com o MySQL apesar de parecerem interessantes, podem representar dificuldades na hora de integrar bases de dados com padres diferentes, ou transportar os dados de um servidor para outro. No Firebird, por haver um padro nico, independente dos recursos utilizados, o transporte entre diferentes servidores no um problema. Vamos dar uma olhada no custo-benefcio de cada uma destas caractersticas: Integridade Referencial, bom para quem? Manter os dados que se relacionam ntegros pode ser crucial para o seu negcio. Por exemplo, imagine uma empresa que guarda todos os pedidos de um cliente, e este cliente "some" do banco de dados. Isto deve ser evitado, mas pode ser feito de vrias maneiras, no necessariamente pelo banco de dados, embora o custo disto seja maior em termos de trfego e processamento pela aplicao. No Firebird este um conceito natural, no MySQL depende do sistema de arquivos utilizado. Para quebrar a integridade referencial do MySQL, basta copiar uma verso antiga de uma das tabelas sobre a atual, e est feito o estrago. Mas digamos que voc v utilizar o banco de dados apenas para disponibilizar uma lista de preos ou um cadastro de pessoas simples. Para que integridade referencial? No necessrio. Subselects Um recurso interessante do Firebird, que demanda menos programao para extrair-se dados mais complexos. Unions Montar consultas com Unions d ao programador um poder maior de composio dos dados, coisa que deve ser contornada no MySQL com a criao de tabelas temporrias, em disco ou memria.Views Muito mais que maneiras de visualizar dados, as views so uma poderosa maneira de implementar segurana, performance e recursos de consultas avanadas, pois sobre uma view pode ser aplicado um Select de alta complexidade. O MySQL fica devendo este recurso aos desenvolvedores, fragilizando a base de dados por torn-la totalmente exposta. Triggers Ao descobrir o quanto se pode poupar de cdigo com o uso de Triggers, o seu uso torna-se altamente justificvel. Atravs de gatilhos disparados automaticamente quando os dados so manipulados (inseridos, alterados ou apagados). Por exemplo, voc pode criar triggers que atualizem automaticamente o saldo de uma conta contbil, ou o saldo de estoque quando feita uma movimentao. No MySQL isto precisa ser feito nas aplicaes, e imagine o "custo" disto se voc tiver 30 diferentes mdulos que fazem este movimento: sero trinta locais diferentes onde ser preciso dar manuteno no cdigo. Stored Procedures Ainda em fase de testes na ltima verso beta MySQL, um recurso nativo do Firebird. Atravs do uso de Stored Procedures, pode-se criar processamentos complexos sobre os dados, com passagem e retorno de parmetros. Assim como no caso das Triggers, com o uso de Stored Procedures, voc transfere cdigo da aplicao para o banco de dados, poupando trfego e processamento pela aplicao no lado cliente. UDF (User Defined Functions) Imagine tudo aquilo que voc gostaria que o Firebird fizesse, mas no faz. Sem problema. Basta voc criar uma biblioteca de funes que podero ser usadas pelo seu banco de dados para extender as funcionalidades do Firebird. O MySQL depende totalmente da aplicao para agregar recursos, no sendo possvel ampliar sua funcionalidade seno por meio dos back-ends disponveis. Suporte transaes O MySQL pode dispensar o uso de transaes para manipulao de dados. No Firebird isto impossvel. Mesmo uma simples consulta ocorre dentro do contexto de uma transao. por isto que dependendo da atividade isto pode tornar o Firebird um pouco mais lento. Afinal, sempre haver a abertura de uma transao e o encerramento, para qualquer coisa feita. Isto gera um GAP muitas vezes indesejvel, mas o benefcio disto a segurana oferecida. Firebird, MySQL e a corrupo de dados Nenhum SGBD totalmente prova de corrupo, at porque dependem muito da plataforma utilizada, da confiabilidade do Hardware, da qualidade da energia eltrica e at da boa vontade dos administradores do banco de dados. Parece que por oferecer uma gama de recursos menor, fazendo portanto menos controles, o MySQL tende a ser menos suscetvel corrupo. Mas isto muito discutvel, e h vrios casos relatados de corrupo em ambos, todos oriundos deplataformas deficitrias. O fato que nenhum dos dois tem deteco automtica de corrupo de dados. Performance x Recursos x Segurana Esta a grande chave para a sua escolha. Nenhum dos dois perfeito nos trs itens. Em certos momentos pesar mais um fator do que outro. Identificar isto fundamental, alm claro de ter a noo do trabalho para implementar cada projeto, isto , lembre-se que tudo aquilo que o SGBD no puder fazer por voc voc ter de criar se precisar. O MySql muito conhecido pela sua performance em aplicaes Web. De fato, de um modo geral, fora do mundo Web, ningum leva o MySQL muito a srio, preferindo outras solues. O Firebird oferece maiores recursos e segurana, sendo o preferido em aplicaes Desktop e onde a segurana e integridade so cruciais. Este o cenrio atual, mas ambos esto caminhando na direo das virtudes um do outro, buscando suprir solues para estas questes. Por exemplo, existem muitas aplicaes para construo de Web Sites em PHP que oferecem suporte ao MySQL, e dificilmente ao Firebird (PostNuke, PHPNuke, PHPBB, SlashCode, PHPMyAdmin). No entanto isto est aos poucos mudando, pois a necessidade de mais segurana em aplicaes Web est levando o MySQL a um limite, ento veremos logo uma mudana a favor do Firebird neste sentido. Mas afinal, porque o MySQL mais popular que o Firebird? Este um fato inegvel. O MySQL tornou-se a grande "vedete" do confuso e imprevisvel mundo open-source. Mas no difcil descobrir o porqu disto: O MySQL veio praticamente agregado todas as distribuies Linux importantes. Como o Linux teve seu "boom" justamente 3 anos atrs, ele veio na "carona". Nesta poca o antessor do Firebird ainda era um produto comercial. A nfase dada produo WEB no MySQL foi muito ampla, a maioria dos web sites que um visitante comum acessa, tem um logo com algo assim: "Powered by PHP & MySQL". Isto criou um interesse particular nestas ferramentas. O MySQL oferece uma migrao mais amigvel para quem vem da arquitetura desktop, pois ele no precisa trabalhar necessariamente com o modelo clientserver, o que um paradigma a ser quebrado para quem vem destes bancos de dados. O antecessor do Firebird sempre foi um produto secundrio para o fabricante, que sempre concentrou-se em divulgar seus compiladores. O marketing foi portanto pssimo, despeito de sua irrefutvel qualidade. Ao nascer o Firebird no ficou vinculado nenhuma empresa com recursos para investir em marketing, promoo ou ferramentas, sendo mantida por uma comunidade bastante ativa, porm extremamente voltada parte tcnica, e pouco direcionada aes de marketing. Isto no torna o Firebird invivel? De maneira nenhuma! Em primeiro lugar, aos poucos este cenrio est mudando, pois com a adeso de mais e mais desenvolvedores de grandes e pequenos projetos, o Firebird est ganhando mais visibilidade. Toda a comunidade de usuriosdo Interbase est optando pelo Firebird, apostando no seu futuro. Isto d ao Firebird um lastro muito interessante no que diz respeito aos seus clientes. O Firebird est evoluindo muito rapidamente, aps um incio turbulento, muitos afirmando que era um projeto fadado ao declnio, em poucos meses surgiu a verso 1.0 e logo teremos a verso 1.5. O Time de desenvolvedores Firebird, est ganhando a adeso de comunidades organizadas ao redor do mundo, como por exemplo, a CFLP (Comunidade Firebird de Lngua Portuguesa) que esto fomentando a divulgao do Firebird, no s em carter tcnico, mas concedendo uma oportunidade de pessoas e empresas conhecerem melhor as vantagens de utiliz-lo em seus projetos, e tornar conhecidos profissionais e projetos "powered by Firebird. Esta mesma comunidade est fazendo um esforo para quebrar as barreiras da imprensa especializada, trilhando um longo caminho para mostrar-lhes a grande valia do Firebird, um verdadeiro processo de "doutrina" e persistncia. H negociaes tambm no sentido de disponibilizar o Firebird junto distribuies Linux. Concluses H dezenas de motivos para adotar o MySQL. H centenas de motivos para utilizar o Firebird. Dependendo do que voc espera do banco de dados, a sua escolha recair sobre um ou outro. Quem gosta de um banco "seco", enxuto, fazendo tudo "no brao" talvez ter mais sucesso com o MySQL. J quem gosta de ter mais poder em um SGBD relacional, preferir o Firebird. Uma coisa certa: O Time de Desenvolvedores do Firebird quer torn-lo mais popular e o pessoal do MySQL reconhece que faltam recursos da pesada a serem desenvolvidos. No entanto se compararmos friamente o estgio evolutivo de cada produto, o Firebird largou na frente graas ao Interbase. Na questo de investimentos versus recursos, o Firebird tambm leva vantagem, pois tem um oramento de zero dolres e mesmo assim segue evoluindo num ritmo constante. Esperava-se que o MySQL j estivesse mais avanado, porm parece que os investimentos concentram-se mais no marketing. Por gostar do MySQL e ser apaixonado pelo Firebird, tenho usado o MySQL em situaes bem especficas, e deixando para o Firebird a maior parte dos projetos. No entanto, no os vejo como concorrentes, pois servem bem s suas finalidades, tornando-se parceiros, com funcionalidades e capacidades diferentes, que se ajustam por afinidade a cada necessidade.Anexo I FAQ para usurios que esto migrando do MySQLComoInstalar o Firebird? Como conectar-se um banco de dados Firebird? H alguma ferramenta para administrao em PHP como o PHPMyAdmin para o Firebird? Como criar campos auto-incrementveis no Firebird? H algo para limitar registros retornados em um Query de Select? Como listar todas as tabelas de um banco de dados? Como contar o nmero de registros recuperados? H algo mais que eu deveria saber? Como Instalar o Firebird? Para fazer o Download do Firebird, v ao seguinte endereo na Web: http://firebird.sourceforge.net/index.php?op=files Na plataforma Windows, basta rodar o executvel SETUP. A instalao na plataforma Linux extremamente simples com o uso de pacotes .RPM. Para mais detalhes de instalao na plataforma Linux, v ao endereo: http://firebird.sourceforge.net/index.php?op=doc&id=install Como conectar-se um banco de dados Firebird? No MySQL todos os aliases so registrados no servidor. O Firebird 1.0 no implementa este recurso, ento preciso apontar o servidor e o banco de dados com todo o caminho ao arquivo de banco de dados. Exemplos de strings de conexo: MySQL: SERVER_HOST=localhost DATABASE_NAME=testdb USERNAME=milanb PASSWORD=****** Firebird: DATABASE_PATH=localhost:/usr/local/db/testdb.gdb USERNAME=milanb PASSWORD=***** Como voc pode ver, voc se conecta ao servidor e seleciona o banco de dados ao mesmo tempo. O Firebird 1.5 (em fase de testes) suporta o uso de alias no lado servidor. Ao contrrio do MySQL que armazena cada tabela e indces em arquivos separados, o Firebird armazena todo o banco de dados em um nico arquivo, que normalmente tem a extenso .gdb. H alguma ferramenta para administrao em PHP como o PHPMyAdmin para o Firebird? Sim, existe, chamada de WebAdmin e voc pode baix-la em: http://sourceforge.net/projects/ibwebadmin/Baixe o pacote e descompacte-o em um local acessvel pelo servidor Web, altere o arquivo configuration.inc.php no diretrio inc. Notas de instalao para usurios Windows: Se voc utilizou os diretrios padro do Firebird para instalao, etas so as entradas que voc deve alterar: define('BINPATH', 'c:/progra~1/firebird/bin/'); define('SECURITY_DB', 'c:/progra~1/firebird/isc4.gdb'); define('PATH_SEPARATOR', '\\'); ATENO: esta ferramenta ainda est em verso Beta, mas pode ser til no seu dia-a-dia. Entretanto voc pode e deve dar uma olhada em outras aplicaes grficas (comerciais, freeware e open-source) que esto estveis e facilitam o uso do Firebird. Como criar campos auto-incrementveis no Firebird? Para fazer isto, o Firebird usa Generators (geradores) como no Oracle. Cada Generator tem um valor. Abaixo um exemplo de como utilizar Generators em comparao com o MySQL: MySQL: CREATE TABLE test ( field1 integer not null auto_increment, field2 char(10), PRIMARY KEY (field1) ); inserindo valores: INSERT INTO test (field2) VALUES ('testme'); Firebird: CREATE TABLE test ( field1 integer not null, field2 char(10), PRIMARY KEY (field1) ); CREATE GENERATOR gen_test_id; inserindo valores: INSERT INTO test (field1, field2) VALUES (gen_id(gen_test_id, 1), 'testme'); Isto pode parecer um pouco complicado, mas os Generators lhe do muito mais poder que campos autoinc uma vez que voc pode recuperar o valor de um Generator sem increment-lo: SELECT gen_id(gen_test_id, 0) FROM ... E voc pode modificar o valor atual com: SET GENERATOR gen_test_id TO [algum_valor]; Para saber mais sobre Generators consulte o Data Definition Guide do Interbase(que se aplica ao Firebird) ou ainda o artigo disponvel no site da CFLP. H algo para limitar registros retornados em um Query de Select? Sim um recurso chamado FIRST x SKIP y, e usado desta maneira: SELECT FIRST x SKIP y FROM ... [resto da query] Isto ir retornar um total de x registros, pulando os primeiros y registros (iniciandose do registro y+1) Como listar todas as tabelas de um banco de dados? No MySQL voc utiliza o Show Tables. Voc pode utilizar o mesmo comando do ISQL (utilitrio de linha de comando que acompanha o Firebird), mas somente nele. Entretanto, isto pode ser feito fazendo uma consulta nas tabelas de sistema do Firebird: SELECT RDB$RELATION_NAME FROM RDB$RELATIONS; Esta query lhe mostrar as tabelas do sistema e de usurio (as que voc criou). Para ver apenas as suas tabelas use: SELECT RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$SYSTEM_FLAG = 0; Nota: A consulta acima ir retornar alm das tabelas de usurio, todas VIEWS criadas. Para exibir somente as tabelas use: SELECT RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$SYSTEM_FLAG = 0 AND RDB$VIEW_BLR IS NULL; Como contar o nmero de registros recuperados? O Firebird no dispe deste recurso. Voc pode fazer isto trazendo todos os registros, ou utilizando um SELECT COUNT (*)... usando a mesma query. H algo mais que eu deveria saber? Sim. O Firebird um servidor maduro, e algumas de suas caractersiticas podem lhe ser muito teis, mas talvez voc no as conhea: Integridade Referencial SubSelects Unions Triggers Stored Procedures UDF (User defined Functions) Procure descobrir o poder que estes recursos lhe do, consultando a documentao disponvel, e torne-se mais um apaixonado pelo Firebird.Anexo II O que andam dizendo por a... Esta a traduo de um artigo publicado na revista PC Week comparando o MySQL com outros bancos de dados relacionais:O MySQL oferece consulta de banco de dados mais rpida, mas pode deixar alguns usurios desejosos 14 de fevereiro de 2000 12:00 Qualquer avaliao de bancos de dados de cdigo-aberto (open source) estaria incompleto sem uma discusso do MySQL, um banco de dados leve e magro que um favorito de muitos Webmasters pela sua velocidade e tamanho pequeno. Em particular, o desempenho rpido de leitura do MySQL (especialmente quando usado com um nmero pequeno de usurios), host name, subnet - ou camada de segurana de usurio baseada em nomes, e integrao estreita com Perl e PHP torna uma combinao perfeita para uso da Web. Por exemplo, Slashdot.org executado em um banco de dados de MySQL. Entretanto, PC Week Labs acautela que o MySQL no deve ser comparado com bancos de dados de alto-desempenho, como o Firebird ou PostgreSQL (veja Anlise da Tech). Este fundamentalmente um produto diferente com objetivos de projeto diferente. O MySQL um banco de dados construdo para retornar dados estticos simples como informao de conta de usurio em Webpages to rpido quanto disco e velocidades de CPU permitiro. No projetado para fazernem deveria ser usado paratransaes financeiras, administrao de inventrio ou outras tarefas de negcio crticas. O ramo que o MySQL, junto com bancos de dados de Mtodo de Acesso Seqentes Indexados semelhantes, inclusive Microsoft Corp.'s Visual FoxPro e Corel Corp.'s Paradox, fazem deixar a caracterstica de banco de dados SQL de um alto-desempenho definindo transao e histrico de transao para ganhar simplicidade e velocidade. Suporte de transao assegura que operaes de banco de dados so atmicas, consistentes, independentes e durveis (mais conhecido como ACID), garantindo assim que as atualizaes em grupo de um banco de dados aconteam corretamente e que o banco de dados possa sobreviver a deficincias, como por exemplo de disco ou de fora-eltrica, corretamente. Nenhum negcio deveria pr dados crticos internos ou dados de cliente em qualquer banco de dados que no dispe operaes ACID. Prs do MySQL: - Operao muito rpida para aplicaes de leitura-pesada ou de baixa carga de usurios - Sistema de segurana flexvel - Forte Connectividade para sistemas de publicao de Web dinmica Contras do MySQL: - Nenhum suporte transao - Sistema de travamento de tabelas se comporta pobremente quando h muitosusurios competindo - Incompatibilidade com o SQL-92 O suporte multi-usurio no MySQL tambm bastante pobre pode emitir apenas bloqueio a nvel de tabela. Qualquer atualizao no banco de dados trava a tabela inteira, fazendo com que todos as leituras aguardem at que a gravao seja concluda. Este pode ser um matador de desempenho, e o desenvolvedor de MySQL precisar escrever SQL muito cuidadosamente para evitar esta situao. (Em um caso especial, o MySQL pode permitir INSERTS simultneos junto com leituras, contanto que os INSERTS s aconteam no fim do arquivo quer dizer, apenas que no haja nenhuma abertura vazia de registros apagados.) Usando-se bloqueio em tabelas quando no h concorrncia de bloqueio um real ganho de velocidade quanto mais bloqueios h, menos processamento de bloqueio necessrio. Em situaes como na Web, onde h muita pequena concorrncia de bloqueio, esta aproximao realmente vale. Porm, geralmente ns acreditamos que desempenho absoluto importa menos que desempenho previsvel, que bloqueio mais granular em nvel de palavra, pgina ou nivel de linha - prov. O MySQL precisaria de um idioma de SQL caracterstico, como subselects e vises, como tambm cursores do lado-servidor e procedimentos armazenados. Como resultado, ns no pudemos executar o mesmo cdigo como ponto de referncia que ns usamos com o Firebird e PostgreSQL com o MySQL. Ns executamos h pouco uma transao on-line que processa teste de leiturasimples com um nico usurio. O MySQL realmente foi fantstico, com um clocking de 649 transaes por segundo, um resultado que mais rpido que o processamento do Firebird aproximadamente quatro vezes e mais de 10 vezes mais rpido que o processamento do PostgreSQL mesma carga de usurio e carga de trabalho. Ns planejamos refazer o cdigo de ponto de referncia para evitar as reas de incompatibilidade de SQL do MySQL incluindo acesso multi-usurio estabelecendo um ponto de referncia do MySQL depois, este ano. Traduo e adaptao: Antonio Porfrio - (Tony)antonioporfirio@ipdal.com.br Colaborador da Comunidade Firebird de Lingua PortuguesaArtigo Original(Colaborador da CFLP) Comunidade Firebird de Lngua PortuguesaPaulo Vazpaulo@multi-informatica.com.brVisite a Comunidade em: http://www.comunidade-firebird.orgA Comunidade Firebird de Lngua Portuguesa foi autorizada pelo Autor do Original para divulgar este trabalho