金融行业传统数据库一般如何解决io需求?

参与56

11同行回答

anikikonganikikong课题专家组数据库运维工程师中国民生银行
看了下面有chatgpt的回答,真是又系统又全面。那我认为在chatgpt系统回答的基础上,实际行业内该怎么解决这个问题。首先需要搞清楚这个io问题是怎么产生的,然后才是去解决。数据库的io主要是数据和日志的读写,所以得具体区分是哪一种,然后才是具体优化措施。1. 如果仅仅是日志...显示全部

看了下面有chatgpt的回答,真是又系统又全面。那我认为在chatgpt系统回答的基础上,实际行业内该怎么解决这个问题。首先需要搞清楚这个io问题是怎么产生的,然后才是去解决。数据库的io主要是数据和日志的读写,所以得具体区分是哪一种,然后才是具体优化措施。
1. 如果仅仅是日志的同步读写影响性能,可以考虑日志与数据分开,采用更高性能的存储。
2. 如果是大量数据读写的性能问题,那么考虑的第一是优化sql,解决无效的大量读写,第二是调整数据库参数,看看是不是哪里不合适导致的大量读写。例如增加缓存,增加checkpoint执行频率等。最后才是考虑升级机器内存存储等方式。
3. 还有一种原因是传统数据库本身不应该承载的业务,可以迁移到大数据相关的平台去计算。

总之io问题只是个结果,真正要合理的解决应该分析引发的最终原因。我比较不推荐无脑扩容,钱花了效果也不一定多好。

收起
银行 · 2023-07-27
浏览971
pysx0503pysx0503系统工程师第十区。散人
图省事的办法一般是简单粗暴的增加硬件。我觉得这算是“开源”吧。尽可能的增加数据库运算的资源,第二个是分散计算。当硬件扩充到一定瓶颈。就要把原本的任务拆分开。分库。分表。来分散硬件上的压力。我觉的算是“节流”还有第三种就会比较麻烦。就是优化。因为现在的信...显示全部

图省事的办法一般是简单粗暴的增加硬件。我觉得这算是“开源”吧。尽可能的增加数据库运算的资源,
第二个是分散计算。当硬件扩充到一定瓶颈。就要把原本的任务拆分开。分库。分表。来分散硬件上的压力。我觉的算是“节流”
还有第三种就会比较麻烦。就是优化。因为现在的信息化架构一般都比较复杂。优化的方案也要结合业务类型。硬件资源。行业特点等信息来进行。而且对DBA人员的要求也比较高。

收起
系统集成 · 2023-07-22
浏览1045
Sander007Sander007系统架构师银联
目前推荐使用固态盘来保证磁盘io,如果单节点无法满足建议使用多分片的数据库或者使用分布式数据库显示全部

目前推荐使用固态盘来保证磁盘io,如果单节点无法满足建议使用多分片的数据库或者使用分布式数据库

收起
2023-08-01
浏览782
zzy3620zzy3620课题专家组系统环境管理某城商行
可以通过增加网卡,做网卡绑定,或者通过替换更好带宽的交换机,提高带宽需求。或者优化协议通过fc降低协议开销,再或者改用infiniband交换机提高io能力。显示全部

可以通过增加网卡,做网卡绑定,或者通过替换更好带宽的交换机,提高带宽需求。或者优化协议通过fc降低协议开销,再或者改用infiniband交换机提高io能力。

收起
银行 · 2023-07-27
浏览976
chinazzbchinazzb联盟成员系统运维工程师null
1,硬件资源,从机械硬盘换成固态硬盘,对于高强度还可以做成RAID 0(这种需要多副本)。2,SQL优化,部分SQL语句换成写法提高多要求。显示全部

1,硬件资源,从机械硬盘换成固态硬盘,对于高强度还可以做成RAID 0(这种需要多副本)。
2,SQL优化,部分SQL语句换成写法提高多要求。

收起
软件开发 · 2023-07-25
浏览1046
flywiththewindflywiththewind其它easy world
当前信创大环境下,由于国产数据库一些硬件特殊需求(万兆网卡,512内存,nvme盘等等),且数据量不大目前遇到的io问题不大。最好的解决方法有两个:1、好的硬件;2、优化top sql显示全部

当前信创大环境下,由于国产数据库一些硬件特殊需求(万兆网卡,512内存,nvme盘等等),且数据量不大目前遇到的io问题不大。
最好的解决方法有两个:1、好的硬件;2、优化top sql

