• Resolved stemuedendron

    (@stemuedendron)


    Hi,

    first thanks for developping pods for free use.

    We are porting a self-developed PHP application to WordPress and want to use pods. I would like some advice on which content type or storage method to choose for a broadcast scheduling application in terms of performance with a large amount of data.

    The application looks like this:
    A broadcast has multiple broadcast episodes and links to users, each broadcast episode can have multiple broadcast dates. A broadcast episode can have links to multiple posts. Here is the design for the port to pods:

    pod_broadcast

    • name: text
    • description: paragraph
    • image: relationship image
    • rel_users: relationship to users (many-to-many)
    • rel_episode: relationship to pod_broadcast_episode (one-to-many)

    pod_broadcast_episode

    • name: text
    • description: paragraph
    • rel_broadcast: relationship to pod_broadcast (many-to-one)
    • rel_broadcast_datetime: relationship to pod_broadcast_event (one-to-many)
    • rel_posts: relationship to posts (one-to-many)

    pod_broadcast_event

    • rel_episode: relationship to pod_broadcast_episode (many-to-one)
    • start: datetime
    • end: datetime

    post (extended)

    • rel_episode: relationship to pod_broadcast_episode (many-to-one)

    user (extended)

    • rel_broadcast: relationship to pod_broadcast (many-to-many)

    There is an average of 70 broadcast dates per week, i.e. approx. 3600 per year (the existing application now has approx. 40,000 broadcast dates). Due to bidirectional relationships in wp_podsrel, approx. 3600 * 6 = 21600 data records can be expected annually. A daily, weekly and monthly program schedule is generated from the data.

    My questions:
    To separate wp_post and wp_postmeta from the broadcast data, I would use ACT or CPT with table storage. I think the queries are faster then, is that right? We would generally have no problem with having all the data in the wp_posts and wp_postmeta tables, but we have no experience with large amounts of data in WordPress.

    Or is the use of CPT with table storage the same? However, this results in a larger amount of data, as in CPT with table storage a data record is also stored in wp_post in parallel.

    So in short: which approach can be expected to deliver the best performance, CPT with meta storage, CPT with table storage or ACT?

    Thanks for Reading
    Steffen

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author Jory Hogeveen

    (@keraweb)

    Hi @stemuedendron

    For compatibility I would always recommend to use the meta tables as most other plugins use this as well.

    If you are planning to go full custom and have extensive backend knowledge in house then ACT is just fine as you can do the most front-end work yourself even without the use of Pods, in such a case Pods mostly functions as an ORM.

    As for performance on large datasets it mostly depends on how much data you query, the actual amount of records and your server capacity in terms of raw processing power, memory and object caching.

    Basically, the answer is “it depends”.
    I’m aware that this is probably not the answer you were hoping for but hopefully it will help make your decision.

    Cheers, Jory

    Thread Starter stemuedendron

    (@stemuedendron)

    OK, thanks so far. I’ll do a few tests with mass generated data. I think I will do without ACT, because after further investigation it is additional work (search, SEO, frontend templates for block themes).

    Thanks, Steffen

    Plugin Author Jory Hogeveen

    (@keraweb)

    Hi @stemuedendron

    Correct, if you are planning on using SEO plugins and frontend builders/blocks with this data it’s a lot easier when using meta based storage as such plugins will support this as well.
    Otherwise your only option is to use Pods shortcodes (or custom development of course).

    Cheers, Jory

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Porting a broadcast scheduling application – questions about performance’ is closed to new replies.