Go Back   El UNIX y Linux Foros > Arriba Foros > Programación
.
del sitio de Google



Programación Plantear preguntas acerca de C, C + +, Java, SQL, y otros lenguajes de programación aquí.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 06-29-2009
Usuario Registrado
 

Fecha: abril 2009
Puestos: 38
Mejor forma de archivo de volcado de metadatos para: cuándo y por quién?

Hola,

mi solicitud (en realidad, la biblioteca) un archivo de índices de la producción de muchos GB tablas (arreglos de offset y la longitud de los datos indexados) para su posterior reutilización. Los cuadros producidos son también bastante grande, tan grande que se quedó sin memoria, en mi proceso (3GB límite), cuando la indexación de más de 8 GB de archivo o algo así. Aunque podría tenedor otro proceso para evitar el límite de tamaño de memoria, esto no soluciona el problema, así que me gustaría volcar las tablas en un archivo a fin de liberar la memoria, y evitar volver a indexar el mismo archivo más de una vez.

Tenga en cuenta que en la actualidad, los cuadros producidos se mantienen en la memoria en una sola lista, compartida con otro hilo que la utilizan para producir una lista de los datos filtrados. Por lo tanto, prefiere no cambiar este esquema. El otro hilo sólo acceder a la lista una vez que el expediente ha sido indexada.

Ahora, las preguntas que yo estoy pidiendo son:

- ¿Cuándo y cómo es mejor momento para volcar las tablas en un archivo?

Un cuadro como el dumping que se llena no suena muy eficiente para mí. Voy a mantener en la memoria nada? La lista sería siempre vacía? Si decido mantener N tablas en la memoria, y volcar todos los N, ¿cómo puedo evitar hacer un cheque por la cantidad de cuadros que he
en la memoria en cada ciclo?

- ¿Quién debe volcar los metadatos producidos a archivo? Diferentes hilo? Mismo hilo que el índice de datos? También me gusta no para producir los metadatos de archivos cuando el archivo es procesado menos de un giga (pequeño archivo de caso), pero al mismo tiempo no quisiera complejo el código de la indizador, que ahora es bastante simple: analizar, encontrar los datos, crear una tabla de entrada, agréguela. Si la tabla está llena, crear otra y añadirlo a la lista.

- Digamos que he descubierto (gracias a usted) la mejor manera (en mi caso) para volcar los metadatos. ¿Qué debo usar para cargar los datos con el fin de permitir que el otro hilo
el índice de filtración de datos sin cambiar radicalmente la forma en que funciona ahora (por ejemplo, a través de la lista)?

Una solución que viene a mi mente, que evitaría drastical un cambio en mi esquema es el de crear un "gestor de la lista", que proporcionan una interfaz para agregar y recuperar elementos de la lista. Esta entidad (o bien un hilo o un proceso) se ocuparía del mantenimiento de algunos datos en la memoria (lista) y algunas otras en el archivo.

Por favor comparta conmigo sus conocimientos y experiencia! :-)

Gracias de antemano.

Recuerdos,
S.
Enlaces patrocinados
  #2 (Enlace permanente)  
Old 06-30-2009
otheus's Avatar
otheus otheus is offline Forum Advisor  
Moderador ala Modo
 

Fecha: febrero 2007
Lugar: Innsbruck, Austria
Mensajes: 1.906
Guau, qué pregunta. ¿Eres un nuevo sistema de base de datos de ingeniería?
Cita:
- ¿Cuándo y cómo es mejor momento para volcar las tablas en un archivo?
-En poco menos de gigabytes límites. En realidad, 256 kB bloques también funcionan muy bien.
Cita:
- ¿Quién debe volcar los metadatos producidos a archivo? Diferentes hilo?
Si es en otro hilo, ¿cuál es el punto? Usted no puede liberar la memoria si el otro todavía tiene un hilo de bloqueo sobre el mismo.
Cita:
¿Qué debo usar para cargar los datos
No creo que la responsabilidad a menos que uno realmente conoce a su arquitectura de software existente.
  #3 (Enlace permanente)  
Old 07-08-2009
Usuario Registrado
 

Fecha: abril 2009
Puestos: 38
Cita:
Publicado originalmente por otheus View Post
Guau, qué pregunta. ¿Eres un nuevo sistema de base de datos de ingeniería?
Nope. Estoy tratando de escribir una aplicación lo más eficaz posible, que hay índices de volcado de la tabla, y me gustaría aprender lo más posible de esta experiencia.

