Atalaya: desde la tela de araña

Cultura en la red, reflexiones, relatos, tutoriales y paridas diversas

Realidad jerárquica vs. realidad facetada

2004-07-14 01:00 La mayor parte de los sistemas operativos, si no todos, usan una estructura de directorios en árbol para organizar los ficheros. fichero está dentro de midirectorio, que a su vez está dentro de directorios_usuario, y así sucesivamente. La estructura de la web es también la misma: cada URL es un fichero situado al final de una larga estructura de directorios.
El problema es que la realidad no es así. Si escribes un artículo para tu bitácora, ¿dónde lo metes? ¿En textos o en web? ¿Cómo organizas los subdirectorios? Se pueden usar los enlaces simbólicos, pero, aún así, es imaginable que un fichero pueda posiblemente meterse en varios directorios con la misma validez. ¿Qué se hace, se copia?
Al final, el directorio al que pertenece un fichero es un metadato, igual que lo es el tipo del fichero, y la fecha. Los dos últimos los tienen todos los ficheros; y el directorio en el que se mete podría asimilarse a una categoría; siendo así, ¿por qué tiene que tener un fichero sólo una categoría? ¿Por qué tiene que tener solo un tipo? La realidad es facetada: en esta bitácora tengo varias categorías de historia, y muchas historias tienen dos o tres categorías; puedes acceder a cualquiera de ellas. Cabría imaginar una estructura jerárquica de categorías (por ejemplo, mi categoría Perlas estaría dentro de blogosfera), sin perder las "facetas".
En fin, que imagino que dentro de algunos años nos encontraremos con un obituario que diga "Hoy ha muerto el que se inventó la estructura de directorios en árbol" y pensaremos "hay que endevé, qué malas ideas tenía la gente del siglo pasao".

Referencias (TrackBacks)

URL de trackback de esta historia http://atalaya.blogalia.com//trackbacks/20206

Comentarios

1
De: Arkangel Fecha: 2004-07-14 08:36

Para resolver tu problema se podría inventar algun tipo de contenedor de información que permita tener subcontenedores dentro, pero no organizados jerarquicamente, sino estableciendo relaciones entre ellos mediante otros objetos, almacenados a su vez en un espacio propio dentro del mismo contenedor. Además, para buscar más rápido la información, se podrían crear indices, y buscar contra ellos en lugar de en los datos mismamente.

Se me ocurre que le podiamos llamar al invento este "base de datos relacional". ;-) Y si diseñamos bien la estructura, yo creo que sí sería capaz de almacenar lo que planteas de la forma en que dices ¿o no? Seguro hay algo que se me ha escapado...



2
De: JJ Fecha: 2004-07-14 08:55

No, tienes toda la razón; la base de datos relacional captura mejor las relaciones entre las cosas, no he llegado hasta ahí por no meter más follón, pero es la consecuencia lógica. Lo interesante sería que el sistema de ficheros estuviera organizado según una BD relacional, y no según una estructura jerárquica de directorios. Creo que es lo que va a hacer el Longhorn, por cierto.



3
De: Gari Fecha: 2004-07-14 08:58

Yo defiendo lo contrario. Una estructura en árbol (es lo más básico y evidente para el 90% de los casos) con propiedades específicas para indexación de los diferentes elementos, de forma que se puede hacer lo que dices.

Eso existe, se llama ZODB y viene con Zope (y es software libre). Con el ZODB se puede construir un árbol de objetos y cada objeto puede tener diferentes metadatos, propiedades, subobjetos. Además, Zope trae por defecto un indexador de forma que se pueden encontrar rápidamente los objetos que cumplen una serie de condiciones en sus propiedades. Todo eso persistente, transaccional y con opción de deshacer cualquier cambio. ¿No es un chollo?

Otra opción sería un sistema de ficheros con una ordenación similar a la de un Wiki...



4
De: JJ Fecha: 2004-07-14 09:54

Pues eso precisamente es lo que molaría. ¿Alguien se anima?



5
De: fernand0 Fecha: 2004-07-14 10:20

Uno de los triunfos de este tipo de cosas es que son simples. Una base de datos relacional en el sistema de ficheros es lo que andaban proponiendo MS para longhorn (o-como-se-escriba), ¿no?



