Capítulo 17. Introducción a MaxDB
Anterior |  | Siguiente

## Capítulo 17. Introducción a 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 MaxDB | Context of usage in MaxDB | MySQL counterpart
`@` | Can prefix identifier, like “@table” | Not allowed
`ADDDATE()` | Funcion SQL | `ADDDATE()`; nuevo en MySQL 4.1.1
`ADDTIME()` | Funcion SQL | `ADDTIME()`; nuevo en MySQL 4.1.1
`ALPHA` | Funcion SQL | Sin comparacion
`ARRAY` | Tipo de Dato | Sin Implementar
`ASCII()` | Funcion SQL | `ASCII()`, implementado pero con otro significado
`AUTOCOMMIT` | Transactions; `ON` by default | Transactions; `OFF` by default
`BOOLEAN` | Column types; `BOOLEAN` accepts as values only `TRUE`, `FALSE`, and `NULL` | `BOOLEAN` 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`.
`CHECK` | `CHECK TABLE` | `CHECK TABLE`; similar, but not identical usage
`COLUMN` | Column types | `COLUMN`; noise word
`CHAR()` | SQL function | `CHAR()`; identical syntax; similar, not identical usage
`COMMIT` | Implicit commits of transactions happen when data definition statements are issued | Implicit commits of transactions happen when data definition statements are issued, and also with a number of other statements
`COSH()` | SQL function | Nothing comparable
`COT()` | SQL function | `COT()`; identical syntax and implementation
`CREATE` | SQL, data definition language | `CREATE`
`DATABASE` | SQL function | `DATABASE()`; `DATABASE` is used in a different context; for example, `CREATE DATABASE`
`DATE()` | SQL function | `CURRENT_DATE`
`DATEDIFF()` | SQL function | `DATEDIFF()`; new in MySQL 4.1.1
`DAY()` | SQL function | Nothing comparable
`DAYOFWEEK()` | SQL function | `DAYOFWEEK()`; by default, `1` represents Monday in MaxDB and Sunday in MySQL
`DISTINCT` | SQL functions `AVG`, `MAX`, `MIN`, `SUM` | `DISTINCT`; but used in a different context: `SELECT DISTINCT`
`DROP` | `DROP INDEX`, for example | `DROP INDEX`; similar, but not identical usage
`EBCDIC()` | SQL function | Nothing comparable
`EXPAND()` | SQL function | Nothing comparable
`EXPLAIN` | Optimization | `EXPLAIN`; similar, but not identical usage
`FIXED()` | SQL function | Nothing comparable
`FLOAT()` | SQL function | Nothing comparable
`HEX()` | SQL function | `HEX()`; similar, but not identical usage
`INDEX()` | SQL function | `INSTR()` or `LOCATE()`; similar, but not identical syntaxes and meanings
`INDEX` | `USE INDEX`, `IGNORE INDEX` and similar hints are used right after `SELECT`; for example, `SELECT ... USE INDEX` | `USE 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 function | Nothing comparable
`LENGTH()` | SQL function | `LENGTH()`; identical syntax, but slightly different implementation
`LFILL()` | SQL function | Nothing comparable
`LIKE` | Comparisons | `LIKE`; but the extended `LIKE` MaxDB provides rather resembles the MySQL `REGEX`
`LIKE` wildcards | MaxDB supports “%”, “_”, “Control-underline”, “Control-up arrow”, “*”, and “?” as wildcards in `LIKE` comparisons | MySQL supports “%”, and “_” as wildcards in `LIKE` comparisons
`LPAD()` | SQL function | `LPAD()`; slightly different implementation
`LTRIM()` | SQL function | `LTRIM()`; slightly different implementation
`MAKEDATE()` | SQL function | `MAKEDATE()`; new in MySQL 4.1.1
`MAKETIME()` | SQL function | `MAKETIME()`; new in MySQL 4.1.1
`MAPCHAR()` | SQL function | Nothing comparable
`MICROSECOND()` | SQL function | `MICROSECOND()`; new in MySQL 4.1.1
`NOROUND()` | SQL function | Nothing comparable
`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` | SQL function | `PI()`; identical syntax and implementation, but parentheses are mandatory in MySQL
`REF` | Data type | Nothing comparable
`RFILL()` | SQL function | Nothing comparable
`ROWNO` | Predicate in `WHERE` clause | Similar to `LIMIT` clause
`RPAD()` | SQL function | `RPAD()`; slightly different implementation
`RTRIM()` | SQL function | `RTRIM()`; slightly different implementation
`SEQUENCE` | `CREATE SEQUENCE`, `DROP SEQUENCE` | `AUTO_INCREMENT`; similar concept, but different implementation
`SINH()` | SQL function | Nothing comparable
`SOUNDS()` | SQL function | `SOUNDEX()`; slightly different syntax
`STATISTICS` | `UPDATE STATISTICS` | `ANALYZE TABLE`; similar concept, but different implementation
`SUBSTR()` | SQL function | `SUBSTRING()`; slightly different implementation
`SUBTIME()` | SQL function | `SUBTIME()`; new in MySQL 4.1.1
`SYNONYM` | Data definition language: `CREATE [PUBLIC] SYNONYM`, `RENAME SYNONYM`, `DROP SYNONYM` | Nothing comparable
`TANH()` | SQL function | Nothing comparable
`TIME()` | SQL function | `CURRENT_TIME`
`TIMEDIFF()` | SQL function | `TIMEDIFF()`; new in MySQL 4.1.1
`TIMESTAMP()` | SQL function | `TIMESTAMP()`; new in MySQL 4.1.1
`TIMESTAMP()` as argument to `DAYOFMONTH()` and `DAYOFYEAR()` | SQL function | Nothing comparable
`TIMEZONE()` | SQL function | Nothing comparable
`TRANSACTION()` | Returns the ID of the current transaction | Nothing comparable
`TRANSLATE()` | SQL function | `REPLACE()`; identical syntax and implementation
`TRIM()` | SQL function | `TRIM()`; slightly different implementation
`TRUNC()` | SQL function | `TRUNCATE()`; slightly different syntax and implementation
`USE` | Switches to a new database instance; terminates the connection to the current database instance; all subsequent commands are referred to this database instance | `USE`; identical syntax, but does not terminate the connection to the current database
`USER` | SQL function | `USER()`; identical syntax, but slightly different implementation, and parentheses are mandatory in MySQL
`UTC_DIFF()` | SQL function | `UTC_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 function | `VARIANCE()`; new in MySQL 4.1.0
`WEEKOFYEAR()` | SQL function | `WEEKOFYEAR()`; 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.

Anterior |  | Siguiente
Capítulo 16. MySQL Cluster | Inicio | Capítulo 18. Extensiones espaciales de MySQL