Cita:
Publicado originalmente por otheus View Post
-En poco menos de gigabytes límites. En realidad, 256 kB bloques también funcionan muy bien.
A qué te refieres a ejecutar un fwrite de un buffer de 256KB? Actualmente tengo una lista donde cada elemento (véase el cuadro) es una matriz N de la entrada, por un total de 4 KB de tamaño por conjunto, y volcado de todas las mesas a la vez con un solo fwrite.

Cita:
Publicado originalmente por otheus View Post
Si es en otro hilo, ¿cuál es el punto? Usted no puede liberar la memoria si el otro todavía tiene un hilo de bloqueo sobre el mismo.

No creo que la responsabilidad a menos que uno realmente conoce a su arquitectura de software existente.
Básicamente un hilo (A) el archivo de índices, mientras que otro hilo (B) espera a que termine, a fin de utilizar el producido cuadros (que se usa para mantener en la memoria) para procesar los datos en el archivo. El problema es que el archivo indexado son enormes (~ 30 GB) y producen más de 4 GB de datos, que no puede mantener en la memoria (límite de 3GB por proceso), con el fin, en un momento u otro tengo que volcar los datos producidos en un archivo a fin de liberar la memoria.

El otro hilo (B), sobre la base de una bandera, o bien leer las tablas del archivo o la lista en la memoria.

Gracias por su ayuda,
S.
  #4 (Enlace permanente)  
Old 07-08-2009
otheus's Avatar
otheus otheus is offline Forum Advisor  
Moderador ala Modo
 

Fecha: febrero 2007
Lugar: Innsbruck, Austria
Mensajes: 1.906
Yo no puedo ayudar a otras que citar una vieja máxima de diseño de software:

Cita:
no reinventar la rueda
  #5 (Enlace permanente)  
Old 07-08-2009
Usuario Registrado
 

Fecha: abril 2009
Puestos: 38
Cita:
Publicado originalmente por otheus View Post
Yo no puedo ayudar a otras que citar una vieja máxima de diseño de software:
¿Quieres decir que debería usar una base de datos para la celebración de las mesas, como sqlite?
  #6 (Enlace permanente)  
Old 07-08-2009
otheus's Avatar
otheus otheus is offline Forum Advisor  
Moderador ala Modo
 

Fecha: febrero 2007
Lugar: Innsbruck, Austria
Mensajes: 1.906
Que la base de datos depende principalmente de la forma en que muchos indexable y únicas columnas que tienen, en la proporción de lectores a escritores. sqlite? Jajaja. Estaba pensando más en la línea de MySQL o BerkelyDB / Sleepycat PP.
  #7 (Enlace permanente)  
Old 07-08-2009
Usuario Registrado
 

Fecha: abril 2009
Puestos: 38
Cita:
Publicado originalmente por otheus View Post
Que la base de datos depende principalmente de la forma en que muchos indexable y únicas columnas que tienen, en la proporción de lectores a escritores. sqlite? Jajaja. Estaba pensando más en la línea de MySQL o BerkelyDB / Sleepycat PP.
Es por eso que no desea utilizar una base de datos. El trabajo en cuestión, y la dependencia producida, no vale la pena que en mi caso (en mi humilde opinión).

Sólo tengo un escritor, y un lector.

Los datos se escriben secuencialmente, y nunca modificada. Write Once, Read Many.

Una solución ad hoc que pensé sería mi mejor manera de ir.

Le agradezco su reflexión sobre este tema.

Gracias,
S.
Enlaces patrocinados
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Apagado


Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Cómo añadir metadatos a las imágenes digitales de la línea de comandos Linux Bot UNIX y Linux Noticias RSS 0 09-19-2008 03:30 PM
Hachoir metadatos 1,2 (por defecto sucursal) Linux Bot Comunicados de prensa de Software - Noticias RSS 0 09-03-2008 08:30 PM
Sin embargo, otro de los metadatos Inyector FLV 1,4 (por defecto sucursal) Linux Bot Comunicados de prensa de Software - Noticias RSS 0 05-25-2008 10:10 AM
Sin embargo, otro de los metadatos Inyector FLV 1,3 (por defecto sucursal) Linux Bot Comunicados de prensa de Software - Noticias RSS 0 04-27-2008 05:30 PM
ayuda, ¿cuál es la diferencia entre core dump volcado y el pánico? Aileen UNIX for Dummies Preguntas y Respuestas 1 06-11-2001 09:08 PM



Todas las horas son GMT -4. La hora es 04:14 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Content Copyright © 1993-2010. Toda la Administración de Derechos de Reserved.Ad por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0