6
De: lgs Fecha: 2004-07-14 10:24

Mira esto de Ming.

Y, claro, vimoutliner ;).



7
De: SegFault Fecha: 2004-07-14 10:47

BeOS incluía numerosos metadatos en cada fichero gracias a su sistema de ficheros (hay un libro sobre ello disponible en PDF). Aparte, en Unix el nombre completo no deja de ser una propiedad más de cada fichero ya que el sistema se relaciona con los ficheros mediante los inodos, y gracias a los enlaces duros podemos tener distintos nombres (y directorios) para cada fichero.

--
SegFault



8
De: JJ Fecha: 2004-07-14 10:52

Muy interesante lo que apuntáis; gracias lgs; a Ming lo conocimos en blogtalk, por cierto.



9
De: Cek Fecha: 2004-07-14 11:15

La opción de un sistema de ficheros similar a un wiki sería ZOPE que trae una BD orientada a objetos, persistente, transaccional y con las características de una BD temporal ya que guarda todos los cambios que hacemos y las distintas versiones, un wiki sería un objeto, un fichero sería otro objeto con sus propiedades (como por ejemplo el tipo). De todas formas lo de definir el sistema de ficheros como estructura de árbol no es correcto para el sistema de ficheros de linux, el de linux es un grafo dirigido (por eso de los enlaces).



10
De: lgs Fecha: 2004-07-14 12:18

dnd, JJ

El Ming debe ser un tipo curioso. Me lo imagino flaco como un alambre, y dando brinquitos.

Lo del Zope ... en freenode.net #ud está qopi de udoo.org que está, con tav de wtfcon.org, y la gente de freenode.net #esp, tirando palantre con una flash dotcom que crearon en wizards of os ... en #esp se reúne mucha gente "facetaria" (wikis y eso) y ... yo no entiendo nada, pero por ahí van los tiros.

Si a alguien le interesa, que se pase por allí o mire los logs (el #esp está loggeado pero no encuentro donde).

También está lion y más gente ... parte mezclados con hacklabs y todo eso.

A saber!



11
De: JJ Fecha: 2004-07-14 12:21

Sí, pero inicialmente es una estructura de árbol a la que se le han añadido los enlaces. Y, en todo caso los enlaces se almacenan en el sistema de ficheros, no en el propio fichero, con lo cual el fichero no conoce sus metadatos.
Voy a tener que probar zope, caray...



12
De: Cek Fecha: 2004-07-14 12:38

Pues puedes empezar por leerte el ZopeBook que acaban de traducir a español, de ello hablé hace un par de días en http://cek.bitacoras.com/archivos/2004/07/11/zopebook_traducido_al_espanol/



13
De: rvr Fecha: 2004-07-14 13:17

Con perdón pero ¿de dónde viene lo de "facetado"? Sobre las estructuras en árbol y demás en el árbol de directorios, para algo se inventaron los enlaces simbólicos y duros en Unix ;)



14
De: JJ Fecha: 2004-07-14 14:34

Cek: ya me lo estoy imprimiendo. Ya estuve aprendiendo Zope una vez, pero se me olvidó.
rvr: no es lo mismo, insisto. Un enlace no es un metadato del fichero, sino del sistema de ficheros. Cómo sabes todos los enlaces simbólicos de un fichero, si sólo conoces el fichero? Lo de facetado viene de "navegación facetada", algo que puse hace tiempo en mi bitácora (ahora abandonada) barrapuntera.



15
De: fernand0 Fecha: 2004-07-14 14:50

lgs: brinquitos y abracitos ;). Flaco y alto. Es cariñoso el hombre



16
De: SegFault Fecha: 2004-07-14 14:59

El enlace es una especie de "metadato". Es cierto que es un dato más importante que otros, pero aún así es algo opcional. Un mismo inodo puede tener varios nombres distintos, y es posible obtener una lista de todos los nombres distintos que tiene un fichero (por ejemplo usando find, y estoy seguro de que hay otras formas).

Otra cosa es el sistema de ficheros FAT y amigos :)

--
SegFault



