Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么要在数据库主机上保留应用程序的副本?

为什么要在数据库主机上保留应用程序的副本?
EN

Stack Overflow用户
提问于 2009-07-21 05:00:12
回答 1查看 160关注 0票数 3

许多Capistrano示例食谱都包含:db角色。默认情况下,部署任务将应用程序代码导出到所有角色中的所有主机。因此,这表明人们通常会在数据库主机上保留其应用程序的副本。此外,在卡皮斯特拉诺的分布式deploy.rb配方中,:deploy:migrate看起来像这样:

代码语言:javascript
运行
AI代码解释
复制
task :migrate, :roles => :db, :only => { :primary => true } do
  # ...
end

我的问题是,为什么要这样做呢?让应用程序代码远离DB主机(它甚至可能没有安装Ruby )并从生产机器上运行迁移,不是更干净吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-07-21 05:55:43

db服务器运行迁移,因为它是负责数据库的服务器。

还可以设想只允许从数据库服务器本身创建/删除/更改表的安全策略。

如果在迁移期间加载数据,甚至可能会有轻微的性能提升,尽管这在一开始就是一个糟糕的想法。

如果您需要引用您的数据库主机,并且不需要该主机上的代码副本,则可以使用如下代码:

代码语言:javascript
运行
AI代码解释
复制
role :db, 'dbhost', :no_release => true

在应用服务器上运行迁移的示例代码:

代码语言:javascript
运行
AI代码解释
复制
role :app, 'apphost', :runs_migrations => true
task :migrate, :roles = :app, :only => {:runs_migrations => true } do
  #...
end
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1159033

