Hosting guebs

Capítulo 17. Introducción a MaxDB

Tabla de contenidos

17.1. Historia de MaxDB
17.2. Licenciamiento y soporte
17.3. Enlaces relacionados con MaxDB
17.4. Conceptos básicos de MaxDB
17.5. Diferencias de prestaciones entre MaxDB y MySQL
17.6. Características de interoperabilidad entre MaxDB y MySQL
17.7. Palabras reservadas de MaxDB

MaxDB is an enterprise-level database. MaxDB is the new name of a database management system formerly called SAP DB.

17.1. Historia de MaxDB

La historia de SAP DB se remonta hacia los principios de 1980 cuando fue desarrollada como un producto comercial(ADABAS). Esta Base de Datos fue cambiando de nombre varias veces desde ese entonces. Cuando SAP AG, una compañía con sede en Walldorf, Alemania, se hizo cargo del desarrollo del producto, fue bautizada como SAP DB.

SAP desarrollo esta base de datos para funcionar como sistema de almacenamiento de todos los sistemas de misión critica de las Aplicaciones de SAP, llamadas R/3. SAP DB fue pensada para proveer una alternativa a sistemas de bases de datos como Oracle, Microsoft SQL Server, y DB2 de IBAM. En Octubre de 2000, SAP AG libero bajo la licencia GNU GPL(ver Apéndice I, GNU General Public License), convirtiéndola en Software Open Source. En Octubre de 2003, mas de 2,000 clientes de SAP AG estaban utilizando SAP DB como su principal sistema de bases de datos y otros 2000 clientes estaban utilizando de forma separada como parte de la solución APO/Live cache

En Mayo de 2003 una alianza tecnológica fue conformada entre MySQL AB y SAP AG. Esa alianza fue llamada MySQL AB se encargara del futuro desarrollo de SAP DB, de su nuevo nombre, y de la comercialización de licencias de la re bautizada SAP DB para aquellos clientes que no quieran estar bajo las restricciones impuestas por utilizar esa base de datos bajo el licenciamiento GNU GPL (see Apéndice I, GNU General Public License). En Agosto de 2003, SAP DB fue re bautizada como MaxDB por MySQL AB.

17.2. Licenciamiento y soporte

MaxDB puede ser utilizada bajo los mismos sistemas de licenciamiento que los otros productos distribuidos por MySQL AB. De esta manera MaxDB esta disponible bajo la GNU General Public Licence y bajo la licencia comercial. Para mayor informacion sobre licenciamiento ver: http://www.mysql.com/company/legal/licensing/.

MySQL ofrece soporte para MaxDB a quienes no sean clientes de SAP.

La primer version actualizada fue MaxDB 7.5.00, que fue lanzada en Noviembre de 2003

17.3. Enlaces relacionados con MaxDB

La pagina principal para MaxDB es http://www.mysql.com/products/maxdb. La informacion anteriormente disponible en http://www.sapdb.org se traslado a el link anterior.

17.4. Conceptos básicos de MaxDB

MaxDB opera como un producto cliente/servidor. Fue desarrollado para cubrir las demandas de las instalaciones que requieren de una gran volumen de procesamiento de transacciones. Tanto el back up en línea como expansión de la base de datos están soportados. El Servidor Cluster de Microsoft tiene soporte directo para múltiples instalaciones de servidores; otros requerimientos deben ser escritos manualmente. Las herramientas de administración son provistas tanto en aplicaciones Desktop como implementaciones basadas en browser.

17.5. Diferencias de prestaciones entre MaxDB y MySQL

