I have been running Bacula for the past two weeks and my File table is already 1.2GB.

I’m already worried of how much its going to grow in the coming months…

Yes I have a lot of files and yes I did run the optimize table. The problem is in the design.

 

So here’s what I think would help.

 

To

 

alter  table File TYPE=MERGE UNION=(File_cur)

 

 

In this case, The File table would be a link that would point to a list of tables in the following file:

 

-bash-2.05b# cat /usr/local/mysql/data/test/File.MRG

File_cur

File_jan

File_feb

File_march

File_april

File_you_get_the_point

 

In the above situation, when you do a select on File, you are doing a select on all tables in the File.MRG

File. However, when you are inserting, you are inserting only into File_cur. Therefore, as your File_cur table grows,

You can simply move it to File_date, add File_date to the MRG file and recreate a blank File_cur.

You could even have a shell script do a monthly rotation of your File table.

 

I couldn’t mention all the possible benefits of the above change in Bacula given mysql is the primary db solution everyone uses.

Few of the benefits would be:

 

  1. If one a table goes bad, you are only repairing that specific table and not a gigantic table of 10+gb size
  2. Any repair or maintenance work won’t take ages
  3. Increase Bacual startup and overall performance…
  4. It would remove a weak point in Bacula compared to other enterprise systems…I would drop bacula if I didn’t have this solution and didn’t know how to do it.

 

I will probably modify the code and do this for myself but I don’t see why this is not done for Bacula community.

 

-B

 

 

 

 

 

 

 

Reply via email to