Rodrigo Fuentealba escribió: > Ahora, para esto tengo dos posibilidades: OID's y byte arrays. En > experiencias como ésta... por tonta que sea la idea de meter un > documento en una base de datos para compartirlo entre varias > aplicaciones (la experiencia me dice que en el sistema de archivos la > cosa no siempre funciona bien porque no existe un fine tunning como el > que se requiere), ¿cuál será mejor, y por qué? sé cómo manipular ambos > tipos de datos, pero desconozco los detalles de las diferencias como > para discriminar, ¿qué me aconsejarían ustedes?
Yo te recomendaria usar bytea. Los "large objects" (LO) tienen la desventaja de que no tienen control de acceso y tienen una API que es totalmente diferente de lo que uno acostumbra a usar en SQL (lo_open, lo_read etc). Cuando quieres hacer alguna cosa en "relacional" quedas muy amarrado de manos. Los bytea tienen la desventaja de que no puedes operar sobre el objeto porcionadamente; por ej. no puedes hacer seek y reemplazar un pedazo. Pero creo que cuando almacenas documentos (PDF, Word, etc), rara vez (lease nunca) haces eso; mas bien lo que haces es crear un objeto totalmente nuevo. La otra desventaja principal es que tienes que escapar los bytes que vayas a insertar y des-escapar cuando los extraigas(*); pero a cambio recibes el beneficio de poder operarlo normalmente con INSERT, SELECT, etc, y construir un mecanismo de "auditoria" puede ser mas sencillo. Por otro lado, en Postgres el uso de bytea esta bastante optimizado por el mecanismo conocido como TOAST. Te recomiendo usar ALTER TABLE tabla ALTER COLUMN columna SET STORAGE EXTERNAL en la columna bytea, de manera que el sistema no trate de comprimir los datos almacenados (generalmente la compresibilidad de esos documentos no es mucha, y es mas rapido el acceso si no tiene que estar comprimiendo/descomprimiendo). (*) la alternativa a escapar/des-escapar es usar una API como PQexecParams, pero si vas a usar PHP creo que eso no esta disponible. En lenguajes razonables puedes hacerlo y es mucho mas eficiente porque los datos binarios pasan directo a la base de datos y no se tiene que gastar memoria en el proceso de escape. Con respecto a la alternativa de almancenar los datos en el sistema de archivos y guardar solo una referencia en la BD, te recomiendo que no lo hagas a menos que el volumen de datos sea muy grande (hablo de decenas de GB). Es muy dificil hacerlo correctamente, sobre todo si nunca lo has hecho, y no hacerlo correctamente lleva a documentos sin referencia y referencias a documentos inexistentes, que son muy incomodos de manejar. -- Alvaro Herrera http://www.advogato.org/person/alvherre "Changing the world ... one keyboard at a time!" (www.DVzine.org) From [EMAIL PROTECTED] Wed Mar 7 14:14:04 2007 From: [EMAIL PROTECTED] (Enrique Herrera Noya) Date: Wed Mar 7 14:15:13 2007 Subject: algunos problemas con postfix In-Reply-To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> El 7/03/07, Andres Pereira <[EMAIL PROTECTED]> escribió: > 2007/3/7, Enrique Herrera Noya <[EMAIL PROTECTED]>: > > 1. en forma aleatoria no llegan algunos mensajes. > > la configuracion es postfix + spamassassin+mysql+postgrey+sasl+clamav > > > > revice todos los log y no veo nada relevante > > alguna sugerencia? > > Puede que los mensajes que no llegan se debe a que son descartados por > ser spam o virus, revisa la configuración del amavisd (por los > encabezados que muestras abajo estás usando esa interfaz). > revisare, pero son email no solo de gamil, hotmail, los que se "pierden", tmabien de empresas... > > 2. se pretende configurar un nuevo servidor desde cero, con una distro > > para servidores > > (esta con ubuntu :-S ), como recupero los email que estan en el > > servidor antiguo? > > llegar y tar , scp, hacia el equipo nuevo? > > Hay que tener cuidado con los permisos también. ok, teniendo ese cuidado se hace o man dd ;-) > > > 3. dig al dominio me arrojo > > correo1.yyyy.cl 600 10 IP1 > > correo2.yyyy.cl 600 10 IP2 > > correo3.yyyy.cl 600 10 IP3 > > > > donde en correo2 esta ldap que lo usan como libreta de direcciones. > > y correo3 solo esta de respaldo cuando se cae correo1 > > > Si correo2 lo usan como libreta, para qué tienes definido el MX? > perdon en correo2 no esta ldap, esta en otro.. > > no es que deberian estar las prioridades diferentes? > > No necesariamente si es que deseas tener un pseudo-esquema de balanceo de > carga. aaaaa, voy entendiendo la configuracion osea puede que los email esten en correo2 y correo3 por lo que deberia ver como configurar pop3 e imap para que rescate los email de los tres servidores ? > > > 4. esta es la cabecera de un email que si llego, > > donde encuentro un doc que me permita entender por que tantos Receivered > > No veo nada raro...el mensaje pasa por varios servidores internos de > google, luego sale por un smtp externo de google, llega a tu servidor > (puerto 25) y ahi lo revisa el amavisd (localhost:10024) y finalmente > inyecta el mensaje al localhost:25 para su entrega... ok, con tu explicacion y releer la cabecera me quedo claro graciax > > -- > Andrés Pereira > > -- http://www.chilelinks.cl/ http://www.decurauma.cl/wendyx Wendyx 1.0