快速排序 快速排序通过一个切分元素将数组分成两个子数组,左子数组小于等于切分元素,右子数组大于切分元素,将这两个子数组排序,也就是将整个数组排序了。 代码如下: 快速排序是原地排序,不需要辅助数组,但是递归调用需要辅助栈。快速排序最好的情况下是每次都正 ...
分类:
编程语言 时间:
2019-06-28 16:35:05
阅读次数:
103
https://www.cnblogs.com/t-road/p/6837221.html ...
分类:
其他好文 时间:
2019-06-27 23:05:56
阅读次数:
124
一、垂直拆分 垂直拆分就是要把表按模块划分到不同数据库表中(当然原则还是不破坏第三范式) 二、水平拆分 垂直切分只是把表按模块划分到不同数据库,但没有解决单表大数据量的问题,而水平切分就是要把一个表按照某种规则把数据划分到不同表或数据库里。 Scale-up与Scale-out区别 Scale Ou ...
分类:
数据库 时间:
2019-06-24 16:41:01
阅读次数:
178
[TOC] 面对对象编程(程序思想) ? 面向过程的程序设计 把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。 ? OOP 把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数,而面向 ...
分类:
其他好文 时间:
2019-06-23 22:30:58
阅读次数:
126
什么是敏捷开发? 敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。 在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。 简单地来说,敏捷开发并不追求前期完美的设计、完美编码,而是力求在很短的周期内开发出产品的核心功能,尽早发布出可用 ...
分类:
其他好文 时间:
2019-06-19 17:17:49
阅读次数:
163
分库分表 数据切分 通过某种特定的条件,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机)上面,以达到分散单台设备负载的效果。数据的切分同时还能够提高系统的总体可用性,由于单台设备Crash之后,仅仅有总体数据的某一部分不可用,而不是全部的数据。 切分模式 数据的切分(Sharding)依 ...
分类:
数据库 时间:
2019-06-14 21:42:35
阅读次数:
155
参考1参考2 参考1 参考2 对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。 对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于 ...
分类:
数据库 时间:
2019-06-14 09:26:58
阅读次数:
99
参考1参考2 参考1 参考2 对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。 对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于 ...
分类:
数据库 时间:
2019-06-14 09:24:11
阅读次数:
116
数据库优化 数据库优化 sql语句优化 索引优化 加缓存 读写分离 分区 分布式数据库(垂直切分) 水平切分 MyISAM和InnoDB的区别: 1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在b ...
分类:
数据库 时间:
2019-06-13 22:09:53
阅读次数:
209
案例一:统计网站访问量(实时统计) 实时流式计算框架:storm 1)spout 数据源,接入数据源 本地文件如下 编写spout程序: 2)splitbolt 业务逻辑处理 切分数据 拿到网址 3)bolt 累加次数求和 4)Driver 使用字段分组 运行结果如下: 总共190条数据。统计完成之 ...
分类:
Web程序 时间:
2019-06-07 12:34:28
阅读次数:
117