我听说 RAID 5 的写入性能有时会令人震惊。虽然我想要它提供的冗余,但我不想牺牲我的数据库插入/更新时间。
这是我应该担心的事情,如果是这样,获得具有良好写入性能的冗余的建议是什么?
假设您现在在 dell.com 上,并且您正在购买一台服务器来为您的小型初创公司运行 MongoDB 数据库。您将不得不每分钟处理数万次写入和读取(但处理小对象)。你会选择 2 个处理器吗?在 RAM 上投资更多?
我听说(如果我错了,请纠正我)MongoDB 在 RAM 上处理了它所能处理的最多的内容,然后将所有内容刷新到磁盘,在这种情况下,我应该投资具有大型 L2 缓存的 CPU,可能 > 40GB 的 RAM和固态硬盘.. 对吗?
使用高端(~11,309 美元,2 个昂贵的处理器,96GB 内存)服务器还是 2x(~6,419 美元,2 个昂贵处理器,12GB 内存)服务器会更好吗?
戴尔还好吗,或者你有更好的建议吗?(我在美国境外,在葡萄牙)
我正在使用 docker swarm 运行 Spring Boot 应用程序,并且我使用 postgres 作为数据库。当我将它们都作为 docker 服务运行时,数据库连接会持续且随机地失败(如您在时间戳上所见),如日志所示:
2017-10-26T 17:14:15 .200415747Z app-db.1.1ayo6h8ro1og@scw-c2964a | 日志:无法从客户端接收数据:对等方重置连接
2017-10-26T 17:43:36 .481718562Z app-db.1.1ayo6h8ro1og@scw-c2964a | 日志:无法从客户端接收数据:对等方重置连接
2017-10-26T 17:43:56 .954152654Z app-db.1.1ayo6h8ro1og@scw-c2964a | 日志:无法从客户端接收数据:对等方重置连接
2017-10-26T 17:44:17 .434171472Z app-db.1.1ayo6h8ro1og@scw-c2964a | 日志:无法从客户端接收数据:对等方重置连接
2017-10-26T 17:49:04 .154174253Z app-db.1.1ayo6h8ro1og@scw-c2964a | 日志:无法从客户端接收数据:对等方重置连接
我无法理解或发现这样做的原因。我很感激任何想法。
编辑:
我们意识到,在测试应用程序时,它也会抛出这样的错误:
SQLTransientConnectionException: HikariPool-1 - 连接不可用,请求在 937517 毫秒后超时
谢谢。
在面试中,我会问一些基本的数据库设计问题。在数据库设计方面,规范化(何时-为什么)是我关注的问题之一。我网站上涉及同步服务器的一些场景以及它们考虑相关问题的内容/原因/方式;安全问题等等。
谢谢你。
如果我有一个长时间运行的 Postgres 查询,并且常规的“kill [pid]”不起作用,并且 pg_cancel_backend 不起作用,我该怎么办?
是否可以禁用 InnoDB 表中的键?
如果是,如何?
如果不是,为什么?
如果您禁用 mysql INNODB 表上的键(暂停索引),该设置持续多长时间?
对于像这样的查询:
ALTER TABLE users DISABLE KEYS;
Run Code Online (Sandbox Code Playgroud)
是否在脚本结束时重新启用密钥? 或者它们会持续到您明确重新打开索引?
我们的网络管理员坚持认为,托管在 DMZ 中的 Web 服务器访问防火墙后面的数据库服务器是不安全的。为了解决这个问题,我们通过 Web 服务或 WCF 访问数据。我觉得这是一个不必要的性能负担,如果 Web 服务器可以直接访问数据库,则可以消除它。
我得到的原因是黑客能够登录到 Web 服务器,然后他们可以访问数据库。是否可以只为 IIS 打开端口,或者不可能那么具体?如果我们可以将其锁定在 IIS 上,这是否容易被黑客入侵?
我在互联网上阅读了各种帖子,但似乎找不到明确的答案。
铝
您将如何检查您的 postgresql 数据库实例是否需要更多 RAM 内存来处理其当前工作数据?
很长一段时间以来,我一直想知道是否有系统必须“纵向扩展”(到更强大、更昂贵的服务器上)而不是通过拆分到许多较小的服务器来“横向扩展”。
这样的系统是否存在,如果存在,是否有什么特别的东西会导致系统需要扩展而不是横向扩展?(例如,可能 ACID-complaint 数据库事务或其他强大的数据完整性要求会产生这种需求。)
由于向上扩展似乎比向外扩展带来更高的硬件成本,因此如果可能的话,这似乎是您想要避免的事情,但我不确定它是否总是可以避免的。
那么,是否存在无法横向扩展而必须纵向扩展的系统?什么可能导致这种情况,您将如何识别这样的系统?(它们通常是否具有一些共同的特征,可能使它们更容易识别?)
database ×10
postgresql ×3
mysql ×2
performance ×2
dmz ×1
docker ×1
docker-swarm ×1
firewall ×1
hardware ×1
iis ×1
indexing ×1
innodb ×1
memory ×1
mongodb ×1
optimization ×1
raid ×1
scalability ×1
sql ×1
sql-server ×1