下载本文的PDF版本 PDF

发现的数据库

开放式数据库生态系统促进了生物技术的新发现。它们也能帮助您的组织吗?

詹姆斯·奥斯特尔,美国国家生物技术信息中心 (NCBI)

美国国家生物技术信息中心 (NCBI)1 是美国国立卫生研究院 (NIH) 的一部分,负责处理海量数据。部分列表包括:生物医学领域最大的公共书目数据库 (PubMed)2、美国国家DNA序列数据库 (GenBank)3、在线免费全文研究文章数据库 (PubMed Central)4、基因、基因组和染色体参考集的组装、注释和分发 (RefSeq)5、在线文本搜索和检索系统 (Entrez)6,以及专门的分子生物学数据搜索引擎 (BLAST7、CDD 搜索8 等)。在撰写本文时,NCBI 每天接收约 5000 万次 Web 点击,峰值速率约为每秒 1900 次点击,以及每天约 40 万次 BLAST 搜索,用户约 250 万。该网站每天传输约 0.6 太字节的数据,而对批量数据本地副本感兴趣的人每天通过 FTP 传输约 1.2 太字节的数据。

除了广泛的不同数据类型和繁重的用户负载外,NCBI 还必须应对数据库规模的快速增长,尤其是序列数据库。GenBank 包含 740 亿个碱基对的基因序列,倍增时间约为 17 个月。Trace Repository(保存来自测序机器的色谱图,用于后续基因组序列组装的重新分析)包含 5 亿个色谱图,倍增时间约为 12 个月。最后,由于 NCBI 提供分子生物学和分子遗传学领域的信息资源,这些领域正处于爆炸性增长和创新状态,因此它必须每年多次面对新的数据类别、数据库和数据元素之间的新关系以及新的应用程序。

本文简要介绍了 NCBI 在过去 15 年中针对这些问题的总体战略方法,以及在不同时间点为遵循该战略所做的技术选择。本文并非旨在作为生物信息学或分子生物学的教程,而是试图提供足够的背景知识,以便从 IT 角度理解讨论内容。

分子生物学革命的基础

长期以来,生物学一直是一门观察和比较科学。例如,比较解剖学在生物实体(如图 1 所示的头骨)中找到相似之处,并推断它们可能在两种生物体中具有相似的功能。基于这些对应关系,我们发现我们可以在一种生物体上进行实验或观察,并将其应用于另一种生物体中的相应结构,并在相似条件下推断出相似的结果,即使我们实际上没有在两种生物体上都进行实验。当我们在不同生物体的相似结构上发现许多相似的实验结果时,我们可以推断出更广泛的生物体范围内的普遍原则。由于许多原因,将此类工作转移到计算机上是困难的。获得足够的样本进行统计分析通常是一个挑战。可能难以选择或建模复杂生物形状或功能的相关属性,因为可能有大量参数可能与功能相关或不相关。例如,可能不仅是形状,还包括柔韧性、成分、与其他结构的邻近性以及生理状态等等。

 

蛋白质序列(或编码蛋白质的基因的 DNA)可以建模为简单的字母串,每个字母代表特定的氨基酸或核酸。虽然蛋白质可能会折叠成具有许多解剖结构参数的三维形状,但氨基酸的简单线性链似乎包含了实现最终形状所需的大部分信息。因此,与其比较折叠蛋白质的最终形状或电荷分布,不如比较基因的直接读出,即氨基酸字母串。

这在计算机上建模非常简单,并且有许多算法可以比较字符串并从中提取统计信号。也许同样重要的是,我们不会过多地被我们的假设所蒙蔽。例如,在比较下颌骨等解剖结构时,我们可能会选择与咀嚼相关的参数和测量值,而忽略了随着时间的推移,一些与下颌相关的骨骼已经参与听觉这一既定事实。当我们比较蛋白质字符串时,我们不关心它们的名称或假定的功能,直到比较之后,因此我们更愿意建立新的联系。

