On Jan 17, 2007, at 9:52 , k.novo wrote:
Hello,
I have strange question and idea.
Use PostgreSQL in embedded PC (with Linux) as data storage for
collection measure data.
Problem is in limited Write cycle in Compact Flash HDD (about 100.000)
My idea is collect data to temporary table in RAM (RAM Disk) and
once day rewrite all collect data to main table to Compact Flash.
Question is. How set PostgreSQL and according as it is possible
with PostgreSQL?
Is possible minimize soever Write entry to PostgreSQL files on CF?
Possibly, recommended another SQL server.
What I do is create a RAM file system and run the postgresql db in
it. Every 30 seconds, the ramfs is synced to the CF. I can only get
away with this because the data is mostly transient in nature, i.e.
if the box fails, the data is useless (network appliance). I sync
only to maintain some customer configuration in the database. In my
testing, the db manages to recover on failure. If it doesn't, the
contingency plan is to load in a default configuration; customers can
make backups.
It's not beautiful, but it works- also it's obviously an order of
magnitude faster than fsyncing with CF. Unfortunately, a lot of data
ends up 3 times in RAM:
1) fs cache of db on CF
2) ram fs
3) embedded application
If someone has a better way to avoid CF writes, I'm all ears. Note
that any recent CF will do wear-leveling and give you more than
100,000 (more like a million) writes per sector and they are
constantly improving, so this may all be moot soon- or so I hope. For
this type of application, I wish postgresql offered global temp tables.
čau.
-M