大型数据库(T level)管理

大型数据库(T level)管理[@more@]

大型数据库T管理

谈谈自己的想法:
在分析这个问题的时候,需要看这个数据库是OLTP,OLAP还是DSS,不同的类型管理的侧重应该是不一样的。

数据库的规划:

对于大多数数据库来说,之所以这个数据库能够上T,是因为一个或者多个表的数据量比较大,而数据量比较大的表的数量一般不是很多,这是因为在数据库开始规划的时候就应该考虑到这些问题。一般来说会根据功能,IO,或者表的大小等将数据库split。

在数据库的规划阶段还需要注意的问题是有可能成为大表的两个或者几个大表之间的连接问题,一般来说系统出现性能问题很大程度上是两个大表之间的jion产生的,所以表尤其是大表,在OLTP的环境下应该尽量的简单,不能将这个表的业务层面上设计的过于复杂,这个一方面建立的索引会比较多,影响DML操作。另一方面过于复杂在jion的时候会影响性能的提高。

大表的分区:
将大表进行分区应该是一个不错的选择,但是分区表是一个双刃剑,需要注意分区键的选择,因为表的分区是需要一定的技巧,选择不适当的分区键会对性能产生不好的影响,更甚的是有可能不能实现Oracle所说的分区表的好处:易于管理,高可用性,高性能,因此分区表使用的技巧是能否使用好分区表这个功能的关键。

IO的分配:
T级的数据库一般来说是使用SAN来实现,这里面牵涉到RAID类型的选择,一般来说使用RAID01比RAID5有更好的性能,但是开销也随之增大,同时SAN的配置问题也是一个比较重要的问题,例如cache上读和写之间比例的问题在不同的OLTP和DSS数据库上是不一样的。还有就是条带化,条带的宽度大小的选择需要数据库上的块的大小,exent大小相关。
还有数据文件,日志文件和临时,回滚文件的物理磁盘分配的问题,尽量做到物理IO的均衡。

数据库的备份与恢复
T级的数据库一般来说由于数据量比较大,全数据库的备份的频率比较低,一般采用增量备份,需要一个合理,安全,完整,易行的备份策略来保证备份的完成,这里面需要重要注意的问题有两个:1、备份文件的可用性,需要检查备份集是否可用。2、增量备份的速度,合理利用Oracle的新特性来提高备份速度。

备份数据库的建立和数据库的容灾也应该是大型数据库需要考虑的问题之一。

日常操作:
T级数据库的日常操作和平常的数据库的操作实现上,需要注意的问题就是,由于数据量很大,一个操作可能小数据量的数据库上几分钟就能够完成的事情,但是在T级的数据库上可能要几十甚至几个小时,几天的时间,由于时间过长会引起过长共享资源的占用和锁的产生,这样会影响其他事务的运行,所以在进行日常操作的时候,需要事先预见一下这个操作可能产生的影响,如果会对其他会话产生较大影响的话,可以考虑分阶段运行这个命令,尽量不要对系统的允许产生较大的影响。

数据的迁移:
可以将大表上不使用的数据删除,或者迁移到其他的备用数据库上,但是这一点还是需要根据业务的需要来实际操作,如果分区表使用的恰当的话,这些应该就不是问题。

SQL优化
这一部分应该是比较重要的,尤其是牵涉到大表,做一些统计之类的SQL优化,将是你数据库性能重要表现之一,有几个原则,1、尽量减少对大表的访问次数,尤其是全表扫描。2、可以使用Oracle的一些特性,例如分析函数的使用。3、一些不常使用,但是运行时间较长的SQL可以考虑不使用绑定变量。4、业务上的考虑。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/222350/viewspace-981518/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/222350/viewspace-981518/

03-21
### 关于 Mycat 数据库中间件 #### 什么是 MycatMycat 是一款开源的分布式数据库系统,作为数据库中间件,主要用于解决大数据场景下的读写分离、分库分表等问题[^5]。它可以像 MySQL 一样被使用,开发者只需在 Mycat 中配置具体的分库分表策略即可完成复杂的数据管理任务[^1]。 #### Mycat 的主要功能特性 Mycat 提供了一系列强大的功能来提升数据库性能和可扩展性: - **分布式架构**:支持分片(Sharding)、读写分离,从而显著提高数据库处理能力和并发量。 - **高可用性**:具备主备切换以及故障自动恢复的能力,保障系统的稳定运行。 - **动态数据路由**:能根据实际业务需求灵活调整分片策略,满足不同应用场景的需求。 - **多协议兼容**:除了支持 MySQL 外,还兼容 MariaDB、Oracle 和 SQL Server 等多种数据库系统[^3]。 #### 安装与环境准备 为了成功部署并使用 Mycat,需按照以下指导进行操作: 1. 准备好 Java 运行环境(JDK 版本建议为 1.8 或更高版本),因为 Mycat 基于 Java 编写而成[^2]。 2. 下载官方发布的最新版 Mycat 软件包,并解压至目标目录下。 3. 修改 `server.xml` 文件中的相关参数设置,比如监听端口号,默认情况下为 `8066`;同时定义逻辑数据库名称及其对应的物理节点信息。 4. 启动服务进程并通过命令行工具或者图形界面访问验证连接状态正常与否。 #### 查询示例 当一切就绪之后,在日常开发过程中可以通过如下方式发起简单的查询请求: ```sql SELECT * FROM user; ``` 此条语句会经由 Mycat 解析后转发给相应的后台存储引擎执行完毕再返回结果集给前端调用方[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值