收起
系统集成 · 2023-07-25
浏览1064
waring_idwaring_id技术经理某公司
从容易到复杂1、最简单最容短期生效的方案是升级硬件配置(下面的描述够完整了),唯一的缺点是费钱。2、基于数据库做性能优化。例如分离常用数据和历史查询数据;分表分库;读写分离;大表拆分等3、长期机制是梳理业务流程,优化 SQL 语句。针对慢查询的语句做分析优化...显示全部

从容易到复杂
1、最简单最容短期生效的方案是升级硬件配置(下面的描述够完整了),唯一的缺点是费钱。
2、基于数据库做性能优化。例如分离常用数据和历史查询数据;分表分库;读写分离;大表拆分等
3、长期机制是梳理业务流程,优化 SQL 语句。针对慢查询的语句做分析优化

收起
零售/批发 · 2023-08-01
浏览810
郑金辉 邀答
lzgzg166lzgzg166软件开发工程师杭州明和科技
采用IB网络和RDMA协议,NVME盘,Io不是问题显示全部

采用IB网络和RDMA协议,NVME盘,Io不是问题

收起
2023-07-26
浏览952
oltponeoltpone业务咨询顾问null
ChatGPT的容器化值得商榷按实践经验来说:1)硬件资源 :一般来说优先内存扩容、其次磁盘性能、网络性能、CPU等这些2) 数据库参数优化3)业务逻辑优化、业务SQL改写、索引优化等4)业务端增加缓存,如redis等...显示全部

ChatGPT的容器化值得商榷

按实践经验来说:
1)硬件资源 :一般来说优先内存扩容、其次磁盘性能、网络性能、CPU等这些
2) 数据库参数优化
3)业务逻辑优化、业务SQL改写、索引优化等
4)业务端增加缓存,如redis等

收起
IT其它 · 2023-08-23
浏览723
zhuqibszhuqibs软件开发工程师Adidas
金融行业的传统数据库在解决IO需求时,通常有以下几种方式:1.使用高性能SAN存储系统使用光纤通道等技术,接入高速的存储区域网络(SAN)。SAN可提供高吞吐量、低延迟的磁盘IO,满足数据库的IO需求。2.使用SSD固态硬盘相比机械硬盘,SSD具有更高的随机读写性能、更低的访问延迟...显示全部

金融行业的传统数据库在解决IO需求时,通常有以下几种方式:
1.使用高性能SAN存储系统
使用光纤通道等技术,接入高速的存储区域网络(SAN)。SAN可提供高吞吐量、低延迟的磁盘IO,满足数据库的IO需求。
2.使用SSD固态硬盘
相比机械硬盘,SSD具有更高的随机读写性能、更低的访问延迟。将数据库 datafile放在SSD上,可以大幅提升IO吞吐量。
3.分区和分库分表
通过水平分片,将数据库按业务拆分为多个更小的数据库或表,极大减少单个数据库的压力,提高并发能力。
4.缓存频繁访问数据
使用Redis等内存数据库缓存热点数据,减少磁盘IO请求。
5.调优数据库参数
调整IO相关参数,如增加缓冲区、调大读写区块大小等方式优化IO性能。
6.数据压缩
对磁盘数据进行压缩,减少IO请求的数据量,提升吞吐量。
7.使用更高效的IO引擎
MySQL支持多种存储引擎,根据需要选择性能更优的引擎,如InnoDB。

通过上述方式,可以较好满足金融行业数据库的IO需求。实际还需要根据业务系统情况,选择合适的优化方案。

收起
互联网服务 · 2023-07-26
浏览1069

ChatGPT 回答

在金融行业传统数据库中,为了解决IO需求,通常会采用以下几种方法:

  1. 增加硬件资源:通过增加硬盘、内存等硬件资源来提高数据库的IO性能,从而满足业务需求。这种方法的缺点是成本较高,而且无法解决IO瓶颈问题。
  2. 数据库分区:将数据库分成多个部分,每个部分存储不同的数据,从而减少单个数据库的IO压力。这种方法可以提高IO性能,但是需要对数据库进行重新设计和调整,成本较高。
  3. 数据库缓存:通过增加缓存来减少数据库的IO操作,从而提高数据库的性能。这种方法可以提高IO性能,但是需要考虑缓存的大小和缓存的更新策略,否则会影响数据的一致性。
  4. 数据库容器化:将数据库容器化,可以提高数据库的可移植性和灵活性,从而更好地满足业务需求。容器化可以提高IO性能,但是需要考虑容器的资源限制和容器之间的通信问题。

总之,金融行业传统数据库一般通过增加硬件资源、数据库分区、数据库缓存和数据库容器化等方式来解决IO需求。不同的方法有不同的优缺点,需要根据具体业务需求进行选择。

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2023-07-21
  • 关注会员:12 人
  • 问题浏览:3374
  • 最近回答:2023-08-23
  • X社区推广