La siguiente lista brinda un sumario de las principales diferencias entre MaxDB y MySQL; Esta lista es parcial.

  • MaxDB corre en la modalidad de un sistema cliente/servidor. MaxDB runs as a client/server system. MySQL puede funcionar tanto cliente/servidor como tambien en un sistema ebedded.

  • MaxDB no funciona en todas las platformas soportadas por MySQL. Por ejemplo, MaxDB no corre sobre el sistema operativo de IBM OS/2. MaxDB might not run on all platforms supported by MySQL.

  • MaxDB uses a proprietary network protocol for client/server communication. MySQL uses either TCP/IP (with or without SSL encryption), sockets (under Unix-like systems), or named pipes (under Windows NT-family systems).

  • MaxDB supports stored procedures. For MySQL, stored procedures are implemented in version 5.0. MaxDB also supports programming of triggers through an SQL extension, which is scheduled for MySQL 5.1. MaxDB contains a debugger for stored procedure languages, can cascade nested triggers, and supports multiple triggers per action and row.

  • MaxDB is distributed with user interfaces that are text-based, graphical, or Web-based. MySQL is distributed with text-based user interfaces only; graphical user interface (MySQL Control Center, MySQL Administrator) are shipped separately from the main distributions. Web-based user interfaces for MySQL are offered by third parties.

  • MaxDB supports a number of programming interfaces that also are supported by MySQL. However, MaxDB does not support RDO, ADO, or .NET, all of which are supported by MySQL. MaxDB supports embedded SQL only with C/C++.

  • MaxDB includes administrative features that MySQL does not have: job scheduling by time, event, and alert, and sending messages to a database administrator on alert thresholds.

17.6. Características de interoperabilidad entre MaxDB y MySQL

As part of MaxDB 7.6, the MaxDB Synchronization Manager is released. The Synchronization Manager supports creation of asynchronous replication scenarios between several MaxDB instances. However, interoperability features also are planned, so that the Synchronization Manager supports replication to and from a MySQL server.

In the first release, the Synchronization Manager supports inserting data into MySQL. This means that initially only replication from MaxDB to MySQL is supported. In the course of 2005, exporting of data from a MySQL server to the Synchronization Manager will be added, thus adding support for MySQL to MaxDB replication scenarios.

MaxDB 7.6, with the Synchronization Manager, was released as a beta version in January 2005. The production release is planned for April 2005.

17.7. Palabras reservadas de MaxDB

Like MySQL, MaxDB has a number of reserved words that have special meanings. Normally, they cannot be used as names of identifiers, such as database or table names. The following table lists reserved words in MaxDB, indicates the context in which those words are used, and indicates whether or not they have counterparts in MySQL. If such a counterpart exists, the meaning in MySQL might be identical or differing in some aspects. The main purpose is to list in which respects MaxDB differs from MySQL; therefore, this list is not complete.

Para la lista de palabras reservardas en MySQL, Visite Sección 9.6, “Tratamiento de palabras reservadas en MySQL”.

