首页 >知识讲堂 >网站建设知识>剖析京东云数据库的运营模式

剖析京东云数据库的运营模式

2021-01-04 16:34:22 阅读(180 评论(0)

电子商务不仅由大数据驱动,京东还利用大数据提高用户和商品的运营效率。同时,从在线数据访问来看,电子商务业务需要非常快速的数据访问。您可以看到,京东随意打开京东主页或类似的电子商务主页,图片是京东的资产,是对商品形象的描述,可以通过CDN加速。除图片外,几乎所有其他内容都是动态内容,数量大,经常重写。他们需要快速访问,如产品细节、价格、类别下推荐的结果等。打开产品详细信息页面或列表页面。背景逻辑非常复杂,需要大量数据来显示。在这个过程中,快速的数据访问对终端用户的体验有着至关重要的影响。此外,从京东产品工程师开发的产品角度来看,另一个吸引力是关注业务逻辑,而不是花时间优化背景在线存储的性能。JimGray是数据库领域的领军人物,他的一句话我记得很清楚,那就是“Memoryisthenewdisk(内存是新磁盘)。07、2008年,JD.COM购买的内存尺寸标准配置约为4G,4G很快就会出现、8G、一路走来,很多公司都会购买158、估计明年将使用265G内存1T内存。JD.COM使用265G内存和万兆网卡。单机内存变大迅速。内存中存储了许多在线小结构和半结构化数据。这个问题不大,也很合理。此外,使用内存进行在线存储确实有缺点,即成本在一段时间内有点高,但此外,它还带来了许多性能、管理等方面的便利。在两相平衡下,成本的增加在一定程度上可以被一定规模和业务的重要公司所接受,京东可以通过技术手段降低成本。JIMDB的全称是TheJingdongIng-MemoryDatabase,该系统的名称始于2014年初。它不是一个严格的关系数据库,而是一个新的、以内存为中心的所有托管和全管理服务数据库。它是以内存为中心的数据存储,主要用于过去两年的在线结构或半结构化数据。从目前的业务价值来看,它支持京东几乎所有的在线业务。除了图片,几乎所有的动态内容都是由它服务的,或者严格地说,图片的一些信息也被用来存储。越来越多的趋势是JD.COM更多地使用它作为主存储,MySQL或DataBase将被归档。接下来,从技术角度做一个简单的介绍。基于redis的JIMDB,redis是一款非常优秀的开源软件,它做对了两件事。一是基于内存,简单而高性能;二是基于内存,它提供了非常丰富的数据类型和结构。很多互联网公司都很方便,比如商品的细节、属性等,都很方便。两年前,为了解决其痛点,JD.COM因为之前的监控系统已经不能满足JD.COM的业务需求而不断发展和完成。它是一个相对分散的分布式系统,有许多分支,模块,不同的模块做不同的事情。从用户(业务开发者)的角度,为他们提供Java。、Cdriver,其它小众语言是为他们提供代理,完全兼容,但不限于RAMservers。京东物理资源池上有任何业务集群。京东的核心任务是建立一个复杂的平台,一个强大的分布式系统,管理大约4000或5000台大内存机器,为许多业务提供可靠、稳定的性能和持久的数据保证。在部署结构方面,该系统是一个单一的物理服务器和多强度的结构。多个内存将部署在任何大内存物理servers上,其优点是便于流量监控,但它给业务和监控带来了许多复杂性。目前对行业来说还是比较合理的,故障检测与切换、扩容管理、升级、监控等都是独立的模块。存储的servers是复用原始redis网络编程的框架,但复制的协议、存储引擎等方面都是自己开发的。这里列举了几个技术点。第一,如何进行故障切换?分布式系统要解决的第一个问题是如何处理故障。故障是一件非常严重的事情。不能简单地说,如果一个servers在一个过程中失败,就会出现故障、网络不稳定等,这在各个方面都是可能的。一个或多个数据中心有几个故障检测器,只有当大多数人认为它是故障,没有人认为它是健康的时候,才能定位真正的故障。将故障控制器发送到下一步,重新触发新的配置,改变集群拓扑。因此,故障检测和自动Failover是2014年的第一件事。简单地说,故障自动化实际上是最基本和最重要的,因为整个过程分为许多步骤,不久前出现了漏洞。第二个关键问题是,任何逻辑的集群和业务数据量都会增加和变化,因此必须支持在线、动态、重新分割或重新分割。这种核心思想不是简单地分割集群,而是在中间添加一个抽象来动态地重新分割。对于这一策略,在中间添加一个bucket抽象,然后进行管理。迁移过程是通过复制进行的,学术界或工程界喜欢称之为“Partialreplication”。比如原来是三片,现在怎么变成四片?通过调度算法,决定将哪些片段中的bucket迁移到这里。迁移是通过复制来完成的,建立复制关系。但是,这种复制关系并不是复制其原始数据,因此需要实现复制协议来做特殊的事情。只要复制这个范围,所有复制完成后都会更改拓扑,最终生效,这可以是平行的Partialeplication进行迁移。数据可靠性保证高,技术简单传统。在过去的两年里,我从底层技术研发三个方面一步一步地做了一些事情。从存储引擎的角度来看,这是最常用的。第二个存储引擎是LSM,京东使用RAM SSD混合两级存储,这三种关系不是替代的,而是相互补充的。第二种更多的应用场景是,有些东西相对较大。京东可以把这个放在SSD上,K仍然放在RAM上,这样可以适当地节省成本。目前,第二类在线消耗量超过10%,但数据量应乘以四到五倍,因为每台机器的单机容量更大。第三类是B TREE,可以按范围排序,支持搜索和便利。这个网上用的不多。JD.COM只支持需要按范围方便查询的场景。复制协议更为关键,因为存储的核心是复制。除异步复制外,京东还在上半年复制了状态机。JD.COM用哈希最多,因为哈希最简单,业务往往需要单K查询,部分业务需要按范围支持Range。这三个方面的技术可以根据业务场景合理组合,满足不同的业务需求。例如,业务更多地使用Dict 异步复制 哈希分片策略,RAM比较大 SSD两级存储,然后配合其他策略。从业务使用场景的角度来看,京东是分而治之的,不同的软件,不同的集群,根据业务需要,可以分为这两类。很多业务都是纯缓存,后台有数据库等存储。JD.COM更多的是异步复制或者不复制。哈希的分片可以淘汰LUR。然而,大约有一半的在线集群。他们不仅用这个东西作为缓存,而且用于长期存储。京东有更高的可靠性保证。它通常用于打开同步或状态机的复制,然后使用范围或哈希片,并定期备份其快照并将其备份到内部对象中。对于任何一个系统来说,基础技术的研发只是它的一个环节。当系统达到一定规模时,更多的工作将集中在监控和运行维护系统的建设上。整个平台京东拥有相对完善的监控系统,由数据驱动。从各个方面,连接树木、网络进出流量等,产生大量的时间序列进行分析和预警,并驱动各种控制器做出决策。例如,一些分片存储的数据太热了,因为它们是华为的手机。京东可以将其分类。大多数时候,扩展和分类不是因为容量,而是因为数据的热度。在这个系统中,数据监控也存在快速显示。基于容器的自动操作和维护,因为正如我刚才所说,整个系统规模相对较大,有数千台机器,每台机器都部署了许多存储节点,因此操作和维护的复杂性相对较高。整个2013年更多的是依靠手工操作和维护,如何选择机器,如何部署,操作和维护工作量很大,在2014年下半年和2015年上半年,京东花了很长时间做自动操作和维护平台,它是基于docker,简单地说,大型Linux大内存服务器有很多docker,每个过程都是docker的例子,使用docker软件管理版本,选择智能机器,定期升级软件,各方面都有很多工作。这个平台也通过容器技术发挥了作用。这个平台也通过容器技术发挥了作用。让我们谈谈规模,因为对于任何底层系统建设来说,它的核心价值只有一定的规模和真正的驱动业务才能有收获。京东在线有多个数据中心和数千台大型内存机器,需要跨数据中心复制。有些是基于灾难容忍的考虑。例如,不同的机房有不同的规则,可以跨机房进行异步复制或同步。预计明年将购买512G内存或1T内存机器。在线支持1000多个在线业务,每个应用程序相当于一个逻辑集群。从运维的角度来看,这么多机器中有3万多个Docker的例子。内存存储带来了什么?它花费了大量的内存片和内存条,带来了优异的性能和非常稳定的性能。这是JD.COM在线的一个重要集群。双十一期间可以看到整体QPS超过200万,非常稳定。99%的要求在2毫秒内返回,让用户体验更好,让JD.COM的业务发展更简单,让公司的运维团队更省心更轻松。内存存储考虑的一个主要因素是,内存可以花钱购买,但不能因为软件因素而浪费内存。内存存储是分开的。许多在线集群相对夸张和大,这可能是由于其特殊的使用场景。然而,在整体分布方面,京东也做了一些优化工作。从内存分布器的选择来看,集群内存的主要碎片率基本上在1.1-1.3之间。就我个人的工程经验而言,这是一个很好的内存分配器,内存分配器的自我开发意义不大。我们正在做更多的事情。优先事项是使其更稳定、更好地运行和维护。此外,通过软件和硬件的协同创新,进一步提高性能,引入更大、更便宜的内存和更快的网卡,并考虑重新实现用户的网络协议,加快小包的处理性能。Linux网络协议站不是为数据中心的高速网络和高速在线应用而设计的。每个包都应该中断。大包合理,小包不划算。这种存储性能更多的是小包处理。京东正在考虑重写用户协议,以加快小包处理的性能。在功能方面,JD.COM也在做一些事情,这更多的是工作量。考虑到NoSQL支持SQL接口,因为内存中的数据结构存储在底层有横向扩展和灵活复制。JAVA等提供,这只是工作量的问题。此外,我希望在一定程度上降低成本,因为平台的第一步是寻求规模稳定,以确保其良好的性能和效率。第二,它可以整体降低成本,比分散和自由使用更经济。基本思路是这样的。目前是专署集群。JD.COM希望从专署集群过渡到聚集各种IDC的RAM资源。比如JD.COM私有云机去分容器和虚拟机。CPU往往是瓶颈,内存剩余。非结构化机器磁盘是瓶颈,磁盘或SSD被分割,但内存是空的。JD.COM聚集了整个RAM资源,让数据动态流动,降低成本。云数据库服务是解决用户在构建数据库时需要考虑的基本云服务,使用户可以根据需要申请数据库资源,确保整个数据库服务的稳定性和数据的可靠性,同时提供灵活的扩展支持,尽可能降低用户在使用云数据库时的成本。本主题主要是共享京东私有云分布式数据库集群的实现,包括如何支持数亿数据的业务,如何确保高可靠的数据、高可用的服务和在线集群扩展。此外,我们还将分享京东公共云数据库的结构和设计,如何实现稳定、可靠、灵活的公共云数据库服务,包括备份、恢复、监控、迁移、高可用切换等一整套方案。京东在Oracle中存储了大量的业务数据。为了完成京东去O的过程,京东建立了一个私有云分布式数据库集群。目前,这个私有云分布式数据库集群支持京东拥有数百亿数据的大量业务。本主题将重点介绍去O过程中遇到的困难,并详细介绍内部数据库云和在支持大规模业务过程中积累的经验,包括如何打造一套高性能的私有云分布式数据库集群服务,如何在支持京东数百亿数据量业务正常服务的同时实现在线无缝集群扩张,分享京东生产线的经验。云服务最重要的是实现可弹性扩展,可根据需要获取资源,使用户能够尽可能以最低的成本满足业务需求。云服务最重要的是实现可弹性扩展,可以根据需要获取资源,使用户能够尽可能以最低的成本满足业务需求。当用户使用云数据库时,当业务量增加时,他们需要快速扩大现有资源,当业务量减少时,他们需要快速缩小现有资源。当数据库实例甚至整个机房出现故障时,用户在云数据库中的数据应安全可靠。云数据库服务,包括跨机房恢复,可以在第一时间恢复,以确保云用户业务不受影响。这些都是云服务需要解决的问题,尤其是云数据库服务。本主题还将介绍京东公共云数据库如何解决这些问题

以上就是关于剖析京东云数据库的运营模式的相关介绍,更多剖析京东云数据库的运营模式相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对剖析京东云数据库的运营模式有更深的了解和认识。

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

首页

产品

万商学院

客户服务

会员中心

当前站点

h

选择站点

全国站成都

一 客户顾问-张三

已为0个客户提供专业互联网服务咨询
  • 手机号码
  • 验证码图形验证码换一张
  • 短信校验码

    电话咨询

    在线咨询