First off, Lyceum is the answer to the trivia question I presented in episode 49 of WordPress Weekly. More importantly, Lyceum is the name of the open-source software project developed by ibiblio. Its development is synchronous with WordPress although as it stands, development has pretty much been at a standstill as the last version to be released was a bugfix back in June of 2008 which is based off of the 2.0.x WordPress code branch. However, Lyceum and WordPress MU are very similar in functionality but there is a big difference between the two. That being, Lyceum stores all of its information in a set number of database tables (it has a normalized schema). WordPress MU, on the other hand, adds new tables for each weblog added (it has a sharded schema). This difference in database schemas is what gives Lyceum its bread and butter. According to the developer:
Lyceum’s schema is normalized, MU’s is, roughly speaking, sharded. For massive installations such as WordPress.com, a sharded schema is preferable. A normalized schema is preferable for everyone else. A normalized schema offers advantages in performance, ease of upgrades and administration, and vast opportunities for developing plugins and features which can access the entire set of data in the installation.
“Show me the last 10 posts across all blogs” is impossible in MU without maintaining and accessing a separate, redundant index table at the application layer. In Lyceum, it is trivial and fast, even for thousands of blogs.
In February, a discussion was started on the Lyceum users mailing list about the future of the project. In this discussion, someone mentioned that John, who is the lead developer of the project should think about getting hired by Automattic to maintain a Normalized version of WPMU. Here is what John had to say.
Hmm, an intriguing idea :) I’ve actually pondered various flavors of this on and off over the years. I think if I decide to continue Lyceum development, I will get in touch with them to explore if there are possibly points of collaboration.
Last but not least, the topic in the Lyceum IRC channel is ‘Lyceum Lives‘ which to me sounds like the project will continue. But, I have sent an email to John to get his take on the matter.
I know I have a few WPMU users in the audience so I have a few questions for you. would you like to see this project continue? Does the difference in database schemas mean anything to you? Have you given this project a try?
Personally I prefer the “sharded” database structure that comes with WPMU. It certainly helps when it comes to database planning for scaling purposes.
Can you imagine WordPress.com running with a single posts table?
I wonder how difficult it would be, should the demand be there, to create a db class for WPMU that would use a “Lyceum” structure? But with the standard WPMU code base?