NoSQL 应用的现状
什么是 NoSQL?我们知道关系型数据库强调 CAP 理论:Consistency,Availability 和 Partition Tolerance,这三者不可兼得。谈到 NoSQL,我们会引入 BASE 概念:
BASE 理论是对 CAP 中 AP 理论的扩展,通过牺牲强一致性获得可用性。当出现故障时,允许部分不可用,但能保证核心功能可用;允许数据在一段时间内不一致,但最终要达到一致。NoSQL 大致可以分为以下几类:
如今 NoSQL 在字节跳动有非常广泛的应用: 数万 NoSQL 应用实例,台物理 服务器 资源,字节跳动超过的在线服务都是 NoSQL 系统提供的。
上图是字节跳动 NoSQL 的产品矩阵。我们对内对外提供了生态类产品,包括 Redis、HBase、MongoDB 和 InfluxDB。此外自研的平台上提供了 ByteGraph 和 ABase,这两者和字节跳动的业务息息相关,也是内部业务重度依赖的两大产品。
字节跳动 NoSQL 的最新实践
字节跳动的大部分业务数据可归纳为以下几种类型:
这三种数据关联到一起就会形成 图状结构 。
为了满足内部 social graph 在线增删改查的场景,字节跳动自研了 分布式图存储数据库 ByteGraph 。针对刚才提到的图状数据结构,ByteGraph 支持有向属性的图数据模型、Gremlin 查询语言以及丰富的写入和查询接口,具有海量存储和吞吐能力,单体集群可达万亿条边,支持百万 QPS 图上多度读写。ByteGraph 也支持 Super Node 热点访问,单个过亿出度节点 10K 量级 QPS 毫秒级读写。
目前 ByteGraph 基本支持了字节跳动全系产品,除核心数据管理之外,BytrGraph 也支持以下典型场景:

