假设sql server数据库每天增长近500万条数据,DBA应该如何维护呢?
理论上来说,存在数据库的容量无限增长,同时不会严重影响服务器的性能的可能性吗?
面对容量不断增长的数据库,常用的解决方案有哪些?
有大牛说把DBA开除了,那不是要我离职的节奏吗。。。。
加多一个问题:假如有张表有一百亿条数据(或者更大),这时候就算通过索引来查找,也可能会很慢吧,这种情况一般会如何处理?
我认为是这样的,要看你的数据是不是热数据,就是是否是经常查询的数据,如果对于历史数据的查询率很低的话,那么可以直接采用分区表的方式来存储,这样上层的应用程序是不需要做任何改动的。但是如果都是热数据而且查询非常频繁的话,那么必须认为的做分库处理,按照你的数据做一些逻辑划分,放到不同的数据库 服务器上,比如你可以按照人员的所在区域来纺织信息,一个省的数据放在一个单独的数据库上,并且属于一个单独的数据库服务器。
当然第二种方案你是需要改动应用程序的,换句话说你在程序的开始设计时就应该考虑到。
把 DBA 开除了,用阿里云。
这个可以有
只了解过 将数据库操作读写分离,然后定时做一个同步,读写两者相互不影响。
针对补充回答:最常用的方法是用分区表,将表根据某一边界值(年份或月份) 横向物理分成多张表,分表后物理上是多张表,而逻辑上还是一张表。这样每张表的数据就小了,效率也就上来了
首先要有一个考虑前提: 500万条数据,假设一条数据1k, 每天增量就是4.5G左右,一个月就是135G上下了。
但说存储就是个大问题,还不清楚这些数据是否还要实时查询,性能也是要考虑的。
我没处理过这么大的数据量。
我当时接触到的数据量不到500G,增量也没这么夸张,1台服务器,固态硬盘存储, 利用分表,数据库缓存,提升硬件也还能抗的住。
期待其他人更好的回答。