为什么我们建立自己的数据格式

今天,我们生活在一个24/7的数据驱动世界中,据估计,平均每天我们会产生约2.5兆字节的数据,其中许多数据是由Google,Facebook,亚马逊,LinkedIn,Netflix等。 思科最近的一份报告预测:

●到2020年,有史以来制作的所有电影的千兆字节(GB)将每2分钟通过全球互联网。

●在全球范围内,到2020年,IP流量将达到每秒511兆比特(Tbps),相当于1.42亿人每天整天,每天同时流式传输互联网高清(HD)视频。

●到2020年,全球IP流量将相当于每年5040亿DVD,每月420亿DVD或每小时5800万DVD。

思科最近还更新了其2016-2021年全球消费者网络,电子邮件,数据流量预测。

思科与此职位相关的另一个有趣的预测与2016-2021年的文件共享有关。

构建可处理如此大量数据的更智能,可扩展且具有容错能力的应用程序是一项巨大的挑战,但对于初创企业和消费者而言,这也代表着巨大的机遇。 对于那些针对诸如金融服务等大市场的颠覆性初创公司(例如Blochchain初创公司)而言,这使他们处于强大的地位,可以挑战大型现有金融机构,这些机构主要依靠的不是为当前24/7全天候网络爆炸而设计的集中式传统技术以及消费者产生的大数据。 对于消费者而言,与大型运营商相比,它以更具竞争力的价格提供了更多选择和更高质量的服务。

为什么我们需要一种新的数据格式?

最近,我们见证了分布式系统向主流软件行业的轰动回归。 毫无疑问,微服务是软件行业中最热门的炒作和流行语之一,这就是所谓的Gartner Hype Cycle !证明了微服务的存在! 在这篇文章中,我们询问早期的初创公司是否应采用微服务。

几年前,分布式计算的好处似乎只集中在学术研究的用例上。 人们经常提到的一个常见用例是,科学家能够使用网格计算通过跨学科/机构间的合作,利用网格计算来解决基因组学等领域中的严峻科学问题,从而轻松地执行巨大的数据处理/分析任务,而这些任务要花费数月才能完成。

如今,分布式系统已成为主流软件行业。 在Nanosai,我们认为,在分布式系统中的节点之间交换数据时,使用快速,紧凑和通用的数据格式对数据进行编码非常有利。 我们认为现有的格式(例如Protobuf,CBOR,MessagePack,JSON)对于我们所设想的将来的分布式系统将是通用的且不够快。 其他原因包括:

1)一种快速的数据格式当然可以更快地读取和写入(反序列化和序列化)通信节点。 如果开发人员需要最大速度,我们还希望可以二进制形式遍历某些东西。

2)紧凑的数据格式需要较少的字节来表示编码数据。 较少的字节需要较少的网络带宽,因此可以在整个网络中更快地传输。

最后,让我们以JSON为例,JSON是目前非常流行的数据格式,已被开发人员广泛使用。 实际上,它是如此流行,以至于公司通常仅将其API设为JSON。 但是JSON也有以下缺点:

i)JSON不是原始二进制数据的好格式。 原始字节必须是Base64或十六进制编码并作为字符串传输。 Base64编码将编码数据的大小增加到原始大小的4/3,十六进制编码将大小增加到原始大小的2/1。

ii)从不擅长建模所有类型的数据结构的意义上讲,JSON没有那么多用途。 例如,在用行和列(例如CSV文件)对相似数据的表进行建模时,JSON较弱。 JSON将表格式数据编码为对象数组,这意味着将对表中的每个单个对象(行)重复列名。 这显然是浪费数据。

iii)JSON不是最快的读写数据格式。 冗长地说,它的传输速度也较慢,尤其是对于带宽有限的设备,例如小型IoT设备,连接薄弱的移动电话或漂浮在海中的船只。

什么是离子?

在继续进行之前,让我们澄清一些可能引起混淆的事情。 在Amazon Web Services公开发布它们的格式(也称为ION!)之前,我们就发布了ION数据格式。 因此,我们没有选择名称ION,因为它与亚马逊的ION相似。 实际上,直到设计和命名ION格式之后,我们才发现相似之处。 缩写ION源自“ IAP对象表示法”,其中我们的开放网络协议IAP代表“ Internet应用协议”。 以下是直接的证据;

  • 我们的合作-创始人发表在Infoq.com文章在这里关于IAP其中明确提到ION。
  • 我们在此处发布的关于ION的Hacker News公告与在此处发布的有关Amazon的ION的Hacker News公告。 您会注意到,我们的Hacker News公告比Amazon的公告要早得多。

简而言之,我们的ION是一种通用的二进制数据格式,可用于编码各种数据。 它具有足够的表现力,可以包含序列化的对象(例如Java或C#对象),CSV,JSON,XML,文本和二进制数据。 它非常快速且合理地易于解析和生成,与JSON和XML相比,其在网络上的压缩程度更高,并且对于服务器和路由器以及其他轻量级硬件(我们相信)也易于处理。

如图所示,ION是我们开放式分布式系统堆栈的核心组件之一。 我们将ION设计为开源协议IAP的默认数据格式,因此,所有IAP消息均使用ION进行编码。 IAP是一种通用的面向消息的网络协议,旨在用于同步和异步通信,从而使IAP适用于许多不同的用例,例如RPC,文件交换,流传输,消息队列订阅。 我们之所以创建IAP,是因为现有协议(例如HTTP)无法满足我们的多功能性和高性能要求。

作为一种数据格式,ION可以独立于我们的网络协议IAP使用。 开发人员可以将ION用作数据文件,日志文件中的数据格式,以及通过HTTP等传输的二进制消息的数据格式。它可以包含二进制数据,因此开发人员还可以在必要时在其中嵌入其他格式,例如MP3文件,ZIP文件,JPG文件等

我们将在ION对比其他格式ION Performance Benchmarks中更详细地描述ION与其他数据格式的比较。 对于那些想尝试ION的人,请查看0.5.0版 。 在未来几周内,我们将推动ION的新更新以及更新文档,基准测试等。

Nanosai数据流调查

如果您是开发人员或初创CEO / CTO,我们目前正在开发一种持久数据流服务(基于ION并于今年推出),以替代现有产品(例如AWS Kinesis和托管的Kafka服务)。 如果您有空闲时间来完成我们简短的流媒体调查 ,那就太好了。 当我们启动时,完成它的Hackernoon读者将拥有特殊的免费帐户(有支持)。 提前谢谢了!

英国传感器城

我们很高兴Nanosai加入Sensor City的初创企业生态系统,以构建与传感器相关的创新技术。 我们对Nanosai围绕传感器数据实时流传输的用例试点项目感到特别兴奋,ION将在其中扮演非常重要的角色。 因此,请注意此空间!

联合创始人 BambordéBaldé 发表 | Twitter: @cloudbalde | 领英: linkedin.com/in/bambordé |

From: https://hackernoon.com/why-we-built-our-own-data-format-faa51c713676

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值