Community mailing list archives

Re: About Attachment File Location (again)

- 02/02/2015 21:05:41
I regret the best theorical solution is rarely the default in Odoo. Practicality 
is always dependent on the context and you should rather let people choose what 
is practical for them.  Hopefully it's easy to migrate data from the default 
storage to large objects.

> LOBs:
> - transcationals

« transactional » means much more than a single word

LOBs also :

- are easier to setup
- are more reliable
- are replicable
- are consistent  (and not "eventually" consistent...)
- can benefit from postgresql tools regarding backups, replication, etc.

> but
> - bloat the replication stream

You need to transfer the file anyway. At least, there is only one stream to 
manage. No need to set up an rsync or anything else.
Depending on the type of clients, saving binaries to database may be not acceptable at all. I have a client who is a media house and 90% of their files are several hundreds MB in size. One of their primary requirements is to have these files backup and accessible on their NAS-RAID. If the files are saved in the database, it would incur unnecessary database overhead every time the files need to be accessed or manipulated. 

For instance, we needed to generate previews and thumbnails for each of the known types. We also need to add watermark on-the-fly. These type of operations are easier and faster when files are saved on local filesystem.

Having these binaries saved on local filesystem also benefit from quicker streaming when served via web server such as nginx.

> - esay to browse by a human

I'm not sure humans are good at browsing such SHA1 trees :

│   ├── 57
│   │   └── 57d4a8c7b652d6928d791c458cb04a246e3fb1ba
│   ├── dc
│   │   └── dcf00aacce882bbfd117c0277e514f829b4c5bf0
│   └── ef
│       └── ef2c882a36dbe90fc1e7e28d816ad1ac1464cfbb
└── v8
     ├── 35
     │   └── 358d08bafbecf102728c217bcc3eb0a24647443c
     ├── 36
While I agree these are not human readable, I don't think it is hard too to derive another filestore that overrides SHA1 filename with actual file name.