Reserved in MaxDBContext of usage in MaxDBMySQL counterpart
@Can prefix identifier, like “@tableNot allowed
ADDDATE()Funcion SQLADDDATE(); nuevo en MySQL 4.1.1
ADDTIME()Funcion SQLADDTIME(); nuevo en MySQL 4.1.1
ALPHAFuncion SQLSin comparacion
ARRAYTipo de DatoSin Implementar
ASCII()Funcion SQLASCII(), implementado pero con otro significado
AUTOCOMMITTransactions; ON by defaultTransactions; OFF by default
BOOLEANColumn types; BOOLEAN accepts as values only TRUE, FALSE, and NULLBOOLEAN was added in MySQL 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.
CHECKCHECK TABLECHECK TABLE; similar, but not identical usage
COLUMNColumn typesCOLUMN; noise word
CHAR()SQL functionCHAR(); identical syntax; similar, not identical usage
COMMITImplicit commits of transactions happen when data definition statements are issuedImplicit commits of transactions happen when data definition statements are issued, and also with a number of other statements
COSH()SQL functionNothing comparable
COT()SQL functionCOT(); identical syntax and implementation
CREATESQL, data definition languageCREATE
DATABASESQL functionDATABASE(); DATABASE is used in a different context; for example, CREATE DATABASE
DATE()SQL functionCURRENT_DATE
DATEDIFF()SQL functionDATEDIFF(); new in MySQL 4.1.1
DAY()SQL functionNothing comparable
DAYOFWEEK()SQL functionDAYOFWEEK(); by default, 1 represents Monday in MaxDB and Sunday in MySQL
DISTINCTSQL functions AVG, MAX, MIN, SUMDISTINCT; but used in a different context: SELECT DISTINCT
DROPDROP INDEX, for exampleDROP INDEX; similar, but not identical usage
EBCDIC()SQL functionNothing comparable
EXPAND()SQL functionNothing comparable
EXPLAINOptimizationEXPLAIN; similar, but not identical usage
FIXED()SQL functionNothing comparable
FLOAT()SQL functionNothing comparable
HEX()SQL functionHEX(); similar, but not identical usage
INDEX()SQL functionINSTR() or LOCATE(); similar, but not identical syntaxes and meanings
INDEXUSE INDEX, IGNORE INDEX and similar hints are used right after SELECT; for example, SELECT ... USE INDEXUSE INDEX, IGNORE INDEX and similar hints are used in the FROM clause of a SELECT query; for example, in SELECT ... FROM ... USE INDEX
INITCAP()SQL functionNothing comparable
LENGTH()SQL functionLENGTH(); identical syntax, but slightly different implementation
LFILL()SQL functionNothing comparable
LIKEComparisonsLIKE; but the extended LIKE MaxDB provides rather resembles the MySQL REGEX
LIKE wildcardsMaxDB supports “%”, “_”, “Control-underline”, “Control-up arrow”, “*”, and “?” as wildcards in LIKE comparisonsMySQL supports “%”, and “_” as wildcards in LIKE comparisons
LPAD()SQL functionLPAD(); slightly different implementation
LTRIM()SQL functionLTRIM(); slightly different implementation
MAKEDATE()SQL functionMAKEDATE(); new in MySQL 4.1.1
MAKETIME()SQL functionMAKETIME(); new in MySQL 4.1.1
MAPCHAR()SQL functionNothing comparable
MICROSECOND()SQL functionMICROSECOND(); new in MySQL 4.1.1
NOROUND()SQL functionNothing comparable
NULLColumn types; comparisonsNULL; 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
PISQL functionPI(); identical syntax and implementation, but parentheses are mandatory in MySQL
REFData typeNothing comparable
RFILL()SQL functionNothing comparable
ROWNOPredicate in WHERE clauseSimilar to LIMIT clause
RPAD()SQL functionRPAD(); slightly different implementation
RTRIM()SQL functionRTRIM(); slightly different implementation
SEQUENCECREATE SEQUENCE, DROP SEQUENCEAUTO_INCREMENT; similar concept, but different implementation
SINH()SQL functionNothing comparable
SOUNDS()SQL functionSOUNDEX(); slightly different syntax
STATISTICSUPDATE STATISTICSANALYZE TABLE; similar concept, but different implementation
SUBSTR()SQL functionSUBSTRING(); slightly different implementation
SUBTIME()SQL functionSUBTIME(); new in MySQL 4.1.1
SYNONYMData definition language: CREATE [PUBLIC] SYNONYM, RENAME SYNONYM, DROP SYNONYMNothing comparable
TANH()SQL functionNothing comparable
TIME()SQL functionCURRENT_TIME
TIMEDIFF()SQL functionTIMEDIFF(); new in MySQL 4.1.1
TIMESTAMP()SQL functionTIMESTAMP(); new in MySQL 4.1.1
TIMESTAMP() as argument to DAYOFMONTH() and DAYOFYEAR()SQL functionNothing comparable
TIMEZONE()SQL functionNothing comparable
TRANSACTION()Returns the ID of the current transactionNothing comparable
TRANSLATE()SQL functionREPLACE(); identical syntax and implementation
TRIM()SQL functionTRIM(); slightly different implementation
TRUNC()SQL functionTRUNCATE(); slightly different syntax and implementation
USESwitches to a new database instance; terminates the connection to the current database instance; all subsequent commands are referred to this database instanceUSE; identical syntax, but does not terminate the connection to the current database
USERSQL functionUSER(); identical syntax, but slightly different implementation, and parentheses are mandatory in MySQL
UTC_DIFF()SQL functionUTC_DATE(); provides a means to calculate the same result as UTC_DIFF()
VALUE()SQL function, alias for COALESCE()COALESCE(); identical syntax and implementation
VARIANCE()SQL functionVARIANCE(); new in MySQL 4.1.0
WEEKOFYEAR()SQL functionWEEKOFYEAR(); new in MySQL 4.1.1

Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.