目前 ByteGraph 在字节跳动内部的使用量有多大?这里列举一组数据:
字节跳动为什么要自研这样一个庞大的系统?作为业内最大的图生态之一,现有的一些开源解决方案还不能满足字节跳动对图场景的需求。所以在 2018-2019 年,字节跳动就尝试自研分布式图数据库,最初是为了解决抖音关系的多度在线查询(约百万 QPS),当时最主要的功能是支持定制点和边的接口。在 2019 年-2021 年,ByteGraph 已经支持了属性图模型和 Gremlin 语法,也在公司内部广泛落地,集群数量快速扩张,并逐步标准化。
目前字节跳动在图数据库方面的多篇论文已被 VLDB 等数据库顶会收录,ByteGraph 预计在今年年底也将通过火山引擎提供给更多用户。
从图数据库又引申出来一个非常大的概念——图计算。举个例子,在 Google 上搜索时,需要基于网页的链接关系计算每个页面的 page rank,从而对页面进行排序。页面的链接关系其实就是一张图,基于网页链接关系的 page rank 计算,就是在这张图上运行一个图算法,即图计算。
小规模的图可以通过单机来进行计算,但如今随着业务数据量的增大,一般都需要引入分布式计算系统来解决问题,并且需要系统能高效运行各类图算法,做大规模的数据处理。
字节跳动早期时有不少业务使用 MapReduce 和 Spark 来实现图算法。得益于批处理系统的广泛使用,业务同学能够快速上线算法逻辑。但批处理(batch processing)本身是为处理并行数据而设置的,能轻易将工作负载分散到不同机器上,并行处理大量的数据。
MapReduce 的过程是 Map 先切割,然后并行处理,再进行 Reduce。但是图数据比较特殊,天生就有关联性,无法像以前常用的行式数据一样直接切割。
如果用批处理系统来运行图的算法,就需要引入大量 shuffle 操作来实现关系的连接。但 shuffle 操作非常重,不仅会导致任务的运行时间变长,还会浪费非常多的计算资源。
为了解决这一系列的问题,字节跳动引入了 图计算系统 。目前该系统支持超大规模图万亿点边规模上的计算训练,支持动态超高吞吐(百万吞吐级别)的训练和推理,同时支持内存/SSD 混合介质的数据处理及 fault-tolerance,十亿点边超大图的处理仅在分钟级。
为了让用户使用更方便,我们提供了一站式的图数据分析与管理平台,集成图计算、图训练的产品能力,广泛对接公司内核心业务场景。字节跳动在风控、电商、搜索、推荐等领域的典型图分析应用方案都沉淀在该平台,能做到开箱即用。
ABase 是字节跳动自研的 KV 存储服务,具有大容量、高吞吐、高可用(容灾)、多地域、低延时、易使用、低成本的特点。随着字节跳动的业务规模不断扩张,急剧增长的数据量在 可用性和性能 、 跨地域同步 、 同城容灾能力 、 资源和成本优化 等方面对 KV 存储系统提出了更高的要求。我们希望 ABase 能支持的场景包括:
对于上述这些要求,第一代的 ABase 无法完全满足,所以我们引入了 ABase 第二代无主架构 ,实现多点写入,从高可用达到了极高可用。机器硬件或网络都会有一定的故障率,常见的高可用方案是使用多副本、热备的形式。常见的主从架构有一个写入点,主节点故障时,系统通过 HA 策略自动切换到热备的从节点,这样一般就成为高可用了。
但在生产环节有两个问题:
Abase 第二代采用无主架构来解决这两个问题,支持任意点写入,没有主节点故障后需要的切主时间,也不会受到单一慢节点影响,因此任何单一节点故障对可用性零影响,同时可规避慢节点,缩短 P99 延时。
ABase 核心流程架构
传统的 qourum 无主架构修复数据一般需要构建 Merkle tree,会造成海量 KV 场景数据达成一致的时间非常长,理论上有时可能是周级别。数据一致性依赖读 qourum,读吞吐的能力又非常浪费。
ABase 自研的无主快速一致算法借鉴了有主架构的同步方式,限制了写入流的数,只在必要情况下乱序同步,这样大幅度提高了数据达到一致的速度,数据修复不必再依赖读取,也可充分发挥整个系统的读性能。
另一方面,为了解决冲突,ABase 将数据的 HLC 时间戳编码在 key 结构上,这样用户冲突就可以自然解决了。然而引入这种机制之后,要找同一个 Key 的所有版本中时间戳最大的一个,这样点查询的性能会恶化。
为了解决这个问题,我们引入了 双引擎结构 :多版本只存在 log engine 中。当完成冲突处理之后,单版本写入 KV engine,这样绝大部分的查询都是点查询,不再需要查看所有版本。log engine 中的索引是全内存的,这样多版本查询就不会影响性能。
以上就是 ABase 第二代引入无主架构所做的 trade-off。 ABase 现状 经过优化后,ABase 目前可用性和性能上都大大提升。
字节跳动目前已有业务在使用 ABase,服务器超过台,请求量达到 百亿 级,数据规模百级,在 30+ 地域多地部署。
NoSQL 技术未来发展趋势
最后我们对 NoSQL 技术的未来发展趋势做一个简单的预判。我们重新再来回答一下什么是 NoSQL。我认为 NoSQL 不仅是 not only SQL 也不仅是没有 SQL 语言,我对 NoSQL 的定义 是高性能弹性存储+可扩展性动态计算的数据库 。
现在我们从数据 Schema 维度审视,NoSQL 代表了半结构化和非结构化的数据处理。“处理”既包括计算,也包含存储。从 CAP 理论维度来看,NoSQL 强调的是“最大化” P,也就是弹性规模化能力,在 C 和 A 上不同的场景各有不同权衡。
最后再看看未来的机遇。根据 Gartner 的统计,2025 年全球会有 175ZB 的数据需求,其中大部分是非结构化/半结构化数据,并且会大量沉淀在 TOS/S3 等存储产品中,这些数据的存储和计算都蕴含大量的机遇。当然机遇与挑战并存,谁能解决 数据的处理(存储+计算)问题 ,谁就能立于不败之地。
我认为 NoSQL 未来会有两个极致的方向:一个是极致的 高性能 KV 系统 ,以 Redis 为代表;另一个就是 海量大规模的 KV 系统 ,以前文介绍的 ByteGraph 和 ABase 为代表。对于字节跳动的 NoSQL 来说,我们在朝着以下方向努力:
我认为 NoSQL 在接下来几年里最大的发展趋势是能存下所有数据,并且能够又快又好地计算出来,让用户看到数据存储的价值。
现在 NoSQL 和关系型数据库的界限变得越来越模糊了,所以数据库在不断形成各种分支的同时,也在不停地融合,这就是今天技术发展的趋势和方向。
抖音属于哪个公司?
北京字节跳动科技有限公司
抖音是北京字节跳动科技有限公司的。 北京字节跳动科技有限公司成立于2012年,是最早将人工智能应用于移动互联网场景的科技企业之一。 抖音app是一款社交类的软件,通过抖音短视频app你可以分享你的生活。
北京字节跳动科技有限公司,成立于2012年3月,是最早将人工智能应用于移动互联网场景的科技企业之一,是中国北京的一家信息科技公司,地址位于北京市海淀区知春路甲48号。 公司以建设“全球创作与交流平台”为愿景。 字节跳动的全球化布局始于2015年,“技术出海”是字节跳动全球化发展的核心战略,其旗下产品有今日头条,西瓜视频,抖音,火山小视频,皮皮虾,懂车帝,悟空问答等。
字节跳动人工智能实验室成立于2016年,旨在针对人工智能相关领域的长期性和开放性问题进行探索,帮助公司实现对未来发展的构想。 其独立研发的“今日头条”客户端,通过海量信息采集、深度数据挖掘和用户行为分析,为用户智能推荐个性化信息,从而开创了一种全新的新闻阅读模式。
抖音短视频,是由今日头条孵化的一款音乐创意短视频社交软件,该软件于2016年9月20日上线,是一个面向全年龄的音乐短视频社区平台。 用户可以通过这款软件选择歌曲,拍摄音乐短视频,形成自己的作品,会根据用户的爱好,来更新用户喜爱的视频。
抖音实质上是一个专注年轻人的音乐短视频社区,用户可以选择歌曲,配以短视频,形成自己的作品。 它与小咖秀类似,但不同的是,抖音用户可以通过视频拍摄快慢、视频编辑、特效(反复、闪一下、慢镜头)等技术让视频更具创造性,而不是简单的对嘴型。
抖音平台一般都是年轻用户,配乐以电音、舞曲为主,视频分为两派:舞蹈派、创意派,共同的特点是都很有节奏感。 也有少数放着抒情音乐展示咖啡拉花技巧的用户,成了抖音圈的一股清流。
抖音属于哪个公司?
北京字节跳动科技有限公司
抖音是北京字节跳动科技有限公司的。 北京字节跳动科技有限公司成立于2012年,是最早将人工智能应用于移动互联网场景的科技企业之一。 抖音app是一款社交类的软件,通过抖音短视频app你可以分享你的生活。
北京字节跳动科技有限公司,成立于2012年3月,是最早将人工智能应用于移动互联网场景的科技企业之一,是中国北京的一家信息科技公司,地址位于北京市海淀区知春路甲48号。 公司以建设“全球创作与交流平台”为愿景。 字节跳动的全球化布局始于2015年,“技术出海”是字节跳动全球化发展的核心战略,其旗下产品有今日头条,西瓜视频,抖音,火山小视频,皮皮虾,懂车帝,悟空问答等。
字节跳动人工智能实验室成立于2016年,旨在针对人工智能相关领域的长期性和开放性问题进行探索,帮助公司实现对未来发展的构想。 其独立研发的“今日头条”客户端,通过海量信息采集、深度数据挖掘和用户行为分析,为用户智能推荐个性化信息,从而开创了一种全新的新闻阅读模式。
抖音短视频,是由今日头条孵化的一款音乐创意短视频社交软件,该软件于2016年9月20日上线,是一个面向全年龄的音乐短视频社区平台。 用户可以通过这款软件选择歌曲,拍摄音乐短视频,形成自己的作品,会根据用户的爱好,来更新用户喜爱的视频。
抖音实质上是一个专注年轻人的音乐短视频社区,用户可以选择歌曲,配以短视频,形成自己的作品。 它与小咖秀类似,但不同的是,抖音用户可以通过视频拍摄快慢、视频编辑、特效(反复、闪一下、慢镜头)等技术让视频更具创造性,而不是简单的对嘴型。
抖音平台一般都是年轻用户,配乐以电音、舞曲为主,视频分为两派:舞蹈派、创意派,共同的特点是都很有节奏感。 也有少数放着抒情音乐展示咖啡拉花技巧的用户,成了抖音圈的一股清流。
360随身wifi连上了网速几KB的跳
1、随身wifi适合近身使用,WiFi信号理论上能覆盖室内半径30米内的区域,实际覆盖范围与室内的环境有关,穿墙后信号强度会有所降低,上网速度将受到影响。 2、如果是PC机,把随身 wifi插入到PC前面的USB接口,因为PC金属机箱会阻隔信号3、远离电源、手机等干扰源4、周围不要放置体积较大的金属物体,以免阻隔信号 。
发表评论