Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 03-05-2007, 01:56 PM
cleck673 cleck673 is offline
 
Join Date: Feb 2003
Posts: 41
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default New Idea for sharing database : Replicate the DB

I have been trying for months to get my two sites mergered into one database, yet keep the sites separate in some areas.

I have one site that has 150,000 members and about 1.2million posts. This site uses vBadvanced as its front end.

I have another site with 35,000 members and it also uses vBadvanced, but I have a couple minor intergration hacks to make the frontpage news a blog software's engine pulled in as a center block into vBadvanced.

The Goal
Share both of these sites forums into one but leaving the rest of the site items separate.

The Issues
These are the issues I can think of so far...
  • Setting Template for the domains
  • Cookies
  • 2 versions of vbadvanced pulling data from different forums
The Question
An idea my server guy came up with was using some built in mySQL function that allows you to autosync tables of seperate databases together.

So, with this idea, he is thinking of leaving the databases seperate as well as the complete installs. It would work like 2 totally seperate installs. What is different is that the user and post tables (as well as all the others that would be needed to pull this off) are replicated and kept in sync with the other. So both sites, while still separate, have the same data in certain tables.

Hopefully this will work. Does anyone have any suggestions, comments, etc?

Some other reading from previous (unanswered) threads:

YAMDQ: Yes, another 2 sites, 2 forums with a shared database question
2 Sites, 2 Domains, 1 Forum DB shared - and upgrades (paid service request, resulted in getting someone that bailed on it)
2 forums merged into one, but....
Reply With Quote
  #2  
Old 03-05-2007, 02:02 PM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This will never work, as each user table uses the same userid's.
Reply With Quote
  #3  
Old 03-05-2007, 02:44 PM
cleck673 cleck673 is offline
 
Join Date: Feb 2003
Posts: 41
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

We merge the forums and DB using implex and them duplicate, then real time replicate? Still sound like it won't go? I am seeing that point though.
Reply With Quote
  #4  
Old 03-06-2007, 06:37 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nope, having 2 "primary" (ie. databases that get updated) databases will not work.

Consider a new member register at each site at the same time, both databases will add the same userid, and then will try to duplicate that content to the other database.

Also if your duplication ever gets temporary broken, then the mess you will have after restoring the connection will be almost impossible to repair.
Reply With Quote
  #5  
Old 03-06-2007, 07:21 AM
The Geek's Avatar
The Geek The Geek is offline
 
Join Date: Sep 2003
Location: Behind you
Posts: 2,779
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Wouldnt it work if he 'added' his 35k users to his larger db, then synced them? The only thing that I would think would have to be looked at is salts and license keys.

I tried to get a 'shared user across multiple sites' thing going for awhile. In the end, you either just cant do it without massive amounts of file edits or by switching to IPB who have offered this functionality for some time now
Reply With Quote
  #6  
Old 03-06-2007, 07:47 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

There was a solution posted some time ago to share the user database, by pointing both installations to the same user table. Not sure how well that worked though.
Reply With Quote
  #7  
Old 03-06-2007, 08:58 AM
The Geek's Avatar
The Geek The Geek is offline
 
Join Date: Sep 2003
Location: Behind you
Posts: 2,779
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

yea, I did try that however it was a lot of file editing which turned out to be an impossible task of large sites when upgrading came round.

I would think that the same thing could easily be implimented by having a USER_PREFIX along with the TABLE_PREFIX so you could specify fully qualified db paths - but I just don't forsee any movement to even look into something as simple as this.
Reply With Quote
  #8  
Old 03-06-2007, 09:02 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hmmm, something like:

PHP Code:
SELECT FROM " . (TABLE_PREFIX_TABLENAME ? TABLE_PREFIX_TABLENAME : TABLE_PREFIX) . "tablename 
Would be great if that was implemented everywhere in the default source.....But that is never going to happen (at least not in vB 3.x)
Reply With Quote
Reply

Thread Tools
Display Modes

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 05:36 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04412 seconds
  • Memory Usage 2,219KB
  • 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
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (8)post_thanks_box
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (8)post_thanks_postbit_info
  • (8)postbit
  • (8)postbit_onlinestatus
  • (8)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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete