RENAMING MNESIA TABES
Mon Dec 16 11:51:54 CET 2002
We have a requirement to export some historical/log data from MNESIA into
ORACLE. The data in MNESIA table is short-lived, that is, once the data has
been exported, the MNESIA table is recreated (we find it much faster to
recreate a table than to use mnesia:clear_table/1).
At the time, the easiest way to achieve this was to run a single process
that will receive log messages and store them into MNESIA table. Once a day,
say, at midnight, the same process would export data into CSV file, whilst
any message "posted" during this time will remain in the queue and will be
inserted once the export was completed... Some external process uploads such
a CSV file into the ORACLE.
This process has worked just fine so far, however, as it usually happens, we
have underestimated the traffic volumes, and I am not sure if the process
will cope with the load -- the export facility that I wrote is quite a slow
one. I've been looking for a simple work-around, i.e. if the table can be
renamed, I would have all the time in the world to do the export, etc.
Well, it's a back to the drawing board for me, I guess :-(
----- Original Message -----
From: "Chandrashekhar Mullaparthi"
To: "'Valentin'" <valentin@REDACTED>; <erlang-questions@REDACTED>
Sent: Monday, December 16, 2002 10:28 AM
Subject: RE: RENAMING MNESIA TABES
> There isn't a way to rename a table. You'll have to create a new table,
> the contents and delete the old table. But why do you want to do such a
> thing? What is the problem you're tackling?
> -----Original Message-----
> From: Valentin [mailto:valentin@REDACTED]
> Sent: 15 December 2002 13:14
> To: erlang-questions@REDACTED
> Subject: RENAMING MNESIA TABES
> Any idea how to rename a mnesia table? Consider the following scenario:
> 1) process P1 writes to table T1
> 2) table T1 is renamed to T2
> 3) process P1 fails to write while T1 is not available (new messages
> are accumulated in P1's queue while P1 retries to write to T1)
> 4) a new T1 is created
> 5) process P1 writes to T1
> I am worried that something like this is not possible, as it would
> complicate transactions, etc. Hope that I'm wrong, as it would make my
> so much simpler.
> I've been looking at fragmentation, but that doesn't seem to be a simple
> solution for (I hope) a simple problem.
> NOTICE AND DISCLAIMER:
> This email (including attachments) is confidential. If you have received
> this email in error please notify the sender immediately and delete this
> email from your system without copying or disseminating it or placing any
> reliance upon its contents. We cannot accept liability for any breaches
> confidence arising through use of email. Any opinions expressed in this
> email (including attachments) are those of the author and do not
> reflect our opinions. We will not accept responsibility for any
> made by our employees outside the scope of our business. We do not
> the accuracy or completeness of such information.
More information about the erlang-questions