Go Back   vb.org Archive > Community Discussions > Forum and Server Management
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #21  
Old 07-31-2013, 05:42 PM
joshskeety joshskeety is offline
 
Join Date: May 2004
Location: Virginia
Posts: 139
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It astounds me that VB hasn't thought of this yet..

I saw one VB admin just say.. "Why not move everything to an archive forum (meaning add another forum to your forum called archive)." And I was like.. REALLY? So the vb post table stays JUST as large if you do that, what have you archived? Nothing..

I actually brought this to their attention a few years ago and was basically laughed at. I had nearly a 4 gig post database that made backing up the forum impossible, made searching posts horrible, any repair to the database took HOURS. I am a Systems Engineer and EVERY system we use including just PST's have an archive or some way to relieve a database. This is typical in almost anything that uses a SQL database backend.. Why VB hasn't come up with an easy solution or why no hack has been created to do this is beyond me.

The solution is easy in my mind. Allow a connection to a SECOND database and set up a VB cron job automatically (like in the options section) to 1 in the morning, or something similar to move posts from (X) days from one database to the other. Allow the users table to access that database and use VB Search function to pull up those archives. That way you keep your main database at a minimum, backing up is a cinch, your archive you can backup like once a month MAYBE. Your MYSQL runs better, your forum runs better and repairing or optimizing your tables take 2 minutes rather than 2 hours..

Really, this is something that should of come standard on like VB version 2. The fact that there isn't even a MOD just astounds me.. My forum is pretty big and massive, but what about guys who most likely have post tables that are 20-50 Gig in size.. How do they do it?

I know my solution was to piss off all my users and deleted all our posts from 2004 until 2010.. It was a damn shame to lose all of them, my statistics got all screwed up, the users can't go back and find a post. We had 3 GREAT users who passed away and we couldn't go back to their posts..

If I knew how to code, I would have made this 7 years ago..
Reply With Quote
  #22  
Old 07-31-2013, 07:42 PM
raywjohnson's Avatar
raywjohnson raywjohnson is offline
 
Join Date: Feb 2007
Location: Las Vegas
Posts: 73
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The issue with a large MySQL table is when a new record is added (i.e. the table it written to). The table has to be locked before the new record is added. This takes memory and processor power to accomplish.

Reading data from a table is quick and easy (not nearly as memory or processor intensive).

Moving old records (thread/posts) to a second table (that is read only) allows your active table (read/write) to be small, and your archive table (read only) to be as large as you need.

Also, the use of Sphinx Search will make searching the large table simple (and very fast).

It is not the optimal solution, but for those of us on a budget (and cannot afford to pay for additional MySQL servers w/huge amounts for RAM), this works well.

The large table is still unwieldy for many normal operations. A better solution would be to have a table for every year of threads and posts. Or just divide it by size. Say, 1GB max per archive table.

Since I set this up, my forum and server run smooth and efficient. Even as the archive table has grown to 7GB+.

--RayJ
Reply With Quote
  #23  
Old 07-31-2013, 08:23 PM
Zachery's Avatar
Zachery Zachery is offline
 
Join Date: Jul 2002
Location: Ontario, Canada
Posts: 11,440
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Actually, that's not an issue with MySQL tables, that is an issue with MySQL tables in the MyISAM format. Innodb has row level locking.

The large post table isn't a big deal.
Reply With Quote
  #24  
Old 07-31-2013, 08:39 PM
raywjohnson's Avatar
raywjohnson raywjohnson is offline
 
Join Date: Feb 2007
Location: Las Vegas
Posts: 73
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes. Thanks!

I forgot to mention I was talking about MyISAM tables.

When I first looking into changing to Innodb, it required a prohibitive about of RAM (as far as cost goes). I think that has changed, especially with cloud servers, and the cost is now very reasonable. So even for large multi-gigabyte tables, you can afford the RAM needed to run Innodb.

--RayJ
Reply With Quote
  #25  
Old 07-31-2013, 10:40 PM
AusPhotography's Avatar
AusPhotography AusPhotography is offline
 
Join Date: Nov 2007
Location: Hobart & Adelaide .au
Posts: 521
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Which version of vB?
We use InnoDB on vB4.2.1; MySQL 5.5 without any issues.
Reply With Quote
  #26  
Old 07-31-2013, 10:53 PM
raywjohnson's Avatar
raywjohnson raywjohnson is offline
 
Join Date: Feb 2007
Location: Las Vegas
Posts: 73
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

v 3.8

I will be upgrading to v4 (or maybe 5) soon. After I convince the membership. And setup a cloud server (possibly with a separate MySQL server). Then I will use the InnoDB tables.

--RayJ
Reply With Quote
  #27  
Old 08-01-2013, 10:43 AM
joeychgo's Avatar
joeychgo joeychgo is offline
 
Join Date: Mar 2004
Location: Chicago, IL
Posts: 933
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How many posts do you have to get a 7gb post table?

I have 2.5 million posts and the post table is only 1.6gb. I have no issues with how it runs.
Reply With Quote
Благодарность от:
Paul M
  #28  
Old 08-01-2013, 12:15 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by joshskeety View Post
Really, this is something that should of come standard on like VB version 2. The fact that there isn't even a MOD just astounds me.. My forum is pretty big and massive, but what about guys who most likely have post tables that are 20-50 Gig in size.. How do they do it?
There is absolutely no reason for this to be "standard", and the fact no one has spent a load of time trying to make a Mod certainly doesnt astound me.

I have two forum databases in front of me, both have between 2.1 and 2.5 million posts in them, both Post tables are less than 2GB. To get tables the size you mention would reqire forums with 20/30 Million posts (or more). You could probably only find 2 or 3 of them in existance, and they simply make sure they have the hardware to cope with such large databases. As your forum gets bigger, you need to increase your system environment to keep up.
Reply With Quote
  #29  
Old 08-01-2013, 12:42 PM
joeychgo's Avatar
joeychgo joeychgo is offline
 
Join Date: Mar 2004
Location: Chicago, IL
Posts: 933
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by chikkoo View Post
My forum has been running for last 7 years, therefore the Post table has grown more than 13 gb. Due to the size of the post table, it is crashing very often, at least once or twice a month.
Quote:
Originally Posted by raywjohnson View Post
Since I set this up, my forum and server run smooth and efficient. Even as the archive table has grown to 7GB+.

That's why IM confused. The OP is talking 13gb and raywjohnson is talking just his archive is 7gb. Im wondering what is causing these tremendously large DB tables, or if there is something wrong with their setup.
Reply With Quote
  #30  
Old 08-01-2013, 03:12 PM
final kaoss final kaoss is offline
 
Join Date: Apr 2006
Posts: 1,314
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Really? Is that really what you think? In my forums niche, we have about 25K posts and the post table size is already at 250+ MB So at that rate it'll hit 2GB at around 200K posts

Quote:
Originally Posted by Paul M View Post
To get tables the size you mention would reqire forums with 20/30 Million posts (or more).
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 07:24 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04742 seconds
  • Memory Usage 2,268KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)pagenav_pagelink
  • (10)post_thanks_box
  • (1)post_thanks_box_bit
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete