【问题详细描述】
背景介绍
我们后台数据库是使用的阿里云的RDS for mysql ,SAAS的微服务架构,多个微服务后台对应多台数据库;
数据量
单个服务数据量目前平均不到50G吧,今年下半年才上线。
存在问题
数据整合困难,对于实时报表实现存在问题
目前我们的解决方案:使用阿里云的监听机制,使用binlog进行将需要的数据同步到报表库,然后再做实时报表。但是会有丢数据的情况,而且后期业务量继续增加的话,继续用binlog同步,感觉也会出问题。
【需求】
解决数据难整合的问题
【解决办法】
SequoiaDB巨杉数据库是采用存储+计算分离的分布式架构,存储本身就是全分布式的,业务表数据通过切分打散在多个存储节点,因此能够实现弹性扩容和海量存储。基于分布式存储之上可以构建多种数据库实例(如 MySQL实例),上层的数据库实例本身不存储任何数据,所有的数据均存储在后端的分布式数据库中。在上述架构中,业务每一个微服务还是可以使用自身的数据库实例进行业务操作,但各微服务真实的数据都是集中存储在后端的分布式存储中,可以实现统一的管理和数据共享。对于实时报表业务,可以基于分布式存储上建立自己的数据库实例(共享部分或全部后端存储的数据),并进行报表统计。