Hola phoxer.
A ver, como explicarlo, pongamos el ejemplo de un sitio
www.pp.com, suponete q es un wordpress y esta sobre Apache. Bueno, cuando vos visitas el sitio el servidor genera un identificador unico para vos (crea uno para cada visitante). De esta manera sabe q cualquier cosa q vos hagas va a saber identificarte con respecto a los cientos o miles de conecciones simultaneas q pueda llegar a tener. Si sos solo un visitante el ID de session no dice mucho, es solo algo interno del servidor.
Ahora bien, suponete q te logeas al admin de wordpress, entonces, el ID de session q el servidor te asigno lo utiliza para mapear todo lo q php guardara en $_SESSION (a grandes rasgos es asi).
Resumiendo, el servidor utiliza el ID de sesion para diferenciar las diferentes conecciones activas y de esta menara guarda sabe a que coneccion le corresponde cada dato q guarda.
El servidor no guarda el ID se sesion en una BD, simplemente porq es un Servidor web y no uno de bases de datos (posiblemente internamente tenga algun tipo de BD, ya se implementada en memoria o en disco, pero es algo interno, no las BD como pueden ser mysql y esas). El id de sesion por seguridad tampoco se deberia ser guardado en un BD por parte del programador.
Cuando dura la sesion? eso se configura desde el php.ini o el .httconf (apache), la verdad no recuerdo bien desde cual de los dos. Por default dura un buen tiempo.
Un ejemplo claro de uso de ID se sesion es este foro, viste q vos te logeas hoy y si no borras el cache, mañana entras nuevametne y seguis logeado, pero si no entras por 1 semana, aun q no hayas borrado al cache te tenes q logear nuevamente. Eso pasa porq el ID de sesion que tenes en los coockies de tu maquina ya expiro (por lo de la configuracion q te explicaba en el parrafo anterior). Por otro lado, suponete q la sesion expira en 48 hs, ponele q te logeas un lunes, entonces el miercoles deberia expirar, pero.... si te logeas el martes el tiempo de sesion se renueva, o sea, tenes 48 hs a partir de ese martes. En resumen, el tiempo de expiracion se cuenta desde la ultima vez q entraste al sitio y no desde q te logeas.
En temas de seguridad tenes q tener cuidado con lo q te dice chug0. Siguiendo el ejemplo del foro de clab. Si vos te logeas a clab y alguien capura tu ID de session, supeustametne el podria logearse desde cualquier maquina sin necesidad de poner usuario/pass (siempre y cuando no hayas cerrado session). En el caso de un foro no dice mucho... pero imaginate si te capturan el id de sesion de tu home bamking... ahi ya estarias en un aprieto. Fijate en este post
http://foros.cristalab.com/trabajando-con-sesiones.--t71399/ ahi explico alternativas al uso comun de sesiones para agregarle seguridad.
Saludos y buen codding