服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

豆瓣在数据库和集群方面的架设中的亮点

2021-01-05 09:23:00 阅读(153 评论(0)

豆瓣的整个基础设施大致可以分为在线和离线两部分。在线部分类似于大多数网站:LVS作为HA,Nginx作为反向代理,形成负载平衡层;应用层主要用于计算,并将计算结果返回给以前的用户。DAE平台是在过去两年建立的,现在大多数豆瓣应用程序基本上都在DAE上运行;应用程序背后的基本服务与其他网站相似,MySQL、memcached、redis、beanstalkd,不同的是NoSQL的选择——BeansDB,这是我们几年前开源的KV数据库,也是国内较早开源的KV数据库。豆瓣的技术结构和主要部件豆瓣作为一家早期选择Python作为主要编程语言的公司,网站使用的许多技术都与Python有关,包括主要框架quixote、DPark等自行实现。其它技术的选择没有太大区别:nginx、MySQL、memcached、BeansDB、redis...都是知名的开源项目。其它技术的选择没有太大区别:nginx、MySQL、memcached、BeansDB、redis...都是知名的开源项目。在这些开源项目中,豆瓣根据自身产品的特点进行了有针对性的配置和部署。除了使用开源项目外,豆瓣还根据自己的需要独立开发或实现了一些产品,如DAE、DPark等等。顾名思义,DAE全名Doubanaplicationengine,类似GAE、SAE内部PaaS系统。使用这种PaaS有很多好处,比如第三方库数量丰富,支持多个版本并存,资源配置灵活,可以为工程师节省很多不必要的工作。BeansDB是DAE中非常重要的组成部分,其设计理念起源于亚马逊的Dynamo,但简化了Dynamo的一些复杂性。BeansDB主要用于小文本、中型图片和音频,其共同特点是写作次数特别少,这也是BeansDB擅长的领域。DPark类似于Spark,是豆瓣用Python实现Map-Reduce的类似框架。虽然Python的性能低于基于JVM的Clojure,但它避免了程序员进入不熟悉的领域,豆瓣使用开源项目的原则是:如果你不能完全掌握它,你宁愿不使用它。"另外,将Spark移植到Python上也很简单,基本上是一对一的翻译。BeansDB项目可以说是AWSDynamoDB的简化版,该项目于2008年启动,2009年开源,排名第一⼀版使⽤作为存储引擎,tokyocabinet于2010年使用⽤bitcask存储格式重写存储引擎,性能更好。BeansDB为key做哈希运算,找到节点来实现分布和冗余,一个写作操作会写几个节点,而现在的配置是写三份读一份。BeansDB的主要特点是支持大量KV数据库——BeansDB可以支持数百T数据,而Redis是一个支持数十G到数百G的内存KV数据库。此外,BeansDB最大的优点是操作和维护非常简单,具有良好的性能、可用性和扩展性,并实现了最终的一致性。BeansDB中间的Proxy是用Go语言写的,也是一个开源组件。总的来说,BeansDB的设计结构比较简单,BeansDB的Value比Redis的Value简单。在豆瓣内部建立了两个不同的BeansDB集群,一个是doubandb,另一个是doubanfs,针对不同的场景。doubandb主要存储小型文本数据,如影评、用户个人介绍、帖子内容等,可以大大降低我们对MySQL的性能依赖,减轻MySQL的负担;doubanfs主要存储图片和音频等中型数据。可以说,DAE是基于许多以前积累的、旧的组件。与外部PaaS相比,我们所做的内部PaaS做了很多简化,特别是在安全方面,如应用间隔离和权限管理。我们不必像公共云那样花费大量精力,所以工作量实际上是好的。DAE现在计划开源,当然现在只支持Python应用。在未来,我们可能会让DAE支持Go语言。以上是在线部分,对高可用性和低延迟有很大的要求。离线部分包括数据挖掘、数据分析等。技术组件是大量分布式文件系统Mosefs。该文件系统的结构与HDFS相似,用C语言编写。其优点是FUSE模块实现良好,可直接用文件系统操作,无需特殊命令,可支持大量数据。此外,DPark是自己开发的分布式计算平台。顾名思义,DPark是SparkPython的实现,但现在与Spark越来越不同了。与Hadoop相比,Spark可以使用内存作为缓存加速分布式计算,DPark继承了这一优势,对大规模数据的迭代计算非常有用。在豆瓣的应用场景中,由于我们的许多离线计算都是推荐的算法计算,因此该计算涉及到大量的迭代算法。如果每个计算结果都进入磁盘,然后在下一轮计算中加载,则性能非常差,因此DPark可以大大提高性能。另外,由于DPark的编写采用了函数语言的特点,所以可以写得很简洁:

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

推荐阅读

对零售数字化的8点见解

零售对于我们来说并不陌生,它是一个非常专业的领域,近几年出现了数字化的概念,数字化是一项专业的技能,将零售与数字化结合就是一个新的概念,做零售数字化需要有专业的思想,需要有专业人才做后盾,要走专业化发展之路,零售数字化不是提一个概念制定一个…查看详情

企业电商系统开发有两种方式,但都需要重视4点

企业电商系统开发时,需先对产品、市场和用户做定位,不仅需要从自身情况和实际需求出发,还需要考虑用户需求和痛点,再由以上结论确定一个最佳的开发方案,最终再去考虑开发模式及重视开发电商系统几大要点。 图片来源于网络 ● 根据开发方案,企业电商…查看详情

2022国内好用的免费建站系统有哪些?

现在做网站市面上有很多的免费建站系统,这些建站系统能满足基本的建站需求,下面万商云集小编给大家来介绍下2022国内好用的免费建站系统有哪些。  1、论坛社区程序:Discuz!  Discuz是一款非常强大的社区建站系统。目前大部分的论坛或…查看详情

抖音IP属地怎么关闭?

  随着目前很多平台都要显示ip属地了,对于一些问题大家都还不明白,今天就和大家来聊一聊。很多人对于这一块不是很熟悉,下面小编就给大家来详细介绍一下抖音IP属地怎么关闭这一块的内容,希望能帮助到大家。  抖音IP属地怎么关闭  这一次的显示…查看详情

打造直播电商之都,广州代运营市场需求或将上升?

代运营主要是为传统企业升级线上渠道提供运营推广服务,运营范围涉及到构建、营销、推广、物流、客服、客户等全套供应链。专业的代运营企业具备营销、产品、客服等全方位的知识体系,能够帮助企业有效提升运营销售业绩。在杭州提出打造“直播电商第一城”之后…查看详情

影响网站开发的收费因素有哪些?

网站开发多少钱?影响网站开发的费用的因素有很多,如果自己公司有技术做,那这网站比较便宜,如果找网站建设公司来说,那这费用要会贵一些,加上现在市面上网站建设公司太多,各家报价又不一样,那到底网站开发是怎么收费呢?这主要是根据企业的需求而来,不…查看详情

微信群发软件哪个好 十大微信群发软件推荐

微信现在作为一款社交工具,其实在微信的生态下也是一款营销工具,下面万商云集小编就给大家来介绍一下微信群发软件哪个好 十大微信群发软件推荐,希望能帮助到大家解决相关问题。  1.微信消息群发助手  微信消息群发助手,一般又称微信消息群发。微信…查看详情

2021最新7款适合餐饮收银系统排名

中国的餐饮行业规模巨大,而专门针对餐饮行业研发的餐饮收银系统更是数不胜数。餐饮行业规模,模式的不同也导致不同的餐饮企业需要选择不同的餐饮收银系统。接下来就为大家介绍一下2021最新7款适合餐饮收银系统排名。 1、甩手掌柜餐饮收银系统 甩手掌…查看详情

分享一个成功的crm客户管理系统案例

越来越多企业使用crm客户管理系统,也取得了显著的成效,今天小万就来分享一个crm客户管理系统案例,一起来了解下crm系统对企业的帮助。 图片来自网络因为李宁业务十分庞大,所以对于使用crm系统其功能也需要同样庞大。根据其业务需求进行了针对…查看详情

2022年引流推广效果好的app

  随着社交电商的不断发展壮大,行业竞争是异常激烈的,各企业会多方面寻求宣传的方式来扩展自己的营销领域,今天万商云集小编就给大家详细介绍下2022年引流推广效果好的app,希望下面的内容能帮助到你解决运营推广问题。  1、小红书  首先,第…查看详情

让移动办公成为现实的视频会议软件合集

视频会议系统是网络视频会议必备工具,视频会议软件让商务人士一直热切期盼的移动办公成为现实,真正实现随时随地参加会议。小编为大家整理了视频会议软件合集,这些视频会议软件免费版高质量的语音和视频,同步参与在线文案讨论,双向视频功能让用户更好的参…查看详情

自己如何建设网站 最详搭建流程交给你

目前市面上有不少开源的CMS系统,可以快速搭建一个网站,但是延展性、安全性、功能适配性肯定没有按需求开发的性能好。所以下面主要介绍不使用开源CMS系统搭建网站的过程。自己如何建设网站?在做网站之前首先要找好网站的定位,确定好网站要服务哪一部…查看详情

【工作知识产权】劳动关系期间,相关作品的权利归属

工作中涉及到的知识产权,这里暂且称为“工作知识产权”。在工作知识产权中有三个相近的概念,分别是一般职务作品、特殊职务作品和职务发明创造,这三者都是在企业与员工的劳动关系期间产生的作品。本文就三者的权利归属问题进行简单罗列。 图片来源于网络一…查看详情

国外8款真正免费erp系统良心推荐

对于各企业而言,寻找一款好用的erp系统并非一件容易事,找到一款免费好用的erp系统更不简单,今天搜集了8款免费erp系统推荐给大家,来看看国外这些erp系统是否适合你。1.ApacheOFBiz免费erp系统 是一款成熟的开源ERP系统,…查看详情

运营方法丨网络运营的方法及网络运营学习平台

很多互联网行业的人会说,互联网(网络)不只是一种工具,但对大多数的人而言,尤其是企业而言,互联网就是一种工具。一种让企业经营模式发生改变,将销售和服务从线下拓展到线上,将产品销售路径从线下发展到线上的工具。不论是工具还是当成工具使用,网络运…查看详情

最新文章