Pregunta

Tamaño

En el mismo conjunto de datos, la mayoría de datos de texto, ¿cómo los datos (tabla de índice +) de PostgreSQL en comparación con la de MySQL?

  • PostgreSQL usa MVCC, eso sugeriría su tamaño de datos sería más grande

  • En esta presentación, el sitio de blogs más grande de Japón habló de su migración de PostgreSQL a MySQL. Una de las razones para alejarse de Postgresql fue que el tamaño de datos en PostgreSQL era demasiado grande (p 41).: de Migración PostgreSQL a MySQL en Cocolog, más grande de Japón Blog Comunidad

  • PostgreSQL tiene la compresión de datos, por lo que debería hacer que el tamaño de datos más pequeño. Pero MySQL plugin también tiene compresión.

¿Alguien tiene alguna experiencia real de cómo los tamaños de datos de PostgreSQL y MySQL se comparan entre sí?

¿Fue útil?

Solución

  • MySQL usa MVCC así, solo cheque InnoDB. Pero, en PostgreSQL se puede cambiar el factor de relleno para hacer el espacio para futuras actualizaciones. Con esto, se puede crear una base de datos que dispone de espacio para los datos actuales, sino también para algunos futuras actualizaciones y eliminaciones. Cuando autovacuum y CALIENTE hacen sus cosas derecha, el tamaño de su base de datos puede ser estable.
  • El blog es acerca de las versiones antiguas, muchas las cosas han cambiado y PostgreSQL hace un trabajo mucho mejor en compresión como lo hizo en los viejos tiempos.
  • La compresión depende del tipo de datos, configuración y la velocidad también. Tú que prueba para ver cómo está funcionando para usted la situación.

I hizo un par de conversiones de MySQL a PostgreSQL y en todos estos casos, PostgreSQL fue de aproximadamente 10% más pequeño (MySQL 5.0 => PostgreSQL 8.3 y 8.4). Este 10% se utiliza para cambiar el factor de relleno en las mesas más actualizados, éstos se establecen en un factor de relleno 60 a 70. La velocidad era mucho mejor (no hay más problemas con más de 20 usuarios concurrentes) y el tamaño de los datos era estable, así, sin ir MVCC fuera de control o de vacío a muy atrás.

MySQL y PostgreSQL son dos bestias diferentes, PostgreSQL es todo acerca de la fiabilidad donde MySQL es populair.

Otros consejos

Ambos tienen sus requisitos de almacenamiento en su respectiva documentación:

MySQL: http://dev.mysql.com /doc/refman/5.1/en/storage-requirements.html
Postgres: http://www.postgresql.org/docs/current/interactive/ datatype.html

Una rápida comparación de los dos no muestran ningún flagrantes "PostGres zomg requiere 2 megabytes para almacenar un campo de bits" diferencias de tipo. Supongo que Postgres podría tener una mayor sobrecarga de metadatos de MySQL, o tiene que extender sus archivos de datos en trozos más grandes, pero no puedo encontrar nada obvio que Postgres "residuos" espacio para el que migrar a MySQL es la cura.

Me gustaría añadir que para las grandes tiendas de columnas, PostgreSQL también se aprovecha de comprimirlos usando un "miembro bastante simple y muy rápida de la familia de técnicas de compresión LZ"

Para leer más sobre esto, echa un vistazo a http: // www .postgresql.org / docs / 9,0 / static / almacenamiento-toast.html

No es más bien baja de nivel y probablemente necesario conocer, pero ya que usted está usando un blog, usted puede beneficiarse de ella.

Sobre índices,

MySQL almacena los datos whithin el índice de lo que los hace enorme. Postgres no lo hacen. Esto significa que el tamaño de almacenamiento de un índice de b-árbol en Postgres no depende del número de la columna que se extiende por o que datos de tipo de la columna tiene.

PostgreSQL también soporta índices parciales (por ejemplo, cuando el estado = 0), que es una característica muy potente para evitar la construcción de índices lo largo de millones de filas cuando sólo unos pocos cientos se necesita.

Dado que usted va a poner una gran cantidad de datos en PostgreSQL usted probablemente encontrará que sea práctico para ser capaz de crear índices de bloqueo debe de existir la tabla.

Enviado desde mi iPhone. Lo siento por la mala ortografía y la falta de referencias

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top