天天看点

Starfish帮助驯服大量非结构化数据

作者:AI时代前沿

“你有什么资料?”“我可以访问它吗?”对于任何数据驱动型企业来说,这些问题似乎都很简单。但是,当并行文件系统上有数十亿个文件分布在存储空间中时,这些问题实际上就变得非常难以回答了。这也是Starfish存储的亮点所在,因为它独特的数据发现工具已经被许多国家的顶级HPC站点和越来越多的GenAI商店所使用。

Starfish帮助驯服大量非结构化数据

在高端非结构化数据管理领域中存在一些矛盾:文件系统越大,对它的了解就越少。拥有的字节越多,这些字节就越没用。我们越接近使用非结构化数据来实现辉煌、惊人的事情,文件访问的挑战就越大。

这是Starfish存储公司创始人Jacob Farmer自10年前创办公司以来一次又一次遇到的情况。

“每个人都想挖掘自己的文件,但他们将面对一个残酷的事实:他们不知道自己拥有什么,他们拥有的大部分都是垃圾,他们甚至无法访问这些文件,无法做任何事情。”他表示。

多年来,许多大数据挑战已经得到解决。数据存储的物理限制已基本消除,使组织能够跨分布式文件系统和对象存储存储PB级甚至EB级的数据。大量的处理能力和网络带宽是可用的。机器学习和人工智能的进步降低了HPC(高性能计算)工作负载的进入门槛。生成式人工智能(GenAI)革命正如火如荼地进行着,备受尊敬的人工智能研究人员正在谈论在十年内创造出通用人工智能(AGI)。

我们从所有这些进步中受益,但我们仍然不知道数据中有什么,谁可以访问它?这怎么可以呢?

“对我来说,最难的部分是解释这些问题还没有解决。” Farmer继续说,“人们认为这是生活的事实,所以他们甚至没有尝试做任何事情。他们不会进入你的非结构化数据,因为人们普遍认为这是一个未知的领域。”

Farmer详细阐述了非结构化数据问题的本质,以及Starfish的解决方案。

“我们要解决的问题是‘这些文件到底是什么?’”他说。“在文件管理方面,除非你有强大的工具,否则你无法处理数十亿个文件。你什么也做不了。”

在桌面文件系统上运行搜索,需要几分钟才能找到一个特定的文件。尝试在由数十亿个单独文件组成的并行文件系统上执行此操作,这些文件占用PB级的存储空间,可能要等待相当长的时间。

大多数Starfish的客户都在积极地使用存储在并行文件系统中的大量数据,例如Lustre、GPFS/Spectrum Scale、HDFS、XFS和ZFS,以及存储供应商(如VAST data、Weka、Hammerspace等)使用的文件系统。

许多Starfish的客户正在进行高性能计算或人工智能研究工作,包括劳伦斯利弗莫尔和桑迪亚等美国国家实验室的客户;哈佛、耶鲁和布朗等研究型大学;美国疾控中心(CDC)和美国国立卫生研究院(NIH)等政府组织;雪松西奈儿童医院和杜克健康中心等研究型医院;迪士尼和梦工厂等动画公司;以及大多数顶尖的制药研究公司。十年来,Starfish公司的客户管理着超过1EB的数据。

Starfish帮助驯服大量非结构化数据

这些机构需要访问HPC和AI工作负载的数据,但在许多情况下,这些数据分布在数十亿个单独的文件中。文件系统本身通常不提供工具来告诉您文件中的内容、何时创建的以及谁控制对它的访问。文件可能有时间戳,但它们可以很容易地更改。

问题是,该元数据对于决定文件是否应该保留、移动到运行在低成本存储上的存档还是完全删除至关重要。

Starfish方法

Starfish采用元数据驱动的方法来跟踪每个文件的起源日期、文件中包含的数据类型以及所有者是谁。该产品使用Postgres数据库维护文件系统中所有文件的索引以及它们随时间的变化情况。当需要对一组文件采取操作时(例如,删除超过一年的所有文件),starfish的标签系统使具有适当权限的管理员可以轻松完成该操作。

在跟踪非结构化数据时,还会出现另一个悖论。Farmer说:“你必须知道文件是什么,才能知道文件是什么。”“通常你必须打开文件并查看,或者你需要用户输入,或者你需要一些其他API来告诉你文件是什么。因此,我们的整个元数据系统使我们能够在更深层次上理解什么是什么。”

