Wednesday, January 9, 2013
After careful consideration and testing of the database design, it seems that we will need to rely heavily upon specific features of the database in order to accomplish the complexities of the constantly-changing counter calculation. I had hoped to leverage an ORM to wrap around the database programming, allowing me to decouple the database selection from the application logic. While this can still be partially done through proper object-oriented design prinicles, the use of a database-agnostic ORM is out of the question it seems.
Posted by Sean at Wednesday, January 09, 2013
Tuesday, January 8, 2013
Project MC: I've generated a test-case in which the user table contains 1,250,000 accounts. The counter calculation can be accomplished through a single SQL statement. Currently that calculation takes roughly half a second. This is too long. The calculation will need to be cached in order to scale appropriately. I've attempted various short-cut methods for this calculation--there may be more to try--but MySQL seems to be the fastest when left to it's own devices. I need to test InnoDB and confirm that running this calculation will not lock the users table.
Posted by Sean at Tuesday, January 08, 2013