宿迁腾云网络网站建设公司

腾云网络 八年经验专注网站建设
  • 首页
  • 服务项目
    • 网站建设
    • 微信小程序
    • APP开发
    • SEO优化
  • 建站费用
  • 成功案例
    • 网站建设案例
    • 小程序案例
    • APP开发案例
    • SEO优化案例
  • 行业动态
    • 网站建设
    • SEO优化
    • 技术日志
  • 联系我们
    • 关于我们
首页 > 行业动态 > 技术日志 > php订单管理系统 开源沈金堤:滴滴在数据库层面的实践(上)免费开源php cms系统

php订单管理系统 开源沈金堤:滴滴在数据库层面的实践(上)免费开源php cms系统

2022-06-03

● 在滴滴练习

● 我们使用更多的开源数据库

● 尝试整合数据库

● 考虑集成数据库实践的入口

文章摘要:

经过多年发展,已成为开源数据库中最重要的产品,拥有成熟的应用场景和生态工具。在实践的过程中,使用不同的存储技术来处理不同领域的问题也是共识,因此诸如 、 、 等产品也被应用到了不同的生产线上。过去,工程师需要将数据写入各种存储系统,不仅增加了技术实现的难度,也增加了相应的成本。现在,通过围绕结构化数据做ETL,只需要更新数据并将数据分发到不同的存储服务。单元化、同城双活等场景变得更加自然和简单。本次分享将数据库与周边生态工具整合的实践。通过开源协作,围绕中心的融合数据库技术将大大降低企业使用开源数据库的成本。

文字语音:

大家好,我叫沉金迪,来自滴滴出行网站开发,主要服务于基础设施团队和滴滴云产品技术团队。今天给大家分享滴滴在数据库层面的实践。如今,滴滴的整体规模和体量都比较大。如何以低成本快速提高效率,实现业务目标,成为了技术团队的核心价值。

“融合数据库”是我今天要分享的话题。一开始我觉得这个话题可能有点太大了,但我又想,我想和大家分享这个观点。因为滴滴从一家比较小规模的互联网公司成长为一家快速成长的互联网公司,也向很多腾云网络学习,学到了很多技术经验和知识。

一.在滴滴实习

滴滴现已在所有核心业务场景中使用。订单、付款、余额等都放在里面,非常安全。为什么安全?因为我们有专门的运维和研发团队,所以我们花了一年时间将5.5、5.6版本全面升级到5.7。虽然我们也在关注 5.8,但 5.7 将作为基准版本存在很长时间。

我们在这方面做了一些非常有趣的实践。现在云服务已经很成熟了php订单管理系统 开源,大家都习惯用RDS了,所以我们的工程师第一天就问有没有RDS的产品可以用。老实说,一开始并没有这样的事情。 2015年,我们开始组建RDS团队,希望将云服务和基础设施即服务的理念带到滴滴的整个基础设施建设中。因此,它是我们制作的第一个基础设施服务产品。

我们的数据库研发+中间件+自动化运维团队大概3到4人,当然也会有DBA支持,基本实现了所有工程师的自助服务,大约95%的工单自动完成,经主管批准并经DBA确认后自动执行。

我们在国内外的所有流程都是一致的,几乎都是基于,例如备份、监控、配套设施都进行了改造,除了数据库部分或者物理机的混合部署。滴滴的目标是在一两年内实现全平台容器化。当然,这个目标的实现也是具有挑战性的,因为滴滴有大量的代码模块,尤其是在数据库层面,要实现容器化还有很多问题需要解决。

一年前,我们团队解决了IO隔离、稳定性等一系列问题,接下来我们将着手整个数据库的迁移工作。

目前,滴滴的日均订单量为3000万,在中国的订单量相对较高。峰值订单为每秒 60,000 个。这个数值可能无法与阿里相提并论,但我们的复杂性也不在于订单数量,而在于如何在庞大的乘客需求和司机容量之间找到最合理的订单。

以下是滴滴实践中的一些情况。

