【问题标题】:Non-file FileSystems?非文件文件系统?
【发布时间】:2010-10-05 10:28:11
【问题描述】:

我一直在思考这个问题(你知道,程序员往往会做那种危险的事情)而且我一直在想,我们已经习惯了的存储数据的方法真的那么高效吗? ?回答这个问题的麻烦在于,我真的没有任何东西可以与之相比,因为这是我唯一使用过的东西。

我不是指 FAT 或 NTFS 或特定类型的文件系统,我指的是整个文件系统结构。我们只是习惯于认为“文件夹”中的“文件”就像我们的硬盘驱动器是一个巨大的文件柜。这是一个很好的类比,事实上,当我们这样想时,它会更容易学习,但它真的是描述程序及其各自部分的最佳方式吗?

我想知道是否有人可以想到(或知道)一种数据存储技术,该技术可用于存储数据以供操作系统使用,以不同的方式组织数据的各个部分。有什么……不同的东西吗?

【问题讨论】:

  • 人们谈论这个已经很久了。显然这很难
  • fuse.sourceforge.net .. 现在做任何你想做的事......

标签: filesystems hard-drive


【解决方案1】:

嗯,总是有Pick,其中操作系统和文件系统是一个集成的数据库。

【讨论】:

    【解决方案2】:

    例如,您可以有专门的解决方案,例如 Oracle Raw Partitions。其他数据库支持类似的东西。在这些情况下,文件系统提供了不必要的开销并且可以省略 - 数据库软件将负责组织结构。

    这个问题似乎非常依赖于应用程序,文件/文件夹似乎是许多应用程序的合理折衷方案(并且人类很容易理解)。

    【讨论】:

      【解决方案3】:

      过去,大型机只是为程序员提供了许多“设备”以供使用。该设备对应于驱动器或其分区,程序员负责组织其上的所有数据。当然,他们很快就建立了库来帮助解决这个问题。

      我认为唯一使用平面文件(如 UNIX)的常见分层排列的操作系统是 PICK。它使用一种关系数据库作为文件系统。

      【讨论】:

        【解决方案4】:

        Microsoft 最初计划为 windows vista 引入一个新的文件系统(WinFS - windows 未来存储)。这个想法是将所有内容存储在关系数据库(SQL Server)中。据我所知,这个项目从未(或尚未?)完成。

        wikipedia上有更多关于它的信息。

        【讨论】:

          【解决方案5】:

          如果您知道所需文件的名称(包括其路径),则传统文件系统已针对快速文件访问进行了优化。目录是将文件组合在一起的一种方式,如果您知道文件的属性但不知道文件的实际名称,则更容易找到它们。

          如果您对它们知之甚少,传统的文件系统擅长查找文件,但是它们足够强大,可以在它们之上添加一层以帮助根据内容检索文件或元信息,例如标签。这就是索引器的用途。

          底线是我们需要一种方法来持久存储 CPU 需要执行的字节。所以我们有传统的文件系统,它们非常擅长组织顺序的字节集。我们还需要持久存储不直接执行但被执行的东西使用的文件字节。为什么要为相同的基本事物创建一个新系统?

          除了存储和检索字节之外,文件系统还应该做什么?

          【讨论】:

          • 我同意,我认为几乎不需要更改显然效果很好的标准,但我只是对替代方案感兴趣。我想真正的计划是将好的想法融合在一起。
          【解决方案6】:

          我认识一个人,他的博士论文写了一个带有自己文件系统的硬盘。它基于 SCSI 命令的扩展,允许通常的打开、读取、写入和关闭命令直接发送到磁盘,绕过操作系统的文件系统驱动程序。我认为结论是它不灵活,并且不会增加多少效率。

          无论如何,我相信这个基于磁盘的文件系统仍然有一个类似文件夹的结构,所以我认为它对你来说并不重要;-)

          【讨论】:

            【解决方案7】:

            我会回应其他回复。如果我可以选择一种文件系统类型,我个人更愿意看到一种混合方法:子树的平面数据库,其中每个子树被视为一个内聚单元,但如果您将子树本身视为离散单元,它们将没有层次结构,但是相反,可以有元数据 + 可以在该元数据上查询。

            【讨论】:

              【解决方案8】:

              电子邮件通常存储在文件夹中。但自从我迁移到 Gmail 后,我已经习惯于用标签对我的电子邮件进行分类。

              我经常想知道我们是否可以这样管理整个文件系统:您可以使用您喜欢的标签来标记文件,而不是将文件存储在文件夹中。文件标识符不会是这样的:

              /home/john/personal/contacts.txt
              

              但更像这样:

              contacts[john,personal]
              

              嗯...只是深思熟虑(也许这已经存在!)

              【讨论】:

              • 哇,我其实也很喜欢它。也许有一种方法可以将其与更结构化的系统相结合。
              • 我觉得这是最原始的想法,主要是因为对于基于用户的操作系统(而不是企业的服务器操作系统),数据库会......很奇怪。然而,我认为标签系统将引用一个目录,而在该目录中看到的“文件”将是搜索的结果。
              【解决方案9】:

              文件的原因是人们喜欢将名称附加到他们必须使用的“事物”上。否则,就很难谈论、思考甚至区分它们。

              当堆上的东西太多时,我们喜欢将堆分开。我们通过某种方式对其进行排序,并且我们喜欢构建层次结构,您可以在其中导航任意大小的事物。

              因此,目录和文件只是映射了我们处理真实对象的自然方式。因为您可以将任何内容放入文件中。在 Unix 上,甚至硬件也被映射为“设备节点”到文件系统中,这些文件系统是特殊文件,您可以读/写这些文件以向硬件发送命令。

              我觉得这个比喻很强大,它会留下来。

              【讨论】:

                【解决方案10】:

                我花了一段时间试图提出一个自动版本控制的文件系统,它可以维护任何特定文件和/或目录结构的版本(和版本历史)。

                这个想法是所有标准访问命令(例如 dir、read 等)都将具有一个可选的日期/时间参数,当文件系统查看该时间点时,可以传递该参数以访问文件系统。

                我在这方面已经走了很远,但当我不得不真正出去赚钱时,我不得不放弃它。从那时起,它就被搁置了。

                【讨论】:

                • 差不多。它有更多的功能,但写时复制机制是我关注的重点。这是在大约 2001/2 年的时间范围内......
                • 另外,我曾计划将其扩展为“点对点”扩展,以充当冗余存储的虚拟“云”......当时我为自己感到非常自豪:) (那里也有点超前 - 一次!)
                【解决方案11】:

                如果您查看操作系统的启动时间,应该很清楚可以改进磁盘访问。我不确定更改应该在文件系统中还是在操作系统启动代码中。

                【讨论】:

                  【解决方案12】:

                  就个人而言,我真的很抱歉 WinFS 没有飞起来。我喜欢这个概念.. 来自维基百科(http://en.wikipedia.org/wiki/WinFS):

                  WinFS 包含一个关系数据库 用于存储信息,并允许 要存储的任何类型的信息 在里面,只要有一口井 为类型定义的架构。 然后可以将单个数据项 通过关系联系在一起, 由 基于某些属性的系统或 由用户明确说明。作为 数据具有明确定义的模式,任何 应用程序可以重用数据;和 使用关系,相关数据 也可以有效地组织起来 如检索。因为系统知道 的结构和意图 信息,它可以用来制作 启用高级的复杂查询 通过数据搜索和 通过聚合各种数据项 利用之间的关系 他们。

                  【讨论】:

                    猜你喜欢
                    • 2018-04-10
                    • 1970-01-01
                    • 2010-10-12
                    • 2016-09-21
                    • 2013-04-28
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2013-04-25
                    相关资源
                    最近更新 更多