复制
相关文章
MySQL8.0.19 禁用Binlog,保留副本上的提交顺序
MySQL 8.0.19引入了无Binlog副本(保留事务提交顺序),这意味着用户可以在不启用二进制日志的情况下部署异步副本,并保留相同的顺序提交事务。用户可以禁用Binlog(skip-log-bin)和回放线程产生的日志(log-slave-updates = FALSE)进行的更改,同时保留相同提交顺序(slave-preserve-commit-order = TRUE)。
MySQLSE
2020/09/28
1.5K0
MySQL8.0.19 禁用Binlog,保留副本上的提交顺序
OceanBase 社区版OBD部署示例主副本
以root用户安装时,默认安装在/root/observer目录下,本文以 root用户安装在/data/observer目录下。创建过程。
你要的小米吖
2021/09/17
1.9K0
为什么我的数据库应用程序这么慢?
当您的应用程序运行缓慢时,反射操作是指责数据库查询。 毫无疑问,一些更为奢侈的拖延可能会因为缺失的指数或不必要的锁定而被指责,但还有其他潜在恶作剧,包括网络和应用本身。 Dan Turner指出,你可以节省大量的时间和金钱,通过努力确定问题所在的位置,然后潜入细节。 低应用程序首先影响终端用户,但是整个团队很快就会感受到影响,包括DBA,Dev团队,网络管理员以及照管硬件的系统管理员。 有这么多人参与,每个人都有自己的看法,可能的原因,可能很难确定瓶颈在哪里。 一般来说,SQL Server应用程序的性能问
Woodson
2018/07/18
2.3K0
源码分析RocketMQ多副本之Leader选主
本文将按照 《RocketMQ 多副本前置篇:初探raft协议》 的思路来学习RocketMQ选主逻辑。首先先回顾一下关于Leader 的一些思考:
丁威
2019/08/21
2.3K0
源码分析RocketMQ多副本之Leader选主
VisualVM监控远程主机上的JAVA应用程序
使用VisualVM监控远程主机上JAVA应用程序时,需要开启远程主机上的远程监控访问,或者在远程JAVA应用程序启动时,开启远程监控选项,两种方法,选择其中一种就可以开启远程监控功能,配置完成后就可以在本地对远程主机上的JAVA应用程序进行监控。
流柯
2018/08/31
2.6K0
NoSQL数据库的主主备份
Tarantool DBMS的高性能应该很多人都听说过,包括其丰富的工具套件和某些特定功能。比如,它拥有一个非常强大的on-disk存储引擎Vinyl,并且知道怎样处理JSON文档。然而,大部分文章往往忽略了一个关键点:通常,Tarantool仅仅被视为存储器,而实际上其最大特点是能够在存储器内部写代码,从而高效处理数据。如果你想知道我和igorcoding是怎样在Tarantool内部建立一个系统的,请继续往下看。 如果你用过Mail.Ru电子邮件服务,你应该知道它可以从其他账号收集邮件。如果支持OAut
CSDN技术头条
2018/02/13
1.3K0
NoSQL数据库的主主备份
MongoDB副本(一主一备+仲裁)环境部署记录
MongoDB复制集是一个带有故障转移的主从集群。是从现有的主从模式演变而来,增加了自动故障转移和节点成员自动恢复。 MongoDB复制集模式中没有固定的主结点,在启动后,多个服务节点间将自动选举产生一个主结点。该主结点被称为primary,一个或多个从结点被称为secondaries。 primary结点基本上就是master结点,不同之处在于primary结点在不同时间可能是不同的服务器。如果当前的主结点失效了,复制集中的其余结点将会试图选出一个 新的主结点。 MongoDB复制集模式的好处: 一切自动
洗尽了浮华
2018/01/23
3K1
MongoDB副本(一主一备+仲裁)环境部署记录
MySQL数据库的主主同步配置
版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢
耕耘实录
2018/12/20
3.9K0
为什么我要在2018年学习Python?
源 / Codecademy 译 / 36氪 从网页编程到时髦的人工智能,机器学习,这个享有"瑞士军刀(万能工具)"盛誉的Python语言, 你学会了吗编者注: 根据维基百科的解释,"Python是一种广泛使用的高级编程语言,由吉多·范罗苏姆创造,第一版发布于 1991 年。Python 的设计哲学强调了代码的可读性和简洁的语法。" 随着大数据,人工智能的兴起,越来越多的人也开始研究起这门语言。 以下这篇文章编译自Alexus Strong在在线学习编程网站Codecademy上发表的文章Why I’
顶级程序员
2018/07/23
3520
为什么我要在2018年学习Python?
为什么我要在2018年学习Python?
根据维基百科的解释,"Python是一种广泛使用的高级编程语言,由吉多·范罗苏姆创造,第一版发布于 1991 年。Python 的设计哲学强调了代码的可读性和简洁的语法。"随着大数据,人工智能的兴起,越来越多的人也开始研究起这门语言。
IT阅读排行榜
2018/08/16
5100
Python 为什么要保留显式的 self ?
布鲁斯·埃克尔(Bruce Eckel)发了篇博文[1],提议从类方法的形参列表中删除“self”。我将解释为什么这个提议不能通过。(译注:Bruce 是《Thinking in Java》、《Thinking in C++》等多本书籍的作者,也是个 Python 开发者。他的文章总结了当年在巴西 Pycon 上的一次讨论,主要观点是在定义类方法时,形参中的“self”是多余的,而且由它引发的报错信息具有一定的误导性。)
小白学视觉
2022/05/22
2710
Python 为什么要保留显式的 self ?
布鲁斯·埃克尔(Bruce Eckel)发了篇博文[1],提议从类方法的形参列表中删除“self”。我将解释为什么这个提议不能通过。(译注:Bruce 是《Thinking in Java》、《Thinking in C++》等多本书籍的作者,也是个 Python 开发者。他的文章总结了当年在巴西 Pycon 上的一次讨论,主要观点是在定义类方法时,形参中的“self”是多余的,而且由它引发的报错信息具有一定的误导性。)
Python猫
2019/10/03
5080
为什么要在WebAssembly中使用Rust?【Programming】
WebAssembly(Wasm)是一项技术,可以重塑我们为浏览器构建应用程序的方式。 它不仅使我们能够构建全新的Web应用程序类,而且还将使我们使用JavaScript编写的现有应用程序更加高效。
Potato
2019/11/24
1.5K0
为什么要在WebAssembly中使用Rust?【Programming】
数据库主从(主主)配置
1. 两台数据库服务器,IP分别为 192.168.216.128 和 192.168.216.129,在服务器上装MySQL(我的配置版本为5.7.24)
用户10280106
2022/12/23
1K0
Python 为什么要保留显式的 self ?
大家知道 Python 的类方法里都要带个 self,而不像其它语言那样隐藏起来,这让人略有不爽。与人讨论后得知 Guido 曾经专门撰文解释过这个问题。我抽空先翻译了一下,与大家分享讨论。
Crossin先生
2020/02/26
4950
微软为什么Windows10为什么还要保留DOS?
微软公司的操作系统版本的在早期更迭非常迅速,从最早的Dos系统到现在win10也折射出科技发展的历程,虽然大家对于微软的垄断不以为然,但是在桌面系统微软还是绝对意义上的霸主,虽然现在linux系统在设备数量上已经超过windows系统但主要分布在移动终端或者服务器端,对于桌面版影响极其微小,而且linux桌面系统使用人员主要还是技术相关人员,相当于在未来很长时间内微软还会继续统治桌面版的操作系统。
程序员互动联盟
2020/04/14
1.6K0
微软为什么Windows10为什么还要保留DOS?
为什么要在MD5加密的密码中加“盐”
盐(Salt)在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。
bear_fish
2018/09/19
6.8K0
为什么需要在 JavaScript 中使用顶层 await?
作为一门非常灵活和强大的语言,JavaScript 对现代 web 产生了深远的影响。它之所以能够在 web 开发中占据主导地位,其中一个主要原因就是频繁更新所带来的持续改进。
Chor
2021/02/02
2.3K0
数据库副本的自动种子设定(自增长)
背景 在 SQL Server 2012 和 2014 中,初始化 SQL Server Always On 可用性组中的次要副本的唯一方法是使用备份、复制和还原。 在一个高可用组里面添加一个数据库需要很多手动任务和一些必要条件。需要完成的这些工作中,有一些是有些困难的,比如: 我们需要从主副本中备份数据库,并将这个备份分发到可用组的其他副本中。这是基于手动操作的,因为这需要你从主数据库备份还原数据库到次要副本。 有时候,我们不能通过网络防火墙在副本之间传送数据库备份文件。这种情况下,需要开放SMB协议端口
用户1217611
2018/03/29
2K0
数据库副本的自动种子设定(自增长)
点击加载更多

相似问题

保留副本

21

为什么要在rails应用程序中保留迁移历史?

11

为什么要在传递副本中解析文件?

14

为什么我需要在主成分分析中标明要保留的元件数?

19

为什么要在结构中保留内存?

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档