整个用户控制台包括DDL权限管理、SQL异常统计、审计、黑名单等。相信做过DBA运维工作的朋友都觉得申请数据库白名单的繁琐,而我们通过API和白名单将所有的服务和组织结构序列化,工程师只要发布应用自然就可以访问自己的数据库.

我们有一个前端和两个工程师做自动化运维控制台,所以DBA有更多的精力专注于数据验证和机房搬迁。

上图是一个简单的数据结构,分为三个场景:在线业务系统、在线辅助系统和自动化运维系统。滴滴从一开始就考虑了分库分表,这是由顺序决定的。在单台机器上存储如此大量的数据更具挑战性。

所以从一开始,我们就有两名工程师专门负责维护开发工作。数据库是标准的一主双从结构,MHA切换,在分库分表的情况下我们也做了一些有趣的能力实现二级索引;类似的备份、审计系统、慢日志等由辅助业务系统实现;并将自动化运维系统开发设计为云产品。

做一个好的中间件是现在数据库的核心。如果没有中间件,未来很难进行自动化运维、扩容,甚至业务功能。比如主从有延迟,读写分离是很自然的场景,但是有些业务不能容忍延迟。如果读备库,会出现一致性问题,所以在中间件层面,我们会在SQL前加注强制读取主库,解决一致性问题,然后再读取从库进行其他企业。而如果没有支持,审计自动化运维将会带来巨大的挑战。

此外,滴滴还有几个关键能力,比如内置二级索引、单元化等,单元化在滴滴的应用比较明显。现在滴滴既有国内业务,也有国外业务,这两个业务的数据是完全隔离的。我们用一套代码和一套技术来实现国内业务。与国外平行。下一步,我们将在中国实行单元化,整个业务南北拆分。北方用户的订单数据放在北方机房,南方用户的数据放在南方机房。

二.我们使用更多的开源数据库

滴滴的每个产品都有一个用户控制台,所有的基础设施服务都得到了彻底的实现,从数据库服务发现到缓存消息队列再到长链接,只要你想得到所有的自助服务。我们希望整个运维效率能够大大提高,人工干预和决策减少。

我们仍然使用集群作为离线场景和MIS场景,但正在朝着主存储的方向发展。目前,主营业务也在使用。这是因为它的多维索引非常有用,工程师可以使用它。也比较容易,规模大概在几千左右。

主流的开源数据库都在使用中,如,、、、、、。除了标准的关系型数据库,还有两个不同场景的自研系统。一种是我们用来存储功能引擎,例如订单、驱动程序等。

DiDi 在早期被大量使用。工程师通常将其用作存储服务而不是缓存服务,但这给滴滴带来了很多麻烦。在数据量特别大的情况下,一台机器只能存储几百G。于是,又引入了另一个系统——基于。系统实现了跨机房的单元化和一致性,我们的核心数据也在尝试使用自研引擎提供服务。

滴滴现在都是开源的,从数据库层面到编程语言再到框架等等都是开源实现的。我们热爱开源,会回馈开源,未来系统也会开源。

三.整合数据库的尝试

为什么分库分表的情况下需要做二级索引?比如集群中有key,使用 ID创建分库分表。如果要查询乘客或司机的订单怎么办?工程师认为再建一个索引就够了,但是分库表就很难了。 所以工程师花了很多精力写了两张表,先写订单数据库,再写司机索引,再写乘客索引。这还不够,MIS还需要用到一、的两个维度。工程师写的大部分代码都是为了保证所有索引都写成功,但是有时候发布的时候数据会丢失。这个问题困扰我们很久了。

这个问题当然可以通过分布式事务产品在技术上解决,但是使用起来有点麻烦,所以我们从另一个维度进行了尝试。假设还有订单ID和乘客ID两个维度,我们实现了一个克隆系统php订单管理系统 开源,从主库更新完所有数据后,复制到另一个表。逻辑自动完成,相当于创建表时创建索引,分库分表的情况下创建主键,索引键的情况下自动将数据复制到另一张表中查询中自动识别,直接查询。

这对工程师来说是一种极大的解放。一个表中的两个索引也可以工作。当然,这也有局限性,但至少解决了写两张表的问题。这是我们基于 的第一次尝试,解决了很多业务问题,大大降低了整体代码复杂度。