Starfish并不是这个领域唯一的选手。有竞争的非结构化数据管理公司,也有主要关注结构化数据的数据目录供应商。然而,最大的竞争对手是那些认为自己可以基于脚本构建文件目录的HPC站点。其中一些基于脚本的方法可以工作一段时间,但当它们触及文件管理的上层时,它们就会混乱。

“拥有20台ZFS服务器的客户可能有自己的方法来做我们所做的事情。没有一个单一的文件系统有那么大,他们可能知道去哪里找,所以他们可能能够用传统的工具来完成。”他说。“但当文件系统变得足够大,环境变得足够多样化,或者当人们开始将文件传播到足够广泛的区域时,我们就成为了文件所在位置的‘定位地图’,以及做任何你需要做的事情的工具。”

也有很多边缘情况会难度提高。例如,数据可以被研究人员移动,目录可以重命名,留下破碎的链接。有些应用程序可能生成10,000个空目录,或者创建的目录比实际文件还多。

Farmer说:“如果你用一款为企业打造的传统产品来冲击市场,它就会崩溃。”

非结构化文件管理工程

Farmer将这一挑战视为一个工程问题,他和他的团队为此设计了一个解决方案。

基于postgre的索引允许Starfish维护文件系统的完整历史记录,这样客户就可以准确地看到文件系统是如何变化的。Farmer说,唯一的方法是重复扫描文件系统,并将结果与之前的状态进行比较。在劳伦斯利弗莫尔国家实验室,Starfish目录比生产文件系统晚大约30秒。“所以我们正在做一个非常非常紧密的同步。”他说。

有些文件系统比其他文件系统更难处理。例如,Starfish利用IBM的GPFS/Spectrum Scale文件系统公开的内部策略引擎来获取洞察力,为Starfish爬虫提供信息。然而,事实证明,从Lustre获取这些数据非常困难。

“Lustre不会轻易放弃它的元数据。它不是一个高元数据性能系统。Lustre是所有文件系统中最难抓取的,我们在它上面得到了最好的结果,因为我们能够使用一些其他Lustre机制来制作一个超级强大的爬虫。”

一些商业产品可以很容易地跟踪数据。例如,Weka更容易公开元数据,VAST有自己的数据目录,在某种程度上复制了Starfish所做的工作。在这种情况下,Starfish参与了VAST提供的帮助客户获得所需的服务。Farmer说:“我们处理所有问题,但在许多情况下,我们做了特定的工程来利用特定文件系统的细微差别。”

Starfish帮助驯服大量非结构化数据

获取数据

访问结构化数据通常非常简单。来自业务线的某些人通常拥有Snowflake或Teradata上的数据,他们根据公司的策略授予或拒绝访问这些数据。

在非结构化数据的世界中,通常不是这样工作的。文件系统被认为是IT基础设施的一部分,因此控制对文件访问的人是存储管理员或系统管理员。Farmer说,这给想要访问这些数据的研究人员和数据科学家带来了问题。

“访问所有文件或帮助自己分析不属于自己的文件的唯一方法是拥有文件系统的root权限,而这在大多数组织中是不可能的。”Farmer说,“我必须把产品卖给运营基础设施的人,因为他们拥有root权限,因此他们决定谁可以访问哪些文件。”

Farmer说,在某种程度上,为什么组织要依靠过时的、有50年历史的流程来访问组织中可能最重要的数据,这令人困惑,但事实就是如此。“每个人都固守着一个过时的模式,这有点好笑,”他说。“这既是他们的优点,也是他们的缺点。”

从表面上看,Starfish是一个非结构化数据的数据发现和数据目录,但它也可以作为想要访问数据的数据科学家和具有root访问权限的管理员之间的接口,管理员可以向他们提供数据。如果没有像Starfish这样的中介,访问、移动、存档和删除请求的效率可能会低得多。

POSIX文件系统是非常有限的工具。有50多岁了。”他说,“我们已经想出了在这些限制条件下工作的方法,使人们能够轻松地做一些事情,否则就需要列一个清单,通过电子邮件或打电话或其他方式。我们可以无缝地使用与文件系统相关的元数据来驱动进程。”

Starfish帮助驯服大量非结构化数据

我们可能正处于开发具有超人认知能力的人工智能前沿,从而使IT的发展速度比现在更快,永远改变世界的命运。请不要忘记在向存储管理员请求访问数据时表现得友好。