17
De: JJ Fecha: 2004-07-14 15:22

De todas formas, el enlace no deja de ser un "hack"; el enlace "hard" no funciona a través de filesystems, y el simbólico es simplemente un alias. Una vez más, tienes que usar funciones de filesystem como find para hallar todos los enlaces.
No, en lo que yo estaba pensando es más una especie de Zope; la idea de tener objetos persistentes y poder acceder a ellos de varias formas diferentes, a través de diferentes tipos de atributos.



18
De: SegFault Fecha: 2004-07-14 17:02

Sigo pensando que para tener organizados varias decenas de miles de elementos quizás un método jerárquico sea lo mejor. Le añades metadatos y para las ocasionales búsquedas por metadatos usas esa información (si está indexada regularmente, pues mejor) y para el resto de accesos los tienes un sistema jerárquico rápido y funcional (Microsoft tiene el Indexing Service ese y para Gnome existía ¿existe? Medusa).

--
SegFault



19
De: SegFault Fecha: 2004-07-14 17:05

Ups... le he dado a enviar demasiado pronto. Quería terminar diciendo que la solución sea usar distintos sistemas de ficheros: uno más complejo para los ficheros de usuario (lo normal será que no sean más de unos miles) y otro para el sistema, que serán unas decenas de miles de ficheros.

--
SegFault



20
De: El Artista Fecha: 2004-07-14 17:30


Ya comenté esto en alguna ocasión. Lo mejor sería un GOOGLE en el sistema de archivos. Encuanto esté solucionado el que se pueda dibujar algo para encontrar un archivo de imagen que tenga algo parecido yasta (he visto por ahí algo ya). Que quiero oir una canción, pues la tarareo. Que canto mal, sale otra que como hace tiempo que no he escuchado va y la sigo escuchando...

No ordene, busque...

Disculpenme las comunicaciones más eruditas me hago cargo de que un GOOGLE es una capa sobre un sistema de almacenamiento de información.



21
De: JJ Fecha: 2004-07-14 18:13

Tú no quieres un google, sino un mayordomo que sepa usar el google y que además entienda las canciones...



22
De: fernand0 Fecha: 2004-07-14 18:22

Que llegará, JJ, ya lo verás ;)



23
De: SegFault Fecha: 2004-07-14 18:42

¡Queréis a Clippo v2.0!

--
SegFault



24
De: Cek Fecha: 2004-07-14 23:57

La verdad es que Zope es muy intuitivo tiene todo lo que se necesita para un servidor de aplicaciones. JJ supongo que lo que menos te gusta es que use Python :P
Buena lectura...



25
De: lgs Fecha: 2004-07-15 13:41

Lo que están pensando aquí es en cómo anotar y organizar lo que uno mismo piensa y ve.

Estar encima de lo pensado, y no abrumados. Para poder actuar de alguna manera.

Está fatal esto de la sobrecarga.



Se comenta en...

  • JJ en [Libro #1] Harry Potter and the Cursed Child, de JK Rowling, John Tiffany y Jack Thorne
  • Anonima en [Libro #1] Harry Potter and the Cursed Child, de JK Rowling, John Tiffany y Jack Thorne
  • JJ en [Libro #29] El guardián invisible, de Dolores Redondo
  • Jorge en [Libro #29] El guardián invisible, de Dolores Redondo
  • JJ en [Libro #30] Code simplicity, de Max Kanat-Alexander
  • rvr en [Libro #30] Code simplicity, de Max Kanat-Alexander
  • JJ en [Libro #22] Fantasía, de Emilia Pardo Bazán
  • Palimp en [Libro #22] Fantasía, de Emilia Pardo Bazán
  • marta en [Libro #21] Birchwood, de John Banville
  • JJ en [Libro #10] The son, de Jo Nesbo
  • Sobre Atalaya

    Esta es la bitácora o blog de Juan Julián Merelo. Si quieres contactar con el autor, usa su correo electrónico jjmerelo (arroba) gmail.com, o simplemente deja un comentario. Y si quieres leer alguna cosa más de las que escribe, prueba esta novela

    Listas de deseos

    A veces leo

    Otras veces escribo en

    Blogalia Blogalia