数据存在于一个时间和地点。我们正在使用越来越多的应用程序,这些应用程序都使用带时间戳和位置标记的数据运行。随着物联网(IoT)设备的兴起,这两种数据类型现在都变得突出起来。
如果我们登录到仪表板控制台,使我们能够查看由仅偶尔连接的风力涡轮机或其他工业土木工程部门记录的数据,则知道创建任何特定数据的时间很重要。
如果我们的数据仓库跨越分布在广阔地理区域的大量涡轮机(或桥传感器,交通监控器或人为携带的坚固型安全设备等),那么位置感知数据就尤为重要就数据的重要性而言,数据源本身是一个附加因素。
然后是云计算
如果考虑到云计算在全球范围内发展的方式,这些核心事实会更加复杂,从而导致我们将云功能的“实例”放置在地球上不同的数据中心中。再一次,我们面临着与时间和位置有关的数据分离问题,所有这些问题都会造成延迟,即在我们请求数据(或更经常地,我们的应用程序和数据库发出请求)之间以及我们何时真正能够得到它。
那么,现代的云原生软件应用程序开发和数据科学专业人员如何应对这一挑战?问题是,随着这些软件工程专业人员试图解决将应用程序扩展到新地区所使用的手动变通办法,他们常常会在此过程中造成性能问题。
云计算数据架构师用于处理现代数据访问和管理困境的一项关键技术是数据分区。这里的承诺和核心技术主张围绕以下建议:按位置划分数据可以使全球组织解决由分布式数据引起的延迟问题。
数据库管理系统公司蟑螂实验室的产品营销副总裁是吉姆·沃克。Walker提醒我们,IT延迟与最终用户对产品或服务的“体验”直接相关,他说,如今的企业必须能够实时接收、分析和处理数据,以提供最佳的用户体验。
“100ms(毫秒)规则是由Gmail的创建者paulbuchheit提出的,它指的是人的延迟阈值,在这个阈值中,交互感觉是即时的。超过100毫秒,我们人类开始发送一个时间延迟。从这个角度来看,信息从世界的一边传到另一边会增加大约250毫秒的延迟,而且只有在信息沿着最直接的路径移动的情况下,才会出现这种情况。不幸的是,数据不是直线传播的,所以服务器和网络用户之间的距离很重要,”Walker说。
数据在地球上跳跃
但距离并不是唯一的挑战。高速光可以在14毫秒内从纽约传输到旧金山(在真空中),但数据不能在真空中传输。它通过多个不同的网络设备传输,这些“跳和跳”也增加了延迟——传输100英里但跳5次的信息的延迟比只有两次跳的2500英里的请求要长。这意味着位置对于优化数据传输方式同样重要。
由于这些事实,Cockroach Labs的Walker坚持认为,位置必须成为我们考虑用于现代应用程序和开发人员的数据库的新驱动力和决定性载体。
“当我们朝着更加数字化和即时的世界迈进时,我们需要从逻辑数据模型的思维方式转变为也认识到物理组件的重要性的构想–您要在哪里操作以及用户将在哪里。当您考虑数据隐私挑战时,这一点就变得尤为重要。数据需要更接近用户,以便我们可以更快地将数据传递给他们并满足100ms规则。” Walker说。
Google开发了将行级分布式数据附加到地理位置的功能,称为地理分区,以满足全球分散环境中的延迟要求。这提供了一定程度的自动化,使数据团队可以决定数据应在物理上驻留的位置,同时为管理员提供在生产中修改这些要求的选项。
可以通过最小化发出查询的位置与满足这些查询的数据所驻留的位置之间的距离来减少延迟。我们“简单地”更改了配置,数据库将数据物理地移动到需要的位置。这意味着随着组织将业务扩展到新的地理位置,它不一定会导致停机。
数据需要自动适应流量模式以减少延迟,并且需要具有高可用性,因此,如果一个数据中心脱机,由于数据存储在可以快速响应的第二个附近数据中心中,因此服务不会出现滞后现象。通常,全球部署涉及的距离意味着开发人员必须始终在可用性和延迟之间进行权衡。但是,按数据库中的位置进行分区可以使开发人员构建高可用性和低延迟的应用程序。现在看来,这是一种奢侈,但是当期望应用程序能够以光速执行和自动化时,这将成为必需。
5G道路的延迟责任
重要的是要注意,以轻快的速度提供体验并不仅仅是自动化的速度。这是关于能够管理和控制自动化的问题。
随着5G速度的提高,我们对实时计算意味着什么的概念可能会变为系统性能的更轻量级版本。我们的数据可以访问应用程序层的速度以及以后我们的应用程序可以访问数据的速度将变得比现在更加紧迫。
对于酒店,房屋和住宅,肯定仍然是位置,但是在精心配置的数据体系结构能够满足全球分散的部署要求的世界中,更多的是位置、分区问题。