¿Cuáles son las soluciones alternativas a la navegación basada en carpetas / navegación de datos en nuestros sistemas?

Probablemente estoy diciendo lo obvio, aquí, pero los sistemas de archivos que pueden consultarse han existido desde la década de 1970: en pocas palabras, se llaman bases de datos relacionales. Antes de que aparecieran las bases de datos relacionales, los datos se almacenaban en bases de datos jerárquicas, como un árbol de directorios (el Registro de Windows es una base de datos jerárquica, por ejemplo). Una base de datos jerárquica es simple y tiende a no requerir mucha potencia de procesamiento para proporcionar un acceso muy rápido a los datos, razón por la cual este enfoque para almacenar datos, en general, se siguió en computadoras personales.

Una base de datos relacional a menudo sigue siendo un árbol jerárquico de datos, pero la existencia del servidor de bases de datos permite que las consultas se ejecuten horizontalmente en todo el árbol, vinculando elementos en diferentes ramas, en función de algún atributo común. Todo lo que se encuentra debajo de ‘datos’ en una instalación de MySQL sigue siendo un árbol de directorios, por ejemplo. Es solo que, una vez que se accede desde el servidor de la base de datos, todo lo que se encuentra en ese árbol puede vincularse con todo lo demás (siempre que comparta el atributo que se está enlazando).

Las implementaciones verdaderamente a gran escala, como el DB2 de IBM (y, más recientemente, los gustos de MySQL Cluster) incluso permiten que esto se haga a través de múltiples sistemas de archivos en múltiples máquinas (el llamado sistema de almacenamiento de datos ‘nada compartido’, primero pionero comercialmente por IBM e Informix, pero en existencia como un objetivo de diseño desde los días de Berkley DB).

Estos enfoques tienden a no ser vistos en el almacenamiento de computadoras personales debido a suposiciones cableadas sobre el espacio de almacenamiento y la capacidad de procesamiento, incorporadas en los sistemas de archivos que utilizan o el código utilizado para acceder a ellos. Sin embargo, Microsoft intentó implementar exactamente este tipo de cosas, durante los años intermedios de la última década, como parte del proyecto ‘Whistler’, mucho más amplio. El objetivo era deshacerse del NTFS (francamente anticuado), que Windows todavía usa, y que en realidad no es adecuado para su uso en redes grandes.

El problema era que se habían perdido a sus propios vagabundos, al hacerlo (como suelen hacer cuando intentan reinventar la rueda de otra persona), se asustaron y en su lugar solo sacaron Windows Vista.

La capacidad de auto etiquetar automáticamente los elementos con atributos que pueden estar entrecruzados sigue siendo un problema para hacer que este tipo de acceso arbitrario a los datos funcione, pero la solución general es una que existe más tiempo que las computadoras personales. alrededor.

El problema con el etiquetado es que la mayoría de las personas no conocen las diferentes maneras en que algo será relevante en el futuro. A menudo los objetos no serán etiquetados de manera relevante. Además, los usuarios a menudo no pueden recordar qué etiquetas de términos similares se usaron – Ej. Impuestos, finanzas, dinero, etc.

Las carpetas jerárquicas proporcionan una organización estática donde el usuario puede al menos asumir que el elemento se puede encontrar a través del uso inicial del objeto. Al navegar, pueden reducir los elementos probables en lugar de buscar a ciegas.

El modelo de carpetas también proporciona eficiencias al gestionar elementos. Puede eliminar una carpeta y los elementos van con ella. Eliminar una etiqueta elimina la referencia a la etiqueta pero deja los elementos.

Un ejemplo real de este problema es cómo GMail comenzó con solo etiquetar pero tuvo que agregar carpetas. Las carpetas pueden ser solo una forma de aplicar etiquetas, pero los usuarios están más contentos de pensar que la organización es estática, que en el nivel de la interfaz de usuario el acceso a estos objetos es más estable.

El problema que mencionas para los sistemas de archivos ya se ha resuelto en sitios web y dispositivos portátiles. Facebook, Twitter y Google tienen formas inteligentes de administrar y analizar los datos. Android y iOS permiten que las aplicaciones administren los datos. El sistema operativo consulta las aplicaciones para que las aplicaciones gestionen la clasificación de estos datos.

Por lo tanto, en el futuro, veo estos conceptos retrocediendo a los sistemas operativos de escritorio.

Desde la perspectiva del usuario, las aplicaciones gestionan los datos . La propiedad de los datos es decidida por el creador. El sistema operativo consulta estas aplicaciones para buscar los datos que el usuario está buscando. (Inspiración desde dispositivos móviles).

En el aspecto de la implementación, veo que los sistemas operativos proporcionan otros mecanismos de almacenamiento de datos que no son solo un sistema de archivos. Por lo tanto, su sistema operativo le proporcionará opciones de RDBMS (base de datos relacional), NOSQL (pares clave-valor) y sistemas de archivos (para datos grandes). (Inspiración de arquitecturas de sitios web.)

Por lo tanto, al final, el sistema operativo proporciona la API para administrar los datos. Pero las aplicaciones gestionan el etiquetado y clasificación de la misma.