Skip to:
Content
Pages
Categories
Search
Top
Bottom

GD bbPress Tools will be upgrading the DB


  • SirLouen
    Participant

    @sirlouen

    I have to say that I’m pretty impressed by the fact that GD bbPress Tools Pro plugin has sent today news regarding the update to the next big version (7.0) and Milan will be upgrading the topic and replies system to a completely separate table.

    He says that this will increase efficiency for an obvious reason (indexing of wp_postmeta for such large amount of data in many forums is obviously one of the Achilles talon of bbPress).

    But to some extent I feel that this will be like a “fork” of the bbPress project.

    I’m uncertain if Milan is a regular user of these forums, but I would like to see your opinions on this movement. I’ve been using GD bbPress Tools for ages because it really complements well all my devs for bbPress on my forums (and I don’t have to be duplicating the code to perform most of the features that he has already implemented), but I’m pretty skeptical that this could be a major caveat for future releases and too much attachment to Milan (in case something happens to him, and considering that this is not open sourced).

    I’m not sure either if he will be implementing this for the free version in the WordPress repo.

    Furthermore, I may also ask this in his private forum, but I was looking for more opinions in this official forum.

    PS: Yes, Milan is around as expected @gdragon

Viewing 1 replies (of 1 total)

  • Milan Petrovic
    Participant

    @gdragon

    Hey,

    The new version of the Toolbox Pro does contain a feature called Booster, and it does add new DB tables for indexing, but it does not make any changes to how the data is stored by bbPress. If you use Toolbox and disable it later on, there will not be any negative impact because the plugin is not changing how bbPress works with data. When Booster works, it intercepts some bbPress queries and modifies them to use index tables, and that’s it. When the plugin is not working, or Booster feature is disabled, bbPress works as it always does. But, modified queries are much faster than normal ones because Booster removes postmeta from the query and instead adds joins to the index tables (3 tables added for forums, topics and replies).

    Tests I did so far, for queries that Booster can modify, new queries are 20 times faster (on average). But, for large forums (1 million posts or more), queries can be 30-40 times faster. Yeah, I know, that is a huge change, and it might sound unreal, but the postmeta tables in WordPress are never meant to be used for queries the way they are used right now, because the data in postmeta can’t be indexed, and all data is stored in TEXT column, which is the worst column in MySQL for any kind of query.

    Anyone who follows my work knows that I have been proposing multiple times to make core changes to bbPress to stop using postmeta; I even have a GitHub repository with transformation queries and other information about changes needed, and I know that that is a huge thing to implement, but the only way to make bbPress fast, is to stop depending on postmeta for queries. What I did in GD bbPress Toolbox Pro 7.0 is just a small change for now, and I plan to expand index tables with more data and affect more queries (right now it affects 6-7 query types). Again, what my plugin does, doesn’t have any negative effect on bbPress, and if my plugin is disabled, the bbPress works just fine, no data is destroyed by my plugin.

    Finally, query speed is irrelevant for small forums (under 10000-20000 posts). Yes, queries will be much faster with my plugin, but the database size for queries is not that big, but as soon as the forums grow and have more posts, these postmeta queries will get exponentially slower, and my plugin will make it much faster.

    The plugin is now in the Beta stage, with a stable release planned for mid-January 2023.

    Regards,
    Milan

Viewing 1 replies (of 1 total)
  • You must be logged in to reply to this topic.
Skip to toolbar