图 2 显示了对与人类结肠癌相关的蛋白质进行 BLAST 搜索并与蛋白质序列数据库进行比较的结果。在酵母(一种参与制作面包等的小型生物体)中的一种蛋白质和另一种来自大肠杆菌细菌(存在于大肠中)的蛋白质中,存在显着的命中。请注意,我们所知道的关于人类蛋白质的词语均不适用于其他两种生物体。两者都不是人类,两者都没有结肠,两者都不会患癌症。然而,大量的实验结果描述了这两种蛋白质的功能。事实证明,它们都是 DNA 修复酶。这立即让我们深入了解为什么某些人类的这种蛋白质的遗传损伤可能使他们更容易患癌症。他们修复来自致癌物对其 DNA 的损害的能力较差。此外,还有许多科学家在酵母和大肠杆菌上工作并研究这些蛋白质的实验系统中发表了许多研究论文,这些实验系统不可能应用于人类。

通过进行这种计算搜索和比较,我们可以跨越数百万年的进化,并在看起来完全不同的生物实体之间建立联系。这带来了巨大的洞察力,并大大加快了生物学发现的步伐。我们不会通过挖掘文章的文本或检查序列记录的内容来找到这些信息,而只能通过遍历链接的信息空间并使用数据最初输入时不存在的计算关系来找到。这就是分子生物学革命,也是计算和数据库对该领域如此重要的原因。

战略

NCBI 于 1988 年成立时,目标是构建一个信息资源,该资源可以适应快速变化的数据类型和分析需求,同时仍然为每个主题领域提供足够的细节,以便有意义地计算使用特定领域的数据。我们不希望将数据绑定到任何特定的 IT 技术,而是希望能够随着 IT 技术的演进而迁移数据。我们认识到,我们不应该为分子生物学等小众市场开发专用硬件,而是应该使我们的问题适应当时的大众市场技术,以最大化我们的性价比。我们希望支持科学家可以随时访问和熟悉的计算机,无论它们是什么。

由于这些原因,NCBI 将其主要数据模型创建为 ASN.1(抽象语法表示法 1)中定义的一系列模块。它是一个已建立的国际标准 (ISO 8824),具有显式数据定义语言。它既具有人类可读的文本序列化,又具有紧凑的二进制序列化,从而可以使用文本数据进行开发和调试,然后通过简单地翻转软件中的开关来实现紧凑的生产数据交换。该语言旨在独立于硬件平台或编程语言或存储技术。这使其成为以稳定、可计算的方式定义复杂数据的理想选择,同时购买了灵活性,可以根据机会的出现将数据甚至部分数据移动到存储、检索或计算环境中。

当时的次优语言选择是 SGML,即 XML 的前身。SGML 被设计为纯粹的语义模型,它也具有机器无关的规范和编码,但它也有许多其他缺点。由于它是专门为支持出版而开发的,因此它包含许多用于包含字符集(如包含的替换实体)和光排机指令(如处理指令)的组件,这些组件对于清晰地定义纯数据交换来说是不必要的复杂。

有不同类别的数据(实体、元素、属性),具有不同的语法和属性。这些在打印的上下文中是有意义的(实体用于替换字符,元素用于定义文档的可见内容,属性用于分配读者不可见的内部属性),但对于定义数据结构则不然。除了定义文本的这些复杂性之外,定义数据(如整数、浮点数、二进制数据)的基本类型完全缺失。定义语法 (DTD) 使得难以支持模块化定义,因为元素名称在整个 DTD 中必须是唯一的,这往往会在在不同的数据结构中包含常用的元素名称(如名称或年份)时产生冲突。

在 1990 年,以 ASN.1 而不是关系表或自定义文本记录来定义长期科学数据的概念在生物医学领域是一个激进的想法。NCBI 是 OMG(对象管理组织)的创始成员,但在 CORBA 被宣布为标准时退出了,因为结果是一个轻量级问题的重量级解决方案。具有讽刺意味的是,一些制药行业的成员和一些欧洲生物信息学小组在大约 NCBI 放弃 OMG 和 CORBA 的同时发现了它们。这些小组在很大程度上忽略了 NCBI 在 ASN.1 中已经完成的工作,在基于 OMG 的 CORBA 标准工作中变得非常活跃。这些小组现在也发现了 XML。随着 OMG 从 CORBA 转向支持 XML 标准,这些小组现在已将其标准工作转移到这项技术中。

经过多轮修订,SGML 衍生出了 HTML,然后是 XML,最后是 XML Schema。随着 XML Schema 的出现,SGML 语言的大部分结构缺陷都得到了纠正,以至于它成为数据交换的合理选择。它仍然缺乏紧凑的二进制编码,这意味着具有相当多内部结构的序列数据记录在 XML 中比在二进制 ASN.1 中大六倍。XML 仍然受到实体、属性和元素之间深奥差异的困扰。然而,XML 相对于 ASN.1 的巨大优势在于大量可用的软件工具以及越来越多的程序员至少具备基本的工作知识。

鉴于这种巨变,NCBI 利用了 ASN.1 可以轻松自动映射到 XML 并返回的事实。我们自动生成与我们的 ASN.1 数据定义相对应的 DTD 和模式,并自动生成与 ASN.1 同构的 XML。我们继续在内部使用 ASN.1 来定义数据和客户端/服务器接口,但为用户社区中使用 XML 的人提供 XML 和 Web 服务等效项。NCBI 通过使用 ASN.1 作为其服务和数据库的中心架构而获得的许多优势现在也正在被采用 XML 的更大社区所实现。该方法的威力显然胜过语言的缺陷。

在 NCBI 内部采用 ASN.1 提供了形式结构与灵活实现的结合,这在 15 年的快速增长中一直是一个有价值且强大的工具。不幸的是,它从未在 NCBI 之外得到广泛采用,可能主要有三个原因:(1) ASN.1 虽然是一个公共标准,但从未拥有像 Web 上的 HTML 那样广泛的公共代码库,HTML 催生了 XML 工具;(2) 它是在分布式网络服务的需求对于该领域的大多数从业者来说还不明显之前提交给生物医学界的;(3) 它用于定义一个大型互连的数据模型,范围从蛋白质到 DNA 到书目数据,而当时这些领域被认为是独立的、不相关的活动。

该模型还在任何大型基因组被测序之前,就在序列片段之间建立了到大型基因组规模结构的显式连接。这些属性使 NCBI 能够在大规模基因组测序发展的情况下扩展其软件和数据库资源的大小和复杂性,而无需对其基本数据模型进行重大更改。具有讽刺意味的是,当生物医学界作为一个整体开始认识到使这成为可能的属性时,针对问题不同部分的其他格式已经以临时的方式零散地发展起来,而这些格式仍然是当今生物技术中的常用格式。

顺便提一下,NCBI 采用 XML 而不是 ASN.1 作为其电子文本活动的内部标准,这些活动非常广泛(包括 PubMed、PubMed Central 和一个名为 NCBI Bookshelf 的在线图书集)。这些是文本文档,用 SGML 的派生语言表示它们是自然而适当的。我们使用标准的 XML 解析器和验证器,并使用 XSLT 将内容实时呈现为 HTML 和其他格式。NCBI 制作了一个用于电子出版的模块化 DTD,现在正被许多电子图书馆倡议和商业出版商采用作为标准。电子出版的兴起、XML 作为一种语言以及 SGML 中的书目数据在时间上比 ASN.1 中的基因组模型更接近。由于这些原因,我们似乎在让外部社区采用 NCBI 内部使用的 XML 标准方面运气更好。

一旦我们选择了数据定义语言,我们就必须定义数据模型。我们希望构建整体信息架构,以支持前面描述的分子生物学中的发现类型。为此,我们在逻辑设计中尝试尽可能地将实验方法(例如,蛋白质序列本身或来自 X 射线衍射研究的三维结构)所做的物理观察与数据存入数据库时对数据的解释分开。解释是指当时对观察结果的名称和功能的归属或推断。

