Limitaciones de PostgreSQL y MySQL respecto a Oracle en gestión de almacenamiento

Realizando una investigación sobre las limitaciones de PostgreSQL y MySQL respecto a Oracle, pudimos concretar los siguientes puntos:

MySQL

MySQL ofrece límites de almacenamiento sobre tablespaces usando sus motores InnoDB y NDB.

Al igual que en Oracle, podemos asignar al tablespace un tamaño a la extensión (EXTENT_SIZE), tamaño inicial (INITIAL_SIZE) y que sea auto extendible (AUTOEXTEND_SIZE), tal y cómo podemos observar en su sintaxis:

CREATE TABLESPACE tablespace_name
  InnoDB and NDB:
    ADD DATAFILE 'file_name'
  InnoDB only:
    [FILE_BLOCK_SIZE = value]
  NDB only:
    USE LOGFILE GROUP logfile_group
    [EXTENT_SIZE [=] extent_size]
    [INITIAL_SIZE [=] initial_size]
    [AUTOEXTEND_SIZE [=] autoextend_size]
    [MAX_SIZE [=] max_size]
    [NODEGROUP [=] nodegroup_id]
    [WAIT]
    [COMMENT [=] comment_text]
  InnoDB and NDB:
    [ENGINE [=] engine_name]

Consideraciones a tomar de InnoDB

Encontramos la desventaja de no poder asignar una cuota a cada usuario en cualquier tablespace.

Un tablespace en InnoDB creado con CREATE TABLESPACE es asignado como un tablespace general. Dicho tablespace es compartido, similar al tablespace del sistema.

PostgreSQL

Postgres no tiene implementado cláusulas de almacenamiento respecto a Oracle.

Sin embargo, con la función pg_total_relation_size(regclass) se puede controlar el espacio usado por una tabla, incluyendo sus índices y tablas TOAST (The Oversized-Attribute Storage Technique).

CREATE VIEW user_disk_usage AS SELECT r.rolname, SUM(pg_total_relation_size(c.oid)) AS total_disk_usage 
FROM pg_class c, pg_roles r 
WHERE c.relkind = 'r' 
AND c.relowner = r.oid 
GROUP BY c.relowner;

 

Procedimiento y función para controlar el espacion en un Tablespace con PLSQL en PostgreSQL

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .