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...
Capacidad Máxima de Almacenamiento de MySql
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.
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.
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
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.
Tipos de cadena binaria
Binary
Varbinary
Blob
Tipos de cadena no binaria
Char
Varchar
Text
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)
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
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.
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
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
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.
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.
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.
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.
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.
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.
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