I am curious to discover what type of database schema craig's list and kijiji uses. They've many groups and metropolitan areas that grow constantly. The amount will also get much deeper sometimes (sub-groups, and areas/communities).

The part I do not comprehend the most is when they manage their groups. What's the database structure behind their setup? They've a lot of groups and sub-groups, let us say somebody posts a product inside Cars -> Parts &lifier Add-ons > Racing Parts

A couple of days later, people request more sub-groups under "Racing Parts":

* Accessories
* Auto Racing Parts
* Fasteners, Fluids & Gaskets
* Kart Racing Parts
* Safety Equipment
* Other

Now there is a new level for Racing parts which go such as this:

* Motors -> Parts & Accessories > Racing Parts > Accessories
* Motors -> Parts & Accessories > Racing Parts > Fasteners etc..

What goes on using the existing entries which have been published just before adding the brand new subcategories? will they get gone to live in a sub-category table? What goes on towards the "Racing Parts" table, will it still store entries or will it just indicate new tables now? Or possibly that isn't the way they do things whatsoever. Interesting help!


A website rich in traffic like that's not really the very best illustration of well-stabilized relational database structure, since it will likely be filled with optimizations which are really poor practice for more compact-scale systems.