Thread: postgre
View Single Post
  #5  
Old 12-09-2005, 08:30 PM
Brains Brains is offline
 
Join Date: Sep 2003
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

A HUGE hack indeed

BUT ....

I've just about completed it. I'm in the final bug testing stages right now in fact. I also wrote a quick and dirty app to migrate existing forum data from MySQL to an existing PostgreSQL database (created by my ported vB installer). Once I have a few million posts loaded into it, I'll be doing some stress testing and performance measurements, which will then undoubtedly lead to some work on index optimization and what not. With three forums, about a half dozen "users" online at once, and 600 posts, it absolutely flies though I'd like to see at least 1500 to 2000 concurrent users online, with 4+ million posts, all features active, utilizing two servers (1db + 1httpd).

I've done my best to stay close to SQL92 throughout, but there's some PG-specific syntax and functionality I left in there in the interest of time. A few other things, instead of completely re-writing sections of code, I simply made stored procedures for. A *LOT* of areas I cleaned up the existing vBulletin code for more efficiency. As I have plans to use this in a production environment, I also coded everything with the intention of it being maintainable, so I can stitch in updates from Jelsoft as they come in. I converted vB 3.5.0 so the real test will be my upgrade to the latest version (3.5.2 at the time of this posting).

I originally had the thoughts of testing against a couple of the "big name" DB engines (IBM DB2 UDB 8.2, Oracle 10g, and Sybase ASE 12.5.2 specifically). Now that I've done all this work with Postgres, I think I'll just cut the strings for now and finish up. lol. Its simply astounding how much effort this has taken to completely port vBulletin over. I started back in early November, and am just now finishing up with the last dozen or so bugs. Definitely not an easy "hack," and to support it will take someone very fluent and comfortable with PHP, and both MySQL / PostgreSQL. At some point, I'm sure Jelsoft will keep moving towards a package that will natively support multiple database backends as well.

The first iteration, I'll be testing with the built-in search engine, we'll see how that works out. I'm going to be installing the Tsearch2 module into PostgreSQL, and switch over to fulltext searching and try that out as well. I'm definitely curious to see which method excels in which areas. I'm also going to set up multiple machines, and bring up a PostgreSQL replication set ("cluster", if you will). That should mesh very easily with vB's built-in master/slave server code.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01145 seconds
  • Memory Usage 1,765KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete