济南达内IT培训
美国上市IT培训机构

13355319715

济南达内IT培训高性能编程开发特点都有哪些

  • 时间:2022-06-13
  • 发布:济南达内
  • 来源:互联网

高性能编程开发是程序员在开发软件的时候需要满足的一个开发需求,而本文我们就通过案例分析来了解一下,高性能编程开发特点都有哪些。

 

1)读写分离

读写分离的基本原理是将数据库读写操作分散到不同的节点上。

读写分离的基本实现是:

数据库服务器搭建主从集群,一主一从、一主多从都可以。

数据库主机负责读写操作,从机只负责读操作。

数据库主机通过复制将数据同步到从机,每台数据库服务器都存储了所有的业务数据。

业务服务器将写操作发给数据库主机,将读操作发给数据库从机。

读写分离的实现逻辑并不复杂,但有两个细节点将引入设计复杂度:主从复制延迟和分配机制。

2)分库分表

业务分库指的是按照业务模块将数据分散到不同的数据库服务器。虽然业务分库能够分散存储和访问压力,但同时也带来了新的问题:

原本在同一个数据库中的表分散到不同数据库中,导致无法使用SQL的join查询。

表分散到不同的数据库中,无法通过事务统一修改。

业务分库同时也带来了成本的代价,本来1台服务器搞定的事情,现在要3台,如果考虑备份,那就是2台变成了6台。

单表数据拆分有两种方式:垂直分表和水平分表。

垂直分表引入的复杂性主要体现在表操作的数量要增加。水平分表相比垂直分表,会引入更多的复杂性,主要表现在下面几个方面:

某条数据具体属于哪个切分后的子表,需要增加路由算法进行计算。

数据分散在多个表中,如果需要与其他表进行join查询,需要在业务代码或者数据库中间件中进行多次join查询,然后将结果合并。

水平分表前用一个count()就能完成的操作,在分表后就没那么简单了。

排序操作无法在数据库中完成,只能由业务代码或者数据库中间件分别查询每个子表中的数据,然后汇总进行排序。

3)NoSQL

关系数据库存在如下缺点。

关系数据库存储的是行记录,无法存储数据结构。

关系数据库的schema扩展很不方便。

关系数据库在大数据场景下I/O较高。

关系数据库的全文搜索功能比较弱。

NoSQL!=NoSQL,而是NoSQL=NotOnlySQL。常见的NoSQL方案分为4类。

K-V存储:解决关系数据库无法存储数据结构的问题,以Redis为代表。

文档数据库:解决关系数据库强schema约束的问题,以MongoDB为代表。

列式数据库:解决关系数据库大数据场景下的I/O问题,以HBase为代表。

全文搜索引擎:解决关系数据库的全文搜索性能问题,以Elasticsearch为代表。

上一篇:济南达内培训Java编程跨平台开发需要掌握哪些知识
下一篇:济南达内IT培训Java程序员都有哪些就业领域

马上预约七天免费体验课

姓名:

电话:

济南达内Java培训线程池技术特点与参数分析

济南达内Java培训Java编程变量与常量用法分析

济南达内电脑培训零基础学习Java编程需要掌握哪些知识点

济南达内IT培训Java编程内存模型基础知识分享

  • 添加老师微信

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

  • 添加老师QQ

    老师QQ:3288711675

    免费领取达内课程视频学习资料

Copyright © 2018 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
江西省

贵州省

广西省

海南省

达内教育

有位老师想和您聊一聊