Índice
MaxDB é um banco de dados empresarial. O MaxDB é o novo nome de um sistema de gerenciamento de banco de dados formalmente chamado SAP DB.
A história do SAP DB vem do ínicio dos anos 80, quando ele foi desenvolvido como um produto comercial (Adabas). O banco de dados mudou de nome diversas vezes desde então. Quando a SAP AG, uma companhia Alemã tomou conta do desenvolvimento deste sistema de banco de dados, ele foi chamado de SAP DB.
A SAP desenvolve sistemas de banco de dados para servir como um sistema de armazenamento para todas as aplicações pesadas SAP, chamadas R/3. O SAP DB foi criado para fornecer uma alternativa para sistemas de banco de dados como o Oracle, Microsoft SQL Server, ou DB2 da IBM. Em Outubro de 2000, A SAP AG liberou o SAP DB soba licença GNU GPL (see Apêndice H, GPL - Licença Pública Geral do GNU), fazendo dele um programa open source. Em Outubro de 2003, mais de 2000 clientes da SAP AG estavam usando SAP DB como o seu principal sistema de banco de dados, e mais de outros 2000 clientes o estavam usando como um sistema de banco de dados a parte além do banco de dados principal, como parte de uma solução APO/LivaCache.
Em Maio de 2003, uma parceria foi formada entre a MySQL AB e a SAP AG. Esta parceria permite à MySQL AB desenvolver no SQP DB, renomeá-lo e a vender licenças comerciais do SAP DB para clientes que não queiram ser limitados pelas restrições impostas a eles quando usam o sistema de banco de dados sob uma licença GNU GPL (see Apêndice H, GPL - Licença Pública Geral do GNU). Em Agosto 2003, o SAP DB foi renomeado para MaxDB pela MySQL AB.
O MaxDB pode ser usado sob as mesmas licenças disponíveis para os outros produtos distribuídos pela MySQL AB (see Secção 1.4.3, “Licenças do MySQL”). Assim, o MaxDB estará disponível sob a GNU General Public License (see Apêndice H, GPL - Licença Pública Geral do GNU), e uma licença comercial (see Secção 1.4, “Suporte e Licenciamento do MySQL”).
A MySQL irá oferecer suporte para MaxDB para clientes não-SAP.
A primeira versão renovada será o MaxDB 7.5.00 que será liberada no fim de 2003.
O MaxDB opera como um produto cliente/servidor. Ele foi desenvolvido para cobrir a demanda de instalações que processam um alto volume de transações on line. Tanto a expansão quanto o backup online do banco de dados são suportados. O Microsoft Clustered Server é suportado diretamente para implementações multi-servidor; outras soluções para falhas devem ser feitas manualmente. A ferramenta de gerenciamento de banco de dados são fornecidos tanto na implementação Windows quanto na baseada em browser.
A lista a seguir fornece um pequeno resumo das principais diferenças entre o MaxDB e o MySQL; ela não esta completa.
MaxDB funciona como um sistema cliente/servidor. O MySQL pode fincionar como um sistema cliente/servidor ou como um sistema embutido.
O MaxDB não pode ser executado em todas as plataformas suportadas pelo MySQL. Por exemplo, o MaxDB não funciona no OS/2 da IBM.
O MaxDB usa um protocolo de rede proprietário para comunicação cliente servidor, enquanto o MySQL usa o TCP/IP (com ou sem criptografia SSL), sockets (sob sistemas do tipo Unix) ou named pipes (sob sistemas da familia Windows-NT).
O MaxDB suporta stored procedures. Para o MySQL, stored procedures não estão programadas para implementação até a versão 5.0. O MaxDB também suporta programação de triggers por meio de extensão SQL, que está previsto para o MySQL 5.1. O MaxDB contém um depurador para linguagens com stored procedures, pode fazer cascade de triggers aninhados e suporta vários triggers por ação e linha.
O MaxDB é distribuído com interface de usuários em modo texto, gráfico ou baseado web. O MySQL é distribuído apenas com interfaces de usuários em modo text; uma interface gráfica do usuário (MySQL Control Center) é distribuída separadamente da distribução principal. Interfaces com o usuários baseada em Web para o MySQL são ofereceidas por terceiros.
O MaxDB suporta um número de interfaces de programação também suportadas pelo MySQL. No entanto, o MaxDB não suporta RDO, ADO, ou .NET, os quais são suportadas pelo MySQL. O MaxDB suporta SQL embarcado apenas com C/C++.
O MaxDB contém recursos administrativos que o MySQL não tem: Agendamento de tarefas por hora, evento, e alerta , e permite enviar mensagens para um administrador de banco de dados nos avisos.
Os seguintes recursos serão incluídos nas versão do MaxDB a serem distribuídas após a versão 7.5.00. Estes recursos permitirão interoperabilidade entre MaxDB e MySQL:
Haverá um proxy MySQL permitindo que se conecte ao MaxDb
usando o protocolo MySQL. Isto faz com que seja possível usar
os programas clientes do MySQL para o MaxDB, com a interface
de linha de comando mysql
, o utilitário de
dump mysqldump
, o programa de importação
mysqlimport
. Usando o
mysqldump
, pode-se facilmente fazer o dump
de dados de um sistema de banco de dados e exportar estes
dados para outro sistema de banco de dados.
Replicação entre MySQL e MaxDB será suportado em ambas as direções. Isto é, tanto o MySQL quanto o MaxDb podem ser usados como o servidor master da replicação. O plano a longo prazo é convergir e extender a sintaxe da replicação para que assim ambos os sistemas de bancos de dados entendam a mesma sintaxe. See Secção 4.11.1, “Introdução”.
A página principal para informações sobre o MaxDB é http://www.mysql.com/maxdb. Eventualmente, todas as informações disponíveis em http://www.sapdb.org serão movidas para lá.
Assim como o MySQL, o MaxDB tem algumas palavras reservadas que tenham significados especiais. Normalmente elas não podem ser usadas como nomes de identificadores, tais como nomes de bancos de dados ou tabelas. A tabela a seguir lista as palavras reservadas no MaxDB, indica o contexto no qual estas palavras são utilizadas e indica se elas possuem correspondentes ou não no MySQL. Se existir, o significado no MySQL pode ser idêntico ou diferente em alguns aspectos. O principal objetivo é listar em que o MaxDB difere do MySQL; embora esta lista não esteja completa.
Para a lista de palavras reservadas do MySQL, veja See Secção 6.1.7, “Tratamento de Palavras Reservadas no MySQL”.
Reservada no MaxDB | Contexto do uso no MaxDB | Correspondente no MySQL |
@ | Pode preceder identificadores, como ``@table'' | Não permitido |
ADDDATE() | Função SQL | ADDDATE() ; nova no MySQL 4.1.1 |
ADDTIME() | Função SQL | ADDTIME() ; nova no MySQL 4.1.1 |
ALPHA | Função SQL | Nenhuma correspondencia |
ARRAY | Tipo de dados | Não implementado |
ASCII() | Função SQL | ASCII() , mas implementado com um significado
diferente |
AUTOCOMMIT | Transações; ON por padrão | Transações; OFF por padrão |
BOOLEAN | Tipos de coluna; BOOLEAN aceita como valor apenas
TRUE , FALSE , e
NULL | BOOLEAN was added in MySQL version 4.1.0; it is a
synonym for BOOL which is mapped to
TINYINT(1) . It accepts integer values
in the same range as TINYINT as well as
NULL . TRUE and
FALSE can be used as aliases for
1 and 0 . |
CHECK | CHECK TABLE | CHECK TABLE ; similar, mas com uso diferente |
COLUMN | Tipos de coluna | COLUMN ; noise word |
CHAR() | Função SQL | CHAR() ; identical syntax; similar, not identical
usage |
COMMIT | Implicit commits of transactions happen when data definition queries are being issued | Implicit commits of transactions happen when data definition queries are being issued, but also with a number of other queries |
COSH() | Função SQL | Nenhuma correspondencia |
COT() | Função SQL | COT() ; identical syntax and implementation |
CREATE | SQL, data definition language | CREATE |
DATABASE | Função SQL | DATABASE() ; DATABASE is used in a
different context, for example CREATE
DATABASE |
DATE() | Função SQL | CURRENT_DATE |
DATEDIFF() | Função SQL | DATEDIFF() ; nova no MySQL 4.1.1 |
DAY() | Função SQL | Nenhuma correspondencia |
DAYOFWEEK() | Função SQL | DAYOFWEEK() ; the first day (1 ) by
default is Monday in MaxDB, and Sunday in MySQL |
DISTINCT | Funções SQL AVG , MAX ,
MIN , SUM | DISTINCT ; but used in a different context:
SELECT DISTINCT |
DROP | inter alia in DROP INDEX | DROP INDEX ; similar, but not identical usage |
EBCDIC() | Função SQL | Nenhuma correspondencia |
EXPAND() | Função SQL | Nenhuma correspondencia |
EXPLAIN | Optimization | EXPLAIN ; similar, but not identical usage |
FIXED() | Função SQL | Nenhuma correspondencia |
FLOAT() | Função SQL | Nenhuma correspondencia |
HEX() | Função SQL | HEX() ; similar, but not identical usage |
INDEX() | Função SQL | INSTR() or LOCATE() ; similar, but
not identical syntaxes and meanings |
INDEX | USE INDEX , IGNORE INDEX and
similar hints are being used right after
SELECT , like SELECT ... USE
INDEX | USE INDEX , IGNORE INDEX and
similar hints are being used in the
FROM clause of a
SELECT query, like in SELECT
... FROM ... USE INDEX |
INITCAP() | Função SQL | Nenhuma correspondencia |
LENGTH() | Função SQL | LENGTH() ; identical syntax, but slightly different
implementation |
LFILL() | Função SQL | Nenhuma correspondencia |
LIKE | Comparisons | LIKE ; but the extended LIKE MaxDB
provides rather resembles the MySQL
REGEX |
LIKE wildcards | MaxDB supports ``%'', ``_'', ``ctrl+underline'', ``ctrl+up arrow'',
``*'', and ``?'' as wildcards in a LIKE
comparison | MySQL supports ``%'', and ``_'' as wildcards in a
LIKE comparison |
LPAD() | Função SQL | LPAD() ; slightly different implementation |
LTRIM() | Função SQL | LTRIM() ; slightly different implementation |
MAKEDATE() | Função SQL | MAKEDATE() ; nova no MySQL 4.1.1 |
MAKETIME() | Função SQL | MAKETIME() ; nova no MySQL 4.1.1 |
MAPCHAR() | Função SQL | Nenhuma correspondencia |
MICROSECOND() | Função SQL | MICROSECOND() ; nova no MySQL 4.1.1 |
NOROUND() | Função SQL | Nenhuma correspondencia |
NULL | Column types; comparisons | NULL ; MaxDB supports special NULL
values that are returned by arithmetic operations that
lead to an overflow or a division by zero; MySQL does not
support such special values |
PI | Função SQL | PI() ; identical syntax and implementation, but
parantheses are mandatory |
REF | Data type | Nenhuma correspondencia |
RFILL() | Função SQL | Nenhuma correspondencia |
ROWNO | Predicate in WHERE clause | Similar to LIMIT clause |
RPAD() | Função SQL | RPAD() ; slightly different implementation |
RTRIM() | Função SQL | RTRIM() ; slightly different implementation |
SEQUENCE | CREATE SEQUENCE , DROP SEQUENCE | AUTO_INCREMENT ; similar concept, but differing
implementation |
SINH() | Função SQL | Nenhuma correspondencia |
SOUNDS() | Função SQL | SOUNDEX() ; slightly different syntax |
STATISTICS | UPDATE STATISTICS | ANALYZE ; similar concept, but differing
implementation |
SUBSTR() | Função SQL | SUBSTRING() ; slightly different implementation |
SUBTIME() | Função SQL | SUBTIME() ; nova no MySQL 4.1.1 |
SYNONYM | Data definition language: CREATE [PUBLIC] SYNONYM ,
RENAME SYNONYM , DROP
SYNONYM | Nenhuma correspondencia |
TANH() | Função SQL | Nenhuma correspondencia |
TIME() | Função SQL | CURRENT_TIME |
TIMEDIFF() | Função SQL | TIMEDIFF() ; nova no MySQL 4.1.1 |
TIMESTAMP() | Função SQL | TIMESTAMP() ; nova no MySQL 4.1.1 |
TIMESTAMP() as argument to
DAYOFMONTH() and
DAYOFYEAR() | Função SQL | Nenhuma correspondencia |
TIMEZONE() | Função SQL | Nenhuma correspondencia |
TRANSACTION() | Returns the ID of the current transaction | Nenhuma correspondencia |
TRANSLATE() | Função SQL | REPLACE() ; identical syntax and implementation |
TRIM() | Função SQL | TRIM() ; slightly different implementation |
TRUNC() | Função SQL | TRUNCATE() ; slightly different syntax and
implementation |
USE | mysql commandline user interface command | USE |
USER | Função SQL | USER() ; identical syntax, but slightly different
implementation, and parantheses are mandatory |
UTC_DIFF() | Função SQL | UTC_DATE() ; provides a means to calculate the result
of UTC_DIFF() |
VALUE() | Função SQL, alias for COALESCE() | COALESCE() ; identical syntax and implementation |
VARIANCE() | Função SQL | Nenhuma correspondencia |
WEEKOFYEAR() | Função SQL | WEEKOFYEAR() ; nova no MySQL 4.1.1 |
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.