当业务量数据非常大时,一台数据库的支撑显然难以维持。
问题:首先,我们只分析一天的数据量如果巨大的话,那么把所有数据放在一个DB上,那么当我们再次检索我们需要的数据时,这将变得很困难,
从性能上将大打折扣,我如果有同时大的访问量的话,DB服务器将会挂掉。也许你会说归档老数据是否就可以了呢?不是,注意,我们谈的
仅仅是一天的数据量,归档那是更长时间的做法,例如按月归档等。
方案:采用分布式存储方式,通过对数据库的垂直切分和水平切分分在多台数据库服务器上,在内存中做数据库的关联操作。和RPC服务器集群交互,
客户端请求RPC服务器操作数据库,如果是操作的两个数据库,那么若是同步操作,也就是操作了数据库A,这时候操作数据库B,然后提交B后告诉A
提交下,那么这样如果中间出现问题,那么就很可能呢出现数据库数据不一致的情况,那么这又怎么解决呢。通过异步方式,我操作数据库A,然后操作数据库
B,然后提交B,B提交后把发送消息给消息中间件,然后由消息中间件通过A提交,如果A没有提交成功,消息中间件会再次让其提交,之道A提交成功为止。
这个消息中间件则也需要专门的人维护的。
关于分布式数据库的存储更多的知识需要在今后的学习中不断的掌握,这里只是写了点已知的罢了。