<https://invisioncommunity.com/forums/topic/303502-live-module/#comment-1910757>
<http://schema.org/text>
"We implemented it for searching, not specifically for a live module (though we built an \"Activity feed\" in the user profile pulling from the search index which was effectively a live feed, just without the auto-updates). The primary problem is that every single action on the board then relied on a table that's bound to be resource intensive.  \nCouple of things we found, just off the top of my head....  \nWith MySQL, ideally you want it to load all your database indexes into memory, which means a key_buffer large enough to fit all .myi files (using myisam tables). This is fine and all, but effectively when we added this index table, we nearly doubled the size of the database, because we took the posts table and copied it (more or less) to another table, and then inserted into this copy of the posts table all the blog entries, gallery images, IDM files, help files, and members. So, if you have 256MB of indexes already, you basically have to double the amount of memory available to mysql to hold this additional data.  \nWe were inserting members in here (since you can search members from the global search). That means anytime you register or update your account, a new record has to be inserted into this index table (or updated, as the case may be). What happens if you have a couple people doing some intensive searches at that time? Your update/insert query is locked until their search completes. It's bad enough on a forum when you have to wait to read a topic because some resource intensive search is running, but to wait to register really puts off new users.  \nIt wasn't just registering. Doing ANYTHING practically has to update or insert into the index table. Register. Update profile (from ucp or acp). Post a blog entry. Post a blog comment. Or a gallery image or comment. Or an IDM file or comment. Post a topic or reply. Editing your post. This is the insert/update, which in itself isn't a huge issue. But as we know, searching is the most resource intensive process in IPB (just as a natural form of what it's doing) and MyISAM tables aren't too happy with concurrent inserts and selects, even when this is allowed in my.cnf. So all it takes is a few searches to kick off, and everything starts backing up because of this one index table.  \nNow, if you had the resources to set up your own multi-server installation and so on, then this could be easily doable. You could modify the code to force all inserts/updates to one server, and all reads to a separate database server (and use replication to sync the two). The problem is effectively \"solved\" in this case, but it's not realistic for the vast majority of our customers.  \nThese are just some thoughts/memories from our first attempt to chew on. While it's certainly doable from a technical perspective, we have a very wide range of customers, some running on a Dell Pentium4 with 256MB of memory, some with massive super-server clusters, and with most falling somewhere in-between. We have to tailor the software to everyone. :) "
<https://invisioncommunity.com/forums/topic/303502-live-module/>