En este grupo En todos

Grupo de Mysql



Capacidad Máxima de Almacenamiento de MySql

jhon
Webmaster basico aula matriz
Escrito por Jhon Valderrama
el 28/04/2010

Quisiera saber cuál es la capacidad máxima de almacenamiento de una Base de Datos de MySql, teniendo en cuenta el tipo de datos que se utilicen y también cuál es el tamaño máximo para importar datos en mysql...

Fernando Andrés Pérez Alarcón
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 07/05/2010

John, la capacidad maxima de almacenamiento en tablas mysql con motor de almacenamiento myisam u otro varía en la plataforma del sistema operativo:

Por ejemplo:

Una tabla de una base de datos mysql con motor de almacenamiento tipo myisam en windows podrá almacenar datos hasta de 2 GB

Esta misma tabla en plataforma unix o linux podrá almacenar datos hasta 4 GB.

Nota: esta informacion es a nivel de tabla por cada una segun su sistema operativo.


Fernando Andrés Pérez Alarcón
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 07/05/2010

Recuerde que al crear una tabla puede incluir una o varias columnas diferentes. Al crear una tabla mediante CREATE TABLE, debe especificar un tipo de datos para cada una de las columnas. Un tipo de datos es más específico que una categoría general como número o cadena. Para una columna, como por ejemplo SMALLINT o VARCHAR (32). Esto a su vez determina cómo procesa MySQL dichos valores.

Por ejemplo John:

Con valores numéricos, puede almacenarlos con una columna numérica o de cadena pero MySQL los procesará de forma diferente en función de la opción elegida. Los tipos de datos tienen varias características:

- el tipo de valores que puede representar.

- cuánto espacio ocupan los valores.

- si los valores son de logitud fija (todos los valores de ese tipo ocupan la misma cantidad de espacio) o de longitud variable (el espacio depende del valor almacenado).

- cómo compara y ordena MySQl los valores de ese tipo.

Si el tipo se puede indexar.

Fernando Andrés Pérez Alarcón
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 07/05/2010

En principio para considerar el almacenamiento de datos en tablas mysql se debe optar por elegir el tipo de dato preciso.

TIPOS DE DATOS NUMERICOS: (M = Anchura máxima)


TINYINT 1 byte

SMALLINT 2 bytes

MEDIUMINT 3 bytes

INT 4 bytes

BIGINT 8 bytes

DECIMAL (M,D) Varía en función de M y D

FLOAT (M,D) 4 bytes

DOUBLE (M,D) 8 bytes

BIT (M) Varía en función de M

Fernando Andrés Pérez Alarcón
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 07/05/2010

TIPOS DE DATOS DE CADENA:

M = Representa la longitud máxima de valores de columna (en bytes para cadenas binarias y en caracteres para no binarias).

L = Representa la longitud de un valor en bytes. W es el número de bytes necesarios para el caracter mas ampliio del conjunto de caracteres. Los tipos BLOB y TEXT tiene diversas variantes que se distinguen por el tamaño máximo de los valores que pueden almacenar.

^ = esto siginifica exponente para la explicación siguiente.

ESPECIFICACION DE TIPO:TAMAÑO MAXIMO:ALMACENAMIENTO

BINARY (M):M bytes:. M bytes

VARBINARY (M):. M bytes: L + 1 ó 2 bytes

CHAR (M):M caracteres:. M ¥ w bytes

VARCHAR (M):M caracteres:. L + 1 ó 2 bytes

TINYBLOB:2^8-1 bytes: L + 1 bytes

BLOB:2^16-1 bytes:L + 2 bytes

MEDIUMBLOB:. 2^24-1 bytes:. L + 3 bytes

LONGBLOB:2^32-1bytes:L + 4 bytes

TINYTEXT:. 2^8-1 caracteres:L + 1 bytes

TEXT:2^16-1 caracteres:L + 2 bytes

MEDIUMTEXT:2^-24-1 caracteres:L + 3 bytes

LONGTEXT:2^32-1 caracteres:. L + 4 bytes

ENUM('valor1','valor2',..... ):65. 535 miembros:1 ó 2 bytes

SET('valor1','valor2',..... ):64 miembros:1, 2, 3, 4 ú 8 bytes


Algunos tipos contienen cadenas binarias (de bytes) y otros no binarias (de caracteres).

Por eso el tamaño máximo indicado en la explicación anterior se expresa en número de bytes por valor para cadenas y número de caracteres para las no binarias.

Por ej: BINARY (20) almacena 20 bytes, mientras que CHAR (20) contiene 20 caracteres lo que requiere 20 bytes para caracteres de varios bytes.



Fernando Andrés Pérez Alarcón
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 07/05/2010

Tipos de cadena binaria

Binary

Varbinary

Blob


Tipos de cadena no binaria

Char

Varchar

Text

Fernando Andrés Pérez Alarcón
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 07/05/2010

Bueno John para la importación de datos en MySQL, se debe configurar el php. Ini del servidor apache (carpeta apache) y no el php. Ini (no carpeta php). Por ejemplo:

Tuve un caso de importar datos masivos y de gran volumen cada uno a un sistema especifico que solo se alimenta por cargues de archivos planos (CSV) de 6 sistemas externos que exportaban estos archivos planos en CSV.

Estuve consultando y foreando por internet, hasta que obtuve el tips para esto.

En mi caso yo utilizo el wampserver (apache, php y mysql) y trabajo en localhost para el desarrollo.

Esta es la direccion donde se encuentra el php. Ini del apache:

C:\wamp\bin\apache\Apache2.2.11\bin

Abre este php. Ini y encuentra la linea siguiente:

Upload_max_filesize = 2M

(por defecto el cargue esta con cap. Max de 2 M puedes aumentarlo)

Post_max_size = 100M

Esta otra puedes modificarla yo la tengo en 100 M

Y encuentra este parrafo:


;;;;;;;;;;;;;;;;;;;

; Resource Limits ;

;;;;;;;;;;;;;;;;;;;


Max_execution_time = 30 ; Maximum execution time of each script, in seconds

Max_input_time = 60 ; Maximum amount of time each script may spend parsing request data

;max_input_nesting_level = 64 ; Maximum input variable nesting level

Memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)


NOTA: es lógico que si modificas el tamaño del upload o cargue tambien tienes que modificar el tiempo maximo de ejecucion de este mismo y la memoria limite para que no te lleves sorpresas con el rendimiento e integridad.

Esto si te lodejo a tu gusto practica, así se aprende mejor.

Espero haberte comprendido con el tema de este debate, me gustaría mucho invitar a todos los miembros a retroalimentar este debate es muy interesante.

Saludos,
Fernando A. Pérez A.
Administrador del Grupo MySQL

Fernando Andrés Pérez Alarcón
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 07/05/2010

Ahhh otra cosa o más bien otro factor para el rendimiento de cargue en tu BD que puede corroborar es implementando por ejemplo:

En mi caso yo programo más con PHP pero tambien lo complemento con JavaScript y AJax, este último es muy poderoso para transmisión de datos cliente-servidor.

Saludos

Fernando Andrés Pérez Alarcón
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 07/05/2010

En conclusión hay que saber definir con presición los tipos de datos y su longitud aproximada en las tablas, para que la base de datos quede adecuada con lo necesario para el procesamiento de MySQL.

Edgar Guanoluisa
Analista de sistemas quito
Escrito por Edgar Guanoluisa
el 14/05/2010

Interesante mi amigo, estoy aprendiendo mysql, quiero que porfa me indiques una direccion en donde puedo apender mysql. Con visuallfoxpro.-
eternamente agradeciso.
saludos
edgarg.
quito-ecuador

Fernando Andrés Pérez Alarcón
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 14/05/2010

Amigo Edgar


La verdad yo solo administro MySQL con PHP, la verdad nunca he consultado visual fox pro.

Lo siento


Saludos


Att: Fernando Pérez

Alexander Serrano
Costa Rica, Costa Rica
Escrito por Alexander Serrano
el 18/05/2010
Hola a todos,
la capacidad del tamaño de la bd en MySQL dependera de la capacidad del
sistema operativo del servidor:

