Algo de bases de datos en Linux...

Alvaro Herrera alvherre en alvh.no-ip.org
Mie Ago 1 15:01:37 CLT 2007


Aldrin Gonzalo Martoq Ahumada escribió:

> Bueno, todo depende del uso. Lo que digo en primeria instancia es que
> cada vez mas los sistemas de archivos utilizan tecnologia de base de
> datos. Ergo, para mi una evolucion natural seria que el sistema de
> archivos sea la base de datos, como alguien planteaba (Reiser creo que
> era). De hecho, un RDBMS re-implementa muchas cosas propias de los
> sistemas operativos (autorizacion y autenticacion por ejemplo).
> 
> Se eliminarian un monton de capaz tontas que no tienen sentido (ej: el
> lenguaje SQL). Y todo lo que tienen los RDBMS (transacciones,
> integridad, etc) tambien puede ser implementado al nivel del sistema
> operativo.

Bueno, la caracteristica rescatable del lenguaje SQL es que provee una
manera de expresar consultas complejas.  Como te decia, si solo quieres
hacer busqueda del tipo llave/valor entonces una interfaz como la del
sistema de archivos es suficiente, pero cualquier cosa mas alla que eso
se hace dificil de expresar.

> No tiene porque estar en el kernel, pero si tiene que ser parte del
> sistema operativo. Asi como libc y el kernel de linux. No les parece?

No se, para mi la base de datos es solamente una aplicacion mas.  Estoy
de acuerdo en que quizas podria haber una mejor "comunicacion" entre el
kernel y la base de datos, de manera que la BD pueda hacer mejor uso de
algunas cosas (por ej. cache de paginas del filesystem, saber cuando
sacar una pagina del cache, etc), pero eso colisiona con la idea de que
la base de datos debe ser portable entre sistemas operativos (hoy por
hoy estamos atascados usando mas que nada SUSv2 y Windows).

La separacion de las cosas en capas me parece a mi que tiene mucho
sentido.  Asi evitas un monton de complejidad.  Por ej. te evitas que la
BD tenga que entender si es mejor acceder de tal o cual manera cuando el
sistema de discos es RAID1 o si es un solo disco.  Eso se lo dejas al
sistema operativo, y que la BD simplemente interactue con el sistema de
archivos.  De la misma manera, al programador no le importa si la BD
resuelve tal o cual consulta SQL con este indice o este otro, si hace un
nest loop o un hash join.  Esa es pega de la BD.

-- 
Alvaro Herrera                          Developer, http://www.PostgreSQL.org/
"If it wasn't for my companion, I believe I'd be having
the time of my life"  (John Dunbar)


Más información sobre la lista de distribución Linux