数据总是与时间和地点紧密相连。如今,众多应用程序依赖于带有时间戳和位置标记的数据进行操作,尤其是在物联网(IoT)设备逐渐普及的背景下,这两种数据类型的重要性愈发凸显。

当我们访问控制台仪表板以查看风力涡轮机或其他偶尔连接的工业设备所记录的数据时,了解数据生成的具体时间显得至关重要。
如果我们的数据仓库涵盖了广泛地理区域内大量涡轮机(或桥梁传感器、交通监控器及其他便携式安全设备等),那么数据的位置信息更是不可或缺。数据源本身的特性也为数据的重要性增添了层次。
再谈云计算
考虑到云计算在全球范围内的发展,这些核心事实变得更加复杂,使得我们在不同的数据中心部署云功能时面临数据的时间和位置分离问题。这一过程常常导致延迟,即在请求数据时(通常是我们的应用程序和数据库发出请求)与我们实际获取数据之间的时间差。
那么,现代云原生应用程序的开发者和数据科学家是如何应对这个挑战的呢?在这些软件工程师尝试通过手动方式将应用程序扩展至新区域时,他们常常无意中造成性能问题。
云计算数据架构师解决现代数据访问和管理难题的一项关键技术便是数据分区。这一策略的核心在于:根据位置划分数据可以帮助全球组织应对由分布式数据引发的延迟问题。
蟑螂实验室的产品营销副总裁吉姆·沃克指出,IT延迟与最终用户对产品或服务的“体验”直接相关。他表示,现代企业必须能够实时接收、分析和处理数据,以提供卓越的用户体验。
沃克提到,“100毫秒规则”是由Gmail创始人保罗·布赫特提出的,指的是人类感知延迟的临界点。在超过100毫秒后,用户会感受到明显的时间延迟。信息从世界一端传输到另一端的过程会增加大约250毫秒的延迟,尤其是在信息沿最直接路径传输的情况下。但不幸的是,数据并非以直线形式传播,因此,服务器与用户之间的距离显得尤为重要。
数据的传输过程
然而,距离并不是唯一的挑战。虽然光速在真空中可以在14毫秒内从纽约到达旧金山,但数据无法在真空中直接传输。它需要通过多个网络设备,频繁的“跳跃”进一步增加了延迟——如果数据需要在100英里内跳转5次,其延迟会比在2500英里内仅跳转2次更长。这表明,优化数据传输的方式时,位置同样至关重要。
正因如此,沃克强调,位置必须成为我们为现代应用程序和开发人员考虑数据库时的新驱动力和关键因素。
他补充道:“随着我们迈向更加数字化和即时的世界,我们需要从单纯的逻辑数据模型转变为认识到物理组件的重要性——即考虑操作位置和用户位置。当我们面对数据隐私挑战时,这一点尤为重要。数据需要尽可能靠近用户,以便更快速地传递,满足100毫秒的规则。”
为应对全球分散环境中的延迟要求,谷歌开发了将行级分布式数据与地理位置结合的功能,称为地理分区。这种方式提供了一定程度的自动化,使数据团队可以决定数据的物理存放位置,同时管理员也可以在生产过程中调整这些要求。
通过缩短发出查询的位置与满足这些查询的数据存放位置之间的距离,可以有效减少延迟。我们只需更改配置,数据库便会将数据物理移动到需要的位置。这意味着,随着组织在新的地理区域扩展业务,不一定会导致系统停机。
数据需要能够自动适应流量模式以减少延迟,并保持高可用性。因此,如果一个数据中心出现故障,存储在邻近数据中心的数据可以迅速响应,确保服务不会受到影响。全球部署通常涉及的距离,使得开发人员必须在可用性和延迟之间进行权衡。然而,按位置分区的数据库能够帮助开发人员构建高可用性和低延迟的应用程序。在当前对应用程序的执行速度和自动化要求日益提高的环境中,这一策略显得尤为必要。
5G速度与延迟管理
值得注意的是,迅速提供卓越体验不仅仅依赖于自动化的速度,更在于如何管理和控制这些自动化过程。
随着5G速度的提升,我们对实时计算的理解可能会演变为更加轻量级的系统性能版本。数据访问应用程序的速度以及应用程序获取数据的效率将变得更加迫切。
对于酒店、住宅等场所,位置依然重要,但在精心配置的数据架构能够满足全球分散部署要求的时代,位置与分区问题变得更加复杂。