这种分离对于两个原因至关重要。首先,当科学家将数据存入公共数据库时,他们几乎从不随着多年来的理解发展而更新数据。因此,注释往往随着时间的推移而变得陈旧。将需要大量训练有素的人员来实时维护数据库中每个记录上的此信息,因为本质上他们将面临理解和提取生物医学领域的整个科学文献。除少数例外,这不切实际。其次,他们所做的解释可能不准确,或者可能存在合理的科学意见分歧或新的见解,这些见解可能会完全改变看待某个领域的方式。因此,解释是不精确的、不完整的、易变的,并且往往过时。然而,观察到的数据(序列或文章)仍然稳定,即使我们对它的理解发生了变化。重要的是将事实数据与可用的解释联系起来,而不是围绕它组织整个信息系统。

查找关于事实数据及其含义的描述性信息的自然位置是科学文章。文本记录已经适应了科学论述中典型的意见分歧、不精确的语言、不断变化的解释,甚至范式转变。也就是说,在结构化数据库中难以良好或完整地以最新方式表示的内容,已经以已发表的科学文献的形式被表示和维护为最新。正如我们觉得徒劳地与计算机硬件的市场力量作斗争以使其适应我们的需求,而是适应我们的战略一样,我们选择拥抱科学文献的很大程度上非结构化的文本作为我们事实数据库的“主要注释”,而不是试图逆流而上并在所有事实数据库中自行维护结构化的、最新的注释。

因此,我们将我们的信息空间定义为一系列节点(图 3)。每个节点代表一类特定的观察结果,例如 DNA 序列、蛋白质序列或已发表的科学文章。每个节点都可以进行结构化以适应该类数据,并且与该节点及其特性(无论是技术特性还是社会特性)相关的数据流和工具可以是唯一的。即使每个节点不需要与另一个节点共享数据库或模式,也在它们之间定义了显式连接:DNA 编码蛋白质;或者在特定的科学文章中发表的特定蛋白质序列。

我们还在节点内建立了计算链接。例如,我们在蛋白质节点中的所有蛋白质之间运行 BLAST 比对,并存储非常相似的蛋白质之间的链接。在这种情况下,我们不是在寻找细微的匹配(您仍然需要使用分析工具来做到这一点),而是捕获可能很重要的关系,无论它们是否已被知晓。这使得检查诸如“是否有其他蛋白质与此蛋白质相似?”之类的问题非常快速和直接。

同样,节点之间的链接通常也是通过计算完成的。序列记录包含引用信息,这些信息可以通过容错引用匹配工具与 PubMed 书目记录进行匹配。序列记录引用中有限的字段可以与 PubMed 中的生物医学文献语料库匹配,如果返回唯一匹配,我们可以可靠地链接到 PubMed 中更完整和准确的引用。我们已经能够对 PubMed Central 中回溯扫描文章的 OCR 文本进行类似的匹配,以将扫描文章的参考文献可靠地链接到完全结构化的引用。涉及匹配序列、结构、生物体名称等的类似过程可以应用于将一个资源中的有限信息链接到另一个资源中更完整和准确的信息。

通过此系统,我们可以重现科学家在前面提到的结肠癌示例中遵循的逻辑过程。我们可以使用诸如人类结肠癌症之类的术语查询书目节点。我们将找到大量文章,其中大多数与序列无关。我们可以从这些文章链接到 DNA 节点,因为其中一些文章是关于对结肠癌基因进行测序的。从 DNA 节点,我们可以链接到基因编码的蛋白质。使用计算的 BLAST 链接,我们可以快速找到与人类结肠癌序列相似的其他蛋白质。此列表包括酵母和大肠杆菌 DNA 修复酶蛋白质,即使它们与人类结肠癌基因没有任何共同的注释或词语。

