17. Introducción a MaxDB MaxDB is an enterprise

Anuncio
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 “%”, “_”,
MySQL supports “%”, and “_” as wildcards in
“Control-underline”, “Control-up
LIKE comparisons
arrow”, “*”, 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
Descargar