第二次尝试是与 ES 的集成。上图是典型的架构图,业务代码是from to。其中,我们使用了阿里巴巴开源的中间件。我们将数据同步并写入 ES。

这样做的好处是在ES中建表,可以做到分钟级甚至秒级的数据查询,体验非常好。但是也会有问题。我们的代码大部分是 PHP 和 Go,所以工程师会觉得提供一个协议 ES 查询引擎很麻烦。

正因为如此,YASE引擎诞生了,它支持通过去访问ES。我们曾希望一切都是门户,但结果证明这不是一个好的解决方案。因为ES API的原生客户端和访问协议各有优势,灵活性和定制性更强。如果降级为标准的SQL协议,会损失很多能力,得不偿失。

四.我想入口的融合数据库

于是我们开始尝试整合数据库,最典型的就是业务代码会同时写,或者ES。大多数公司依次将数据写入每个数据库。写完,产品还是很多的。比如我们虽然只有两个从库,但是应用还是很多的,比如,YAES等。

写入各种克隆系统和异构存储系统也给运维带来很多麻烦。 DBA 认为光是运维就够复杂了。同步多个副本。

于是我们想出了一个新思路,在层级屏蔽一切,只提供一个服务,全部消费给 DDMQ。 DDMQ是基于阿里巴巴实现的带有事务的MQ引擎,至少可以消费一次消息队列。预计2018年完成DDMQ的完全开源。

我们把一切都和DDMQ集成在一起,也就是说,我们可以直接向DDMQ发送消息,这实际上是一个升级版。因为有DDMQ的存在,我们整个延迟,包括事务性,都有很大的保障。

同时,在此基础上,我们实现了DDMQ的ETL工作。滴滴目前的ETL工作还比较原始,但是我们的一些业务线已经开始尝试使用规则引擎来实现ETL工作。如果验证通过,会快速切换到顶部,并通过DDMQ将数据同步到ES,应用程序不需要实现写入。有多个副本。看来业务工程师只写一张表就可以访问多个数据源,整个访问方式并没有改变。

接下来介绍融合数据库的场景。

第一个是克隆系统。二级索引值只写一次,但是可以支持很多索引,但是也需要限制,因为如果索引太多seo优化,会影响整个延迟。索引不是问题。

第二个是缓存反冲。我们的很多代码都是 PHP 代码。它有一个特点,可以随时杀死。一旦被杀掉,缓存可能会更新失效,业务代码对缓存的依赖很重。如果没有事务缓存更新,工程师会写越来越多的代码。

第三个是单元化,跨机房和大洲同步数据。 2017年,滴滴开始国际化,2018年正式启动南美和北美国际业务。我们使用这项技术进行数据同步。从南美到北美的数据迁移是自动化的。北美数据室跑起来,自动完成数据复制,边写边复制。时间一到,就按城市切分。

第四个支持ES索引,MIS数据更新延迟到第二级;

第五次实时数据同步,所有表实时复制到HDFS。去年,我们的方法是在 12:00 开始拉数据库。拉完之后,整个数据中心都很热闹。但是现在数据最快可以统计到12:00。整个数据计算时间大大减少,但是为了保证数据的可靠性,我们在数据的校验和可靠性上花费了很多精力。

以实时业务监控为例,滴滴每天可能有 20 到 3000 万个订单,你怎么知道一个城市的交易量是同比下降还是上升?我们在DTS平台上连接了实时监控和实时消费,实时分析,非常低的延迟,几秒就能知道交易是否掉线了。

我们有一个 as 的概念,它涵盖了 OLTP 和 OLAP 场景。我们的目标是为入口写一条数据,有多种访问形式。

上图是我们对DTS的理解,形成了一种融合的存储服务。 DTS也在不断演进中,下一个目标我们希望用规则和脚本来实现ETL。在OLAP大数据场景中,我们使用过。在实时链路层,我们也分享了如何做实时大数据同步。除了数据库问题,我们还解决了一些日志问题……我们热爱开源,拥抱开源,也乐于分享。

Tag: 订单管理系统 大数据 数据库工程师
网站制作公众号

宿迁腾云网络网站建设公司 | 网站开发 | 网站制作 | 网站优化

咨询电话:13160355545

上一篇

返回栏目

下一篇

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

热推

  • php编程起步自学教程编程最高效的学习路线——一个Gophp编程起步自学教程
  • 如何用PHP来搭建一个高性能的服务化高性能调用例子?
  • 开源博客系统php 漂亮建站开源网站程序使用最为广泛的就是国产内容和博客系统开源php erp系统
  • php框架排行2021中国开源开发者问卷启动|填问卷送好礼(组图)php框架中的t框架
  • php网站密码破解安全吗?基础知识以及确保您的网站保持安全的方法!php网站后台破解
  • php curl扩展下载编译安装PHP环境和版本服务器:64位PHP:8.0.8下载php curl 扩展下载
  • ,,继承的特性子类Go-?Go
  • 微信的企业号开发(二):开发环境与工具
  • php网站集成支付宝接口开发者在线课程首发!中文免费在线资源助你提升开发技能(图)php网站支付宝接口
  • 十大程序猿必备网站,你用过几个?(上)

相关

php开发工程师待遇2016年程序员职业薪酬报告,大数据工程

php开发工程师待遇2016年程序员职业薪酬报告,大数据工程

基于php的个人博客系统的实现
腾云网络如何利用大数据进行社

基于php的个人博客系统的实现 腾云网络如何利用大数据进行社

开源php erp管理系统刚哥谈架构(十三)大数据软件开源版

开源php erp管理系统刚哥谈架构(十三)大数据软件开源版

php采集网站数据
中国互联网信息中心发展状况统计报告(一)

php采集网站数据 中国互联网信息中心发展状况统计报告(一)

大数据时代,12c为云计算而生。《名师讲坛——开发实战经典》

,来北京兄弟连PHP培训0大数据培训元试听

php微信公众号开发教程视频“数据看板”助力精细化运营,让好

php后端开发PHP语言的应用场景比较单一的优势分析及前景分

php框架性能测试数据库操作数据库和ORM组件发展最快组件的

php框架性能测试数据库操作数据库和ORM组件发展最快组件的

php框架之thinkphp项目cms内容管理系统IT从业者

标签

seo(1182) 市场营销(661) 网站制作(573) 网站建设(564) 搜索引擎(553) 网站(482) PHP(361) 编程语言(345) 建站(294) 关键词排名优化(267) 网站建设公司(245) 优化(216) seo排名(207) 域名(190) 软件(171) 网站优化(148) 搜索引擎优化(146) 外链(141) 科技(136) 网站关键词(124) 网站排名优化(123) 域名服务器(120) 网站排名(107) 时政(103) 排名优化(95) 搜索引擎收录(93) 网站设计(92) 电子商务(88) 引擎(86) 移动互联网(85) 开发框架(79) 开发(75) 网站服务器(74) 框架(68) 前端开发(68) 网站分析(66) 网站建设方案(65) 关键(64) 流量(63) 源码(62) 百度优化(62) 网站权重(61) 开放源代码(59) seo培训(53) 网页设计(51) 百度(51) php框架(50) 网站建设知识(50) 大数据(50) 谷歌(49)
宿迁腾云网络网站建设公司
网站建设
  • 私人定制
  • 标准模板建站
  • 经济模板建站
精品模板

宿迁腾云网络网站建设公司

联系电话:13160355545

公司地址:江苏省宿迁市丽景湾华庭北门都市花园公寓9楼907

联系邮箱:admin@tyweb.net