从蛋白质,我们可以链接到描述这些基因测序的一两篇文章。现在我们有了使用描述这些基因的术语(例如,DNA 修复酶大肠杆菌等)的文章。使用文章之间计算的关系,我们可以找到其他共享这些术语的文章,但它们不是描述序列,而是描述细菌和酵母中这些基因的遗传学和生理学。在几分钟内,一位开始阅读人类结肠癌基因的人类临床遗传学家正在阅读一个完全不同领域的研究文献,在遗传学家通常不会关注的期刊上,通过与酵母和大肠杆菌中的大量实验研究进行比较,了解和计划关于人类疾病基因的实验。

通过识别我们可以计算的记录之间的关系,我们实现了两个目标。第一个是可扩展性。我们可以利用摩尔定律来保持领先于我们数据的爆炸性增长。我们可以添加更快/更便宜的 CPU,而不是必须增加更多的人员。如果开发出一种新算法,我们可以对整个数据集重新运行它。在这种情况下,更多的数据会提高我们的统计数据,而不是压垮我们的员工。

第二个目标是提高进行发现的能力。由于我们正在计算关系,因此我们可能会在数据元素之间建立重要的联系,而作者在提交数据时并不知道这些联系。在事实之间建立以前未知的联系是发现的本质,该系统旨在支持此过程。每次添加节点时,我们都会产生人员、设计、软件开发和维护成本。因此,成本随着节点数量的增加而增加。发现的机会随着节点之间连接数量的增加而增加,因此系统的价值也随着节点数量的增加而加速增长,而成本则以线性速率增长(图 4)。

在 NCBI,我们理解,除非在更广泛的生命科学背景下通过实验证实,否则使用生物数据进行的纯计算连接很少能被认为是真正的科学发现或可靠的新“事实”。NCBI 的作用是帮助科学家决定他们的下一个实验应该是什么,尽可能提供全面且联系良好的信息集,无论是计算的还是手动编译的。我们是发现过程中的工具,而不是过程本身。这有助于我们限定我们尝试解决的问题和我们不尝试解决的问题。在像科学研究这样持续不断的、开放式的过程中,重要的是要有一个框架来决定在领域发展的任何给定时间点,多少是足够的以及要解决哪些问题,特别是对于像 NCBI 这样的大型公共资源而言。

Entrez

1990 年,NCBI 开始创建一个基于这些原则的最终用户信息系统,称为 Entrez,旨在支持前面描述的一些数据库。第一个版本有三个逻辑节点:DNA 序列、蛋白质序列和书目数据(图 3)。它首先在 CD-ROM 上发布。数据采用 ASN.1 格式,带有 B 树索引,指向大型数据文件中的偏移量。我们创建了 NCBI 软件工具包,这是一组 C 库,可以搜索、访问和显示数据。使用这些库,我们构建了 Entrez。我们还以源代码的形式公开了这些库,以鼓励学术界和商业界使用科学数据。

C 工具包被设计为在 PC、Mac、Unix 和 VMS 上相同的应用程序源代码。它基于 ANSI C,但具有一些必要的扩展以实现可移植性。这包括纠正令人不快的行为和补偿 ANSI 标准在所有目标计算平台上的实现中存在的实际问题。例如,ANSI C 具有令人不快的行为,即非字符的 toupper() 是“未定义的”,因此当您尝试对文本数组中的整数执行 toupper() 时,ANSI C 编译器可能会核心转储。这是 ANSI 标准行为,但对于应用程序来说令人不快。因此,对于这种情况,我们创建了安全的宏,这些宏将表现出非 ANSI 但稳健的行为。ANSI C 实现中的一个实际问题是当时可用的微型计算机内存模型缺乏标准支持。PC 有 NEAR 和 FAR 内存,Mac 需要使用 Handle。在 Mac、PC 和 Unix 上,没有统一的方法来分配大量内存。C 工具包具有以标准方式为应用程序程序员执行此操作的函数,但在底层使用本机操作系统。