MySQL 4.x
Win32 w/ FAT/FAT32 2GB/4GB
Win32 w/ NTFS 2TB
Linux 2. 2-Intel 32-bit 2GB (LFS: 4GB)
Linux 2. 4+ (usando ext3 filesystem) 4TB
Solaris 9/10 16TB
MacOS X w/ HFS+ 2TB
NetWare w/NSS filesystem 8TB

MySQL5. 0 usando el motor de almacenamiento MYISAM, el maximo tamaño
de las tablas es de 65536 terabytes. Por lo tanto el tamaño maximo para
las bases de datos en MYSQL usualmente los determinan los limites de
tamaño de ficheros del sistema operativo, y no por limites internos de
MYSQL.

El motor de almacenamiento InnoDB permite crear tablas de hasta 64 TB.
Fernando Andrés Pérez Alarcón
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 18/05/2010

Es cierto pero es recomendable saber elegir los tipos de campos en la bd para optimizar y precisar el ancho de las tablas, como comenté anteriormente.


Gracias por profundizar en los tamaños de los ficheros de cada sistema operativo.




Edwin Yamith Olaya Mantilla
Ingeniero de sistemas fundacion univer...
Escrito por Edwin Yamith Olaya Mantilla
el 26/05/2010

Fernando buen dia, cuando hablas de como MYSQL opera el dato dependiendo del tipo de dato elegido esto influye directamente el la velocidad de la transaccion realizada verdad?
Osea hace mas livianas o pesadas las consultas?
en este orden de idea tu recomendacion es vital al momento de diseñar una DB.

Adicional segun el motor que se use la base de datos permite integridad referencial o no verdad? , pues usualmente he trabajado la que me da por defecto y quisiera sacarle mas provecho.

Fernando Andrés Pérez Alarcón
Ingeniero de sistemas fundacion univer...
Escrito por Fernando Andrés Pérez Alarcón
el 31/05/2010

Es cierto para mayor perfomance, velocidad en transacción y que la consulta sea mas liviana empleando el tipo de dato adecuado y su longitud precisa.

Carlos Vanegas
Lic. en administracion de empresas con...
Escrito por Carlos Vanegas
el 02/06/2010

Que interesante aprender sobre este gestor, podria decirse que el limite lo pone el tipo de equipo del cual se disponga, y en cierto sentido las limitantes de programación que posea cualquier programador.
Almenos programando desde VisualFoxpro no he encontrado grandes limitantes a excepción de las cadenas de insercion (Insert) a la base de datos de MySql ya que este lenguaje no permite envios de cadenas con mas de 29 campos, pero que se pueden resolver facilmente disparando sentencias sqls de actualizacion (Update) o con transacciones no a tablas ISAM sino a tablas de tipo InnoDB.
Por lo demas esta claro que si no hay un buena construccion de bases datos la vida sera mucho mas dificil a la hora de programar.

Cesar Cip
Santiago, Chile
Escrito por Cesar Cip
el 17/08/2010

Hola que tal estimados soy nuevo en este lugar miren mi consulta la pongo en este lugar ,no encontre donde se hablara de este tema en otro sitio.

Miren la consulta es la siguiente tengo el 2003 server sp2
existe la posibilidad de darle cuotas, un limites de capacidad a carpetas compartidas.

Este server 2003 lo ocupo solo de servidor de archivos en un grupo de trabajo. Si me pueden ayudar con esto graciass.

Augusto Cabrera
Ingenieria de sistemas universidad del...
Escrito por Augusto Cabrera
el 26/07/2011

Hola Amigos, Necesito me ayuden con lo siguiente.-
Tengo un server con S.O. AIX 5. 3 y BD Mysql 5.0.51 mis tablas estan con mysam y tengo una en espcial que se llena de registros de conexiones y es una tabla de almancenamiento pero se para a las 2GB , segun lei en las nuevas versiones de linux y mysql esta ya no es una restriccion pero no se como hacer para que el almacenamiento sea mas de las 2GB ya que me causa varios problemas esta restriccion.

Gracias por su ayuda