Possibly the biggest challenge for me right now is creating a practical read only database to run along side of the main database.
Master/Slave replication is ruled out.
Thus far, I know how to compile, install, configure, run, and initialize a read only database that would run along side the master.
The problems that keep this from being practical branch alone two paths.
1. staying in sync
once i make the full backup of the master, that's it. from that moment in time onward, the RODB will be out of sync
solutions involve manually creating binary log files with FLUSH MASTER LOGS and replaying those all part of a cron script at some hour
2. CREATE TABLE and ALTER TABLE commands break software
i suppose if i were to do an ALTER TABLE, i would have to immediately apply it to the RODB if the statement would break SELECT queries
any CREATE TABLE statements for new features would be completely broken on the RODB. these statements would need to be applied to the RODB prior to committing the software updates
it's been a long time analyzing why some SELECT queries end up getting slowed down an average of 6 to 8 seconds.
answer is, UPDATEs and INSERTs on the character table can LOCK SELECTs for roughly that amount of time.
i'm also looking at making use of HASH indexes where they would be ultimately superior to binary trees
of course, all of this discussion involves playing by the rules of MySQL. as i write my own replace for MySQLD, i write my own rules.
This week's been focused a bit on fighting back against spammers.
Admin's Level 5 and higher can and will now ban every account posting spam.
I launched an issue tracker
early this week. All members are welcome to use it to report site bugs, and request new features. This is mainly for my benefit. Having everyone contact me directly with their ideas was getting a bit overwhelming. I was spending more time considering ideas than actually doing them. The issue tracker isn't finished yet either. It's not easy writing a thousand line application in one shot... I'll take some time, then finish it off.
Also bought back the rating
feature. Every load bring up a random character you can assign 1 to 10 points to.
We'll compile the data and make some use of it later on.
I've been clearing out ACDBv1 content pretty fast since yesterday. Frankly, I view it all as security vulnerabilities. My coding skills from 2007 to 2009 just wern't anywhere near as awesome as they are now.
Even rewriting rate.php, I found countless blocks of code I was able to easily replace with a single line of code.
Goals for now look like:
1) push out new content
2) fix existing content
3) expand existing content
or read another way ...
30848 character, wow. Getting close to 31,000 already. AND next season of anime is rolling out soon. Hope to have the seasons editor tool online for that event.
Been doing some minor fixes lately.
Notice the gradient in the frames? Or perhaps the background? Found it while I was looking over the contents of the /bg/ folder. lol The gradient is a new creation though.
Improved the minor menu CSS a little. The links now have a solid blue underline as a border. Tried different sizes and colors, but 1px of blue on the bottom works well enough.
Tweaked the query cache a little. Seeing how 3KB minimum affects it. Previously 4KB. Cache usage was around 57% after a hundred days of uptime. Seeing if I can push that higher. So far a success. Performance impact, rather uncertain.
Just calculating the permutations of searches.... would be enough to fill any cache.
Added a number of character anchor to title pages in the ULMENU.
i'll probably go over characters and title source code next...