最初,我们仅要求计划在 NCBI 外部导出的库和应用程序使用 NCBI 工具包编写。在内部,我们有 Unix 机器,因此我们只是用 ANSI C 编写。然而,出现了两个问题。一个问题是,有时我们会创建一个供内部使用的函数,后来我们决定导出它,并且必须为此目的重写它。另一个问题是,随着 Unix 的各种版本的演变,我们发现自己重写了 ANSI C 应用程序,但只是重新编译了工具包应用程序。随着 ANSI C++ 的出现,我们现在创建了一个 NCBI C++ 工具包,并且我们现在要求所有应用程序都使用此工具包编写,无论是否打算供内部使用或导出。我们所有在每日海量负载下运行的主要公共应用程序都使用与用户从我们的 FTP 站点获取的专用实用程序相同的工具包框架编写。

Entrez 从基于 CD-ROM 的具有三个数据节点的系统,发展到基于工具包的具有五个节点的 Internet 客户端/服务器,再到当前具有 20 多个节点的基于 Web 的版本。每个节点代表不同数据对象的后端数据库。每个数据对象可以存储在设计非常不同的数据库中,具体取决于数据的类型、用途和量。尽管如此,向用户呈现的仍然是具有一致导航的单个统一数据空间。

书目数据库以 XML BLOB 的形式存储在关系数据库中。这些数据库的模式表示 BLOB 的跟踪和标识,但不表示文章本身的结构。文章结构由 DTD 而不是数据库定义。同样,许多序列数据库以 ASN.1 BLOB 的形式存储在关系数据库中。同样,数据库的模式在很大程度上反映了 BLOB 的跟踪以及数据库经常使用的一些有限数量的属性。它不反映 ASN.1 数据模型的结构。在这两种情况下,都出于类似的原因选择了 BLOB 模型。

这些数据库倾向于一次更新整个记录,通过完全替换而不是一次修改一个属性。大量这些记录在同一时间需要相同的更新的情况并不常见。通常,每个记录都是一个逻辑整体。它作为一个单元创建,作为一个单元存入,作为一个单元检索,并作为一个单元使用。记录的整个模式非常复杂,包含许多可选元素。将这样的记录表示为规范化数据库将生成大量稀疏填充的表,关系复杂。最常见的用途无论如何都需要连接所有表才能重现记录。

相比之下,其他大型序列数据库,例如用于 EST(表达序列标签)的数据库,是规范化的关系数据库。EST 是大型的 DNA 短片段文库。来自单个生物学文库可能存在数万个简单的 EST 记录。EST 的许多属性由文库而不是单个记录定义。因此,在这种情况下,在数据库大小以及常用任务方面,完全规范化数据具有显着的优势。

尽管每个节点底层数据库的设计和实现方式各不相同,但索引和检索都有一个通用的接口。Entrez 索引是大型 ISAM(索引顺序访问方法),针对检索速度进行了优化,而不是实时更新。它们每天晚上批量更新一次。索引引擎有几种不同的接口,例如函数库或 XML 文档。在这些接口中,每个数据库都可以提供要为每条记录索引的术语、要将它们索引到的字段,以及包含这些术语的记录的 UID(唯一 ID)。此外,每个数据库都必须为每条记录提供一个小的、结构化的文档摘要 (DocSum)。Entrez 从这些简单的标准输入构建布尔查询的索引,并将 DocSum 记录本地存储,以便以简单的结果列表形式呈现给用户。

所有高负载、高速查询和列表显示都由单个优化应用程序以统一的方式为所有后端数据库执行。但是,一旦用户为特定数据库选择了感兴趣的记录,他们就会被引导到该特定数据库的专用查看器。每个支持特定数据库的团队都可以提供适合特定数据库的专用视图和服务,但所有团队都可以使用通用的用户界面和搜索引擎。

总结

NCBI 从 1988 年的 12 人发展到支持少数序列数据用户,发展到如今 200 多人支持数百万数据用户,数据类型从序列到基因,再到书籍、结构、基因组和文章。在这个过程中,我们通过正式的数据定义(无论是 ASN.1 还是 XML)保持了一致性,这些定义将平台和实现上不同的数据类型结合在一起,并根据资源的特定需求量身定制,但都在通用的(C 或 C++)工具包框架下编码。通过仔细选择要表示的数据对象并仔细评估其属性(技术和社会学方面),为快速发展和不断变化的生物医学和分子生物学领域构建一个可行且相对稳定的 IT 解决方案成为可能。

我们已经将我们的数据迁移到新的硬件平台(例如,从几台 Solaris 机器迁移到 Linux/Intel 机器集群)和新的软件框架(例如,从简单的服务器迁移到具有排队系统的负载均衡分布式服务器)。我们让各个层级的社区都参与进来:从直接在我们网站上使用我们服务的科学家,到使用我们的 Web 服务将我们的服务嵌入到他们的页面或脚本的其他网站,再到将我们的代码编译到独立的本地应用程序中或将我们的函数嵌入到他们的产品中的团队。

有关更多示例,可通过基于当前分子生物学主题的教程进行说明,读者可以浏览 NCBI Coffee Break 部分,网址为 http://www.ncbi.nlm.nih.gov/books/。问

相关链接

1. NCBI: http://www.ncbi.nlm.nih.gov/

2. PubMed: http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed

3. GenBank: http://www.ncbi.nlm.nih.gov/Genbank/index.html

4. PubMed Central: http://www.pubmedcentral.gov/about/intro.html

5. RefSeq: http://www.ncbi.nlm.nih.gov/RefSeq/

6. Entrez: http://www.ncbi.nlm.nih.gov/entrez/

7. BLAST: http://www.ncbi.nlm.nih.gov/BLAST/

8. CDD (保守域数据库): http://www.ncbi.nlm.nih.gov/Structure/cdd/cdd.shtml

喜欢它,讨厌它?请告诉我们

[email protected] 或 www.acmqueue.com/forums

詹姆斯·奥斯特尔 接受了传统发育生物学和显微镜学的培训。他获得了哈佛大学分子生物学博士学位。他开发了一个名为 MacVector 的分子生物学家商业软件包,该软件包于 1982 年首次发布,至今仍在使用。1988 年,他成为新成立的美国国立卫生研究院国家生物技术信息中心信息工程部门的主任,后来被任命为高级生物医学研究服务部门。

2005 1542-7730/05/0400 本文由美国政府雇员撰写,属于公共领域。

acmqueue

最初发表于 Queue vol. 3, no. 3
数字图书馆 中评论本文





更多相关文章

Qian Li, Peter Kraft - 事务和无服务器计算是天作之合
数据库支持的应用程序是无服务器计算令人兴奋的新领域。通过紧密集成应用程序执行和数据管理,事务性无服务器平台实现了许多在现有无服务器平台或基于服务器的部署中不可能实现的新功能。


Pat Helland - 任何其他名称的身份
新兴的系统和协议既收紧又放宽了我们对身份的概念,这很好!它们使完成工作更容易。REST、IoT、大数据和机器学习都围绕着有意保持灵活,有时甚至含糊不清的身份概念。身份概念是我们分布式系统的基本机制的基础,包括互换性、幂等性和不变性。


Raymond Blum, Betsy Beyer - 实现数字永恒
当今的信息时代正在为世界所依赖的数据创造新的用途和新的管理方式。世界正在从熟悉的物理制品转向更接近信息本质的新表示手段。我们需要流程来确保知识的完整性和可访问性,以保证历史将被了解和真实。


Graham Cormode - 数据草图
您是否曾感到被源源不断的信息流淹没?似乎不断涌入的新电子邮件和短信需要持续关注,还有电话要接听、文章要阅读、敲门声要回应。将这些碎片拼凑在一起以跟踪重要事项可能是一个真正的挑战。为了应对这一挑战,流数据处理模型越来越受欢迎。其目的不再是捕获、存储和索引每一分钟的事件,而是快速处理每个观察结果,以便创建当前状态的摘要。





© 保留所有权利。

© . All rights reserved.