Mycat入门(一)

对于海量数据处理,按照场景,主要分为两种类型:联机事务处理(OLTP)和联机分析处理(OLAP):

1. 联机事务处理(OLTP)也称为面相交易的处理系统,其基本特征是原始数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果
2. 联机分析处理(OLAP)是指通过多维的方式对数据进行分析,查询和报表,可以同数据挖掘工具,统计分析工具配合使用,增强决策分析能力

Mycat入门(一)_第1张图片

关系型数据库和非关系型数据库优缺点对比

Mycat入门(一)_第2张图片
面对海量数据,传统关系型数据库存在单机性能瓶颈,扩展困难,NoSql的根本优势在于云计算时代,简单,益于大规模分布式扩展,并且读写性能非常高

两种数据切分方式:

1.垂直切分:按照不同的表(或者Schema)来切分到不同的数据库(主机)之上.

优点:规则简单,实施方便,尤其适合各业务之间的耦合度非常低,相互影响很小,业务逻辑非常清晰的系统.
1.拆分后业务清晰,拆分规则明确
2.系统之间整合或扩展容易
3.数据维护简单
缺点:
1.部分业务表无法join,只能通过接口方式解决,提高了系统复杂度
2.受每种业务不同的限制存在单库性能瓶颈,不易数据扩展和性能提高
3.事务处理复杂
由于垂直切分是按照业务的分类将表分散到不同的库,所以有些业务表会过于庞大,存在单库读写和存储瓶颈,所以就需要水平拆分来解决.

Mycat入门(一)_第3张图片
2.水平切分:根据表中数据的逻辑关系,将同一个表中的数据按照某种条件拆分到多台数据库(主机)上面.
缺点:因为要将同一个表中的不同数据,拆分到不同的数据库中.对于应用程序来说,拆分规则本身就较根据表明来拆分更为复杂,后期的数据维护也更为复杂.
Mycat入门(一)_第4张图片

两种切分共同的缺点:

1.引入分布式事务的问题
2.跨节点Join的问题
3.跨节点合并排序分页的问题
4.多数据源管理问题:针对数据源管理,目前主要有两种思路
            -客户端模式,在每个应用程序模块中配置管理自己需要的一个(或多个)数据源,直接访问各个数据库,在模块内完成数据的整合;
            -中间件.短期内需要付出的成本可能会相对大一些,但是对整个系统的扩展,非常有帮助

数据切分的经验:

    1.能不切分尽量不要切分
    2.如果要切分一定要选择合适的切分规则,提前规划好
    3.数据切分尽量通过数据冗余或者分组来降低跨库join的可能
    4.由于数据库中间件对数据join实现的优劣难以把握,而且实现高性能难度较大,业务读取尽量少使用多表join

你可能感兴趣的:(数据库,Mycat入门)