2008-11-10 14 views
7

Ahora sé que bigint es 2^64; es decir, más átomos que hay en el universo conocido. No debería preocuparme, ya que mi mero cerebro humano simplemente no puede evitar la enormidad de ese número.¿Es lo suficientemente grande como para una tabla de registro de eventos?

Sin embargo, digamos que registre cada cambio en cada categoría, producto y orden en mi sistema, desde el lanzamiento hasta el final de los tiempos. ¿Debería preocuparme por el rendimiento de las escrituras de tabla antes de preocuparme por quedarme sin valores de clave primaria? ¿Debo registrar eventos de diferentes prioridades en diferentes tablas de eventos? ¿Me quedaré sin átomos en un disco duro antes de que me queden sin bigints? ¿Qué tan grande debería dejar que una tabla de registro de eventos aparezca antes de comenzar a archivarla/borrarla?

+2

Por cierto, las estimaciones para los átomos en el universo conocido varían entre 10^50 y 10^70, así que 2^64 (alrededor de 10^20) es mucho más pequeño, incluso un humano tiene más (alrededor de 10^27) átomos;) – schnaader

Respuesta

13

Incluso si cada una de tus entradas solo tuviese 1 byte, 2^64 entradas ocuparía alrededor de 18000000 TB en tu disco duro, así que supongo que no deberías preocuparte por esto.

0

La forma en que manejamos esto es proporcionando una funcionalidad de archivo de registro, que separa la tabla de registro en bases de datos separadas por año, lo que nos permite restablecer la semilla de identidad en nuestra tabla LogEvent.

También tenemos diferentes tablas de registro, aunque solo dos principales.

0

Es muy poco probable que alguna vez se quede sin valores de clave primaria. Sin embargo, es posible que deba considerar cómo desea acceder a la tabla de registro para recuperar datos. Use esto para informar cuándo debe archivar o limpiar los datos. Si los datos de registro se leen con frecuencia, piense en agregar índices para mejorar el rendimiento de lectura, pero tenga en cuenta que los índices deben mantenerse para cada registro agregado.

2

"¿Qué tan grande debo dejar que obtenga una tabla de registro de eventos antes de comenzar a archivarla/borrarla?"

Nunca borre los registros de eventos: la información tiene un valor significativo.

Sin embargo, cuando un gerente insiste en que es necesario un archivo, puede mostrar el costo de almacenamiento frente al costo de su tiempo para (a) pensarlo, (b) obtener una segunda y tercera opinión, y luego (c) escriba un procedimiento para archivar registros de registro.

El costo de almacenamiento está cayendo en picado. Su tiempo se gasta mejor en CUALQUIER COSA que no sea purgar registros de registro.

En pocas palabras: tiene permiso para dejar de retorcerse las manos. Está todo bien. No estás cometiendo un error fundamental.

5

Si su aplicación agrega un registro a la tabla una vez cada millonésima de segundo, se ejecutará durante más de quinientos mil años antes de que se quede sin llaves.

Cuestiones relacionadas