分布式多主关系数据库的底线业务优势
当今的应用程序(包括企业应用程序)需要始终开启且始终可用,并且通常必须为全球用户提供服务,这些用户无论身在何处都希望获得几乎即时的响应时间。
应对这些挑战不仅仅意味着让用户更满意:每个能够解决低延迟和超高可用性的根本问题的企业都会获得直接的底线收益。由于数据库在每个应用程序技术堆栈中都发挥着基础作用,因此解决这些问题最合理的位置是数据库层。实现这一目标的最佳且最具成本效益的方法之一是在分布式关系数据库之上部署应用程序。
我们首先考虑数据延迟的问题。许多应用程序都使用位于单个数据中心或云区域的单个数据库实例运行。靠近数据库运行位置的用户将看到快速响应时间,但位于对面海岸或大洋彼岸的用户将看到更慢的响应时间。对于电子商务应用程序,页面加载缓慢会导致销售损失,因为买家会失去耐心并转到竞争对手的网站或重新考虑购买。对于 SaaS 应用程序,用户体验受损可能会导致客户流失。
分布式“多主”数据库可以配置为在地理上分布的节点集群中运行,每个节点都可以接受读写流量。这使得可以策略性地将数据库副本放置在更靠近用户连接网络的位置。这显着减少了数据延迟,始终实现更快的页面加载,并防止销售损失和客户流失。
现在让我们看看超高可用性。我们这么说是什么意思?显然,应该避免停机,因为这意味着客户的沮丧和业务的损失,具体取决于停机的时间和范围。如果应用程序能够在硬件和数据中心中断后继续运行,则该应用程序具有高可用性。许多应用程序和数据库架构师将在一个或多个地理上分离的数据中心中配置和读取其数据库的副本,以便在主系统停机时进行故障转移。
这种方法存在几个问题。首先,在云中,只读副本可能位于同一区域的附近可用区中。云提供商确实有时会出现整个区域发生数小时故障的情况。事实上,最近几周,AWS 的 us-east-1 区域(最大的)和 Google 的 europe-west-9 区域都发生了这种情况,导致完全依赖它们的应用程序出现数小时的停机时间。架构和实施多区域故障转移解决方案可能很困难,这是许多组织尚未这样做的主要原因。此外,对于许多流行的开源数据库(例如Postgres)来说,在不关闭整个系统的情况下不可能进行软件维护和升级。
完全分布式的多主数据库解决了这些缺点。由于有多个节点处理读取和写入流量,因此一个节点发生故障只需将数据库请求重定向到任何幸存的节点即可。由于系统被设计为地理分布式,因此跨多个区域运行非常简单。软件升级可以逐个节点执行,避免了可怕的“计划维护”窗口。
也许您一直处于尴尬的境地,必须向您的首席执行官或董事会解释为什么当您的云提供商发生区域中断时您的应用程序会关闭。当他们吸收了云区域的概念后,你不可避免地会被问到为什么应用程序无法跨多个区域运行。使用分布式多主数据库,可以简单且经济高效地实现这一点。顺便说一句,如果您是 SaaS 公司的首席执行官或董事会成员,您可能想询问您的团队该公司的应用程序是否可以承受云区域中断!
最后,为什么我们在这里专门讨论关系数据库呢?毫无疑问,分布式数据库的优势在 NoSQL 世界中已经存在很多年了。然而,许多现有的企业应用程序都是建立在关系数据库之上的,关系数据库更加灵活,并且有更多的工具和人才来支持它们。通过将现有应用程序重新部署到分布式关系数据库之上,通常只需对应用程序代码进行有限的更改,即可为现有应用程序带来上述好处。这种迁移可以与从昂贵的遗留数据库解决方案迁移到 Postgres 等开源数据库一起完成,从而节省大量许可费用。Postgres 现在是开发人员中最流行的开源数据库,因此这将使您的开发人员和用户都满意。
总而言之,将应用程序迁移到分布式多主关系数据库可以带来巨大的收益。这些好处的形式是通过降低延迟来减少销售损失和客户流失,或者通过多主分布式架构避免停机。而且,如果您也转向开源数据库,您将拥有更满意的用户和客户以及更满意的开发人员,这几乎是一个额外的好处。
作者:Michael Bogan
更多内容请关注公号【云原生数据库】
squids.cn,云数据库RDS,迁移工具DBMotion,云备份DBTwin等数据库生态工具。
相关文章:
分布式多主关系数据库的底线业务优势
当今的应用程序(包括企业应用程序)需要始终开启且始终可用,并且通常必须为全球用户提供服务,这些用户无论身在何处都希望获得几乎即时的响应时间。 应对这些挑战不仅仅意味着让用户更满意:每个能够解决低延迟和超高可…...
JMM讲解
一:为什么要有JMM,它为什么出现? CPU的运行并不是直接操作内存而是先把内存里面的数据读到缓存,而内存的读和写操作的时候会造成不一致的问题。JVM规范中试图定义一种Java内存模型来屏蔽掉各种硬件和操作系统的内存访问差异&…...
小程序获取头像和昵称的思路
小程序获取头像和昵称的基本方法是调用小程序自带的API wx.getUserProfile(),这也是小程序官方目前最推荐的做法。成功获取用户名头像之后,小程序允许保存调用的结果,以便下一次打开页面的时候自动显示头像和名字。保存用户名和头像并不是保存…...
关于docker网络实践中遇到的问题
1.禁用docker自动修改iptables规则 查看docker.service文件/usr/lib/systemd/system/docker.service 默认在宿主机部署容器,映射了端口的话,docker能自己修改iptables规则,把这些端口暴露到公网。 如果要求这些端口不能暴露到公网…...
C#完成XML文档节点的自动计算功能
一个项目涉及XML文档中节点的自动计算,就是XML文档的每个节点都参与运算,要求: ⑴如果节点有计算公式则按照计算公式进行; ⑵如果节点没有计算公式则该节点的值就是所有子节点的值之和; ⑶节点有4种类型,计…...
体验SOLIDWORKS旋转反侧切除增强 硕迪科技
大家在设计中经常使用的旋转切除命令在solidworks2024版本中迎来了新的增强,添加了旋转反侧切除选项。在设计过程中不必修改复杂的草图即可切除掉我们不需要的部分。使设计工作更加方便快捷。 打开零部件后,点击键盘上的S键并输入旋转切除以搜索该命令&a…...
分布式ID系统设计(3)
分布式ID系统设计第三集 id-service-SnowFlake方案 第二集说了id-service-Segment-DB可以生成趋势递增的ID,但是ID号是可以计算的。不太适用于一些订单ID生成的场景。因为存在数据暴露的风险 比如我可以对比两天的订单ID号来大致计算出公司一天的订单量。这个有点危险。 所以…...
工作备忘录【微信】
这工作备忘录【微信】里写自定义目录标题 unionid获取用户基本信息无 unionid EasyWeChat"overtrue/wechat": "^4.6" 与 "overtrue/wechat": "~3.1" 使用方式有异 unionid 微信 unionid 有关备忘录 获取用户基本信息无 unionid htt…...
Window下SRS服务器的搭建
---2023.7.23 准备材料 srs下载:GitHub - ossrs/srs at 3.0release 目前srs release到5.0版本。 srs官方文档:Introduction | SRS (ossrs.net) Docker下载:Download Docker Desktop | Docker 进入docker官网选择window版本直接下载。由…...
Canvas绘制简易雨滴碰撞效果
实现会动的图形,向下播放多张静态的图片。一秒内要大于屏幕刷新的帧数(60) 也就是每隔1/60s执行一次函数在每次绘制的正方形上添加一个背景色为白色蒙板。 效果图 源代码 <!DOCTYPE html> <html lang"en"><head><meta charset"…...
【五、http】go的http的信息提交
一、post提交的几种 form表单json文件 1、提交表单 //http的postfunc requstPost(){params : make(url.Values)params.Set("name", "kaiyue")params.Set("age", "18")formDataStr : []byte(params.Encode())formDataByte : bytes.N…...
第六讲:VBA与ACCESS的ADO连接中,所涉及的对象
《VBA数据库解决方案》教程(10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实…...
【计算机网络】同源策略及跨域问题
1. 同源策略 同源策略是一套浏览器安全机制,当一个源的文档和脚本,与另一个源的资源进行通信时,同源策略就会对这个通信做出不同程度的限制。 同源策略对 同源资源 放行,对 异源资源 限制。因此限制造成的开发问题,称…...
uniapp在APP端使用swiper进行页面不卡顿滑动
uniapp在APP端使用swiper进行页面会卡顿,主要是渲染的数据有点多,这里只渲染三个数据就不好那么卡顿了,每次滑动后更新数据 <view><swiper change"changePoint" circular :disable-touch"disableTouch"><…...
遗憾
《遗憾》 文/罗光记 岁月匆匆如梦过, 回首往事泪沾裳。 遗憾犹存心深处, 青春岁月已成伤。...
hustoj 平台
1.大部分功能和选项的开关和参数调整都在配置文件中,安装后几个重要配置文件的位置如下: /home/judge/etc/judge.conf #判题judged/judge_client /home/judge/src/web/include/db_info.inc.php #Web debian-sys-maint gdfNPYOdITxtDEK1 修改MySQl管…...
如何使用Scrapy提取和处理数据
目录 一、安装和设置Scrapy 二、创建爬虫 三、提取数据 四、处理数据 五、存储数据 六、进阶操作 七、注意事项 总结 Scrapy是一个强大且灵活的Python库,用于创建网页爬虫,提取和处理数据。本文将为您深入讲解如何使用Scrapy进行数据处理&#x…...
拟合与过拟合
拟合跟过拟合 过拟合:将泛化误差分解为偏差跟方差 偏差:学习者不断学习相同错误事物的倾向 方差:学习随机信号而不考虑真实情况的趋势 过拟合:所建的机器学习模型或者深度学习模型在训练样本中表现得过于优越,导致测试数据集表现…...
科学化决策数据分析,先从量化开始
在当今信息爆炸的时代,数据已经成为我们生活和工作中不可或缺的一部分。在各行各业,人们越来越依赖数据来指导决策和优化业务。在这个背景下,量化成为了一种重要的方法论,通过收集、分析和解读数据,为我们提供了更准确…...
使用Docker搭建一个“一主两从”的 Redis 集群(超详细步骤)
目录 1、Redis 单机版安装1.1 拉取 Redis1.2 创建数据卷目录1.3 修改 redis.conf1.4 启动 Redis 容器1.5 进入容器连接 Redis 2、Redis 一主两从集群搭建2.1 复制三份 redis.conf2.2 启动 master2.3 启动 两个redis slave2.4 三者关系查看2.5 数据测试 1、Redis 单机版安装 1.…...
炉石传说自动化工作流:从智能决策到实战应用的全栈指南
炉石传说自动化工作流:从智能决策到实战应用的全栈指南 【免费下载链接】Hearthstone-Script Hearthstone script(炉石传说脚本)(2024.01.25停更至国服回归) 项目地址: https://gitcode.com/gh_mirrors/he/Hearthsto…...
数据科学家的懒人包:OpenClaw+nanobot自动清洗CSV并生成可视化报告
数据科学家的懒人包:OpenClawnanobot自动清洗CSV并生成可视化报告 1. 为什么需要自动化数据清洗与报告生成? 作为一名经常处理数据的人,我发现自己每周都在重复同样的工作:收到CSV文件→检查格式→处理缺失值→生成可视化→发送…...
Qwen3-TTS-VoiceDesign参数详解:Temperature与Top P加点调优指南
Qwen3-TTS-VoiceDesign参数详解:Temperature与Top P加点调优指南 你是不是也遇到过这样的问题:用AI生成语音时,明明输入了“开心的语气”,出来的声音却平淡得像在念说明书?或者想要“悲伤一点”,结果听起来…...
别再只会用ST-Link了!手把手教你用串口给STM32F103C8T6远程更新固件(IAP实战)
突破有线束缚:基于串口的STM32F103C8T6固件无线更新实战指南 当你的STM32开发板被嵌入产品外壳深处,当生产线上的设备需要批量升级,当野外部署的传感器需要修复漏洞——传统ST-Link烧录方式立刻显得笨拙不堪。本文将揭示如何仅用5元的USB转TT…...
百考通:AI赋能让学术研究起步更高效
对于每一位学子与科研人而言,开题报告是学术研究的“第一粒扣子”,它不仅是研究方向的蓝图,更是顺利推进论文写作、获得导师认可的关键。然而,选题迷茫、文献梳理繁琐、逻辑框架搭建困难等问题,常常让开题之路步履维艰…...
自定义默认提示词:PandaWiki 问答 “一键贴合业务”,企业降本增效新方案
深耕企业数字化与知识管理 7 年,服务过数百家中大型企业,发现企业知识库普遍存在三大核心痛点:AI 问答泛化、风格混乱、效率低下、人力成本高。PandaWiki 的自定义默认提示词功能,搭配多平台客服 开源可控,为企业提供…...
【RK3588 NPU性能调优实战】多线程异步推理YOLOv5,榨干6TOPS算力
1. 为什么你的RK3588 NPU跑不满6TOPS? 第一次在RK3588上跑YOLOv5时,我也被官方宣称的6TOPS算力唬住了。直到亲眼看到npu-smi显示的实际利用率——好家伙,不到30%!这就像买了辆跑车却只能挂一档开。经过两周的折腾,终于…...
三维点云到二维图像投影的实战指南:从原理到代码实现
1. 三维点云投影二维图像的核心原理 第一次接触三维点云投影时,我也被各种坐标系转换绕得头晕。后来发现只要抓住一个核心:三维到二维的投影本质上是坐标系转换的接力赛。想象你拿着手机拍照,物体从现实世界到手机屏幕的旅程,就是…...
WikiJS全文搜索实战:用ElasticSearch+IK分词器提升内容检索效率(Docker版)
WikiJS全文搜索实战:ElasticSearch与IK分词器的深度优化指南 引言:为什么需要专业级全文搜索解决方案? 想象一下,当你面对一个包含数千篇技术文档的Wiki系统时,传统的关键词匹配就像在黑暗房间里寻找一根针。WikiJS自带…...
手把手教你用Swaks和Gophish绕过SPF,搭建自己的邮件钓鱼测试环境(附避坑指南)
企业级邮件安全测试实战:从SPF绕过到钓鱼环境搭建 邮件安全测试已成为企业安全防护体系中不可或缺的一环。据统计,超过90%的网络攻击始于钓鱼邮件,而其中近40%的成功攻击源于SPF配置不当或完全缺失。本文将系统性地介绍如何构建一个完整的邮件…...