全国分站
  • 北京
  • 广东
  • 东莞 广州 中山 深圳 惠州 江门 珠海 汕头 佛山 湛江 河源 肇庆 潮州 清远 韶关 揭阳 阳江 云浮 茂名 梅州 汕尾
  • 山东
  • 济南 青岛 临沂 济宁 菏泽 烟台 泰安 淄博 潍坊 日照 威海 滨州 东营 聊城 德州 莱芜 枣庄
  • 江苏
  • 苏州 徐州 盐城 无锡 南京 南通 连云港 常州 扬州 镇江 淮安 泰州 宿迁
  • 河南
  • 郑州 南阳 新乡 安阳 洛阳 信阳 平顶山 周口 商丘 开封 焦作 驻马店 濮阳 三门峡 漯河 许昌 鹤壁 济源
  • 上海
  • 河北
  • 石家庄 唐山 保定 邯郸 邢台 沧州 秦皇岛 张家口 衡水 廊坊 承德
  • 浙江
  • 温州 宁波 杭州 台州 嘉兴 金华 湖州 绍兴 舟山 丽水 衢州
  • 陕西
  • 西安 咸阳 宝鸡 汉中 渭南 安康 榆林 商洛 延安 铜川
  • 湖南
  • 长沙 邵阳 常德 衡阳 株洲 湘潭 永州 岳阳 怀化 郴州 娄底 益阳 张家界 湘西
  • 重庆
  • 福建
  • 漳州 泉州 厦门 福州 莆田 宁德 三明 南平 龙岩
  • 天津
  • 云南
  • 昆明 红河 大理 文山 德宏 曲靖 昭通 楚雄 保山 玉溪 丽江 临沧 思茅 西双版纳 怒江 迪庆
  • 四川
  • 成都 绵阳 广元 达州 南充 德阳 广安 阿坝 巴中 遂宁 内江 凉山 攀枝花 乐山 自贡 泸州 雅安 宜宾 资阳 眉山 甘孜
  • 广西
  • 贵港 玉林 北海 南宁 柳州 桂林 梧州 钦州 来宾 河池 百色 贺州 崇左 防城港
  • 安徽
  • 芜湖 合肥 六安 宿州 阜阳 安庆 马鞍山 蚌埠 淮北 淮南 宣城 黄山 铜陵 亳州 池州 巢湖 滁州
  • 海南
  • 三亚 海口 琼海 文昌 东方
  • 江西
  • 南昌 赣州 上饶 吉安 九江 新余 抚州 宜春 景德镇 萍乡 鹰潭
  • 湖北
  • 武汉 宜昌 襄樊 荆州 恩施 孝感 黄冈 十堰 咸宁 黄石 仙桃 随州 天门 荆门 潜江 鄂州 神农架
  • 山西
  • 太原 大同 运城 长治 晋城 忻州 临汾 吕梁 晋中 阳泉 朔州
  • 辽宁
  • 大连 沈阳 丹东 辽阳 葫芦岛 锦州 朝阳 营口 鞍山 抚顺 阜新 本溪 盘锦 铁岭
  • 黑龙江
  • 齐齐哈尔 哈尔滨 大庆 佳木斯 双鸭山 牡丹江 鸡西 黑河 绥化 鹤岗 伊春 大兴安岭 七台河
  • 内蒙古
  • 赤峰 包头 通辽 呼和浩特 乌海 鄂尔多斯 呼伦贝尔
  • 贵州
  • 贵阳 黔东 黔南 遵义 黔西 毕节 铜仁 安顺 六盘水
  • 甘肃
  • 兰州 天水 庆阳 武威 酒泉 张掖 陇南 白银 定西 平凉 嘉峪关 临夏 金昌 甘南
  • 青海
  • 西宁 海西 海东 海北 果洛 玉树 黄南
  • 新疆
  • 乌鲁木齐 伊犁 昌吉 石河子 哈密
  • 西藏
  • 拉萨 山南 林芝 日喀则
  • 吉林
  • 长春 白山 白城 延边 松原 辽源 通化 四平
  • 宁夏
  • 银川 吴忠 中卫 石嘴山 固原
SiteMap
网站地图
TAG标签
Copyright © 2017-2025 TYWEB.NET 宿迁腾云网络科技有限公司 ALL RIGHTS RESERVED.   苏ICP备17033535号-1

热门搜索

百度 下载 2025 2024 2026 货源 货货源 虚拟 禅道 报名 金蝶KIS旗舰版
  • 客服

    在线客服

  • 电话

    13160355545

  • 微信

精品模板
建站费用
成功案例
联系我们