数据传输的本质就是按照晶振震动周期 或者 其整数倍来传输代表0/1的高低电平,
传输过程中最核心就是各种传输协议。
对直接连接的硬件来说就是各种总线协议
对网络传输来说就是网络协议
解决速度问题的核心主要就是解决海量数据操作问题和高并发问题
海量数据的解决方案
1.缓存和页面静态化
缓存使用过程中最重要问题是什么时候创建缓存 和 缓存的失效机制
缓存可以在第一次获取的时候创建也可以在程序启动和缓存失效之后立即创建
缓存的失效可以 定期失效,也可以在数据发生变化的时候失效
缓存主要用于数据变化不是很频繁的情况
跟缓存相似的另外一种技术叫页面静态化
缓存是将数据保存起来,页面静态化是将程序最后生成的页面保存起来,使用页面静态化后就不需要每次调用都重新生成页面了,这样不但不需要查询数据库,而且连应用程序处理都省了,所以页面静态化对数据量大和并发量高两大问题都有好处
2.数据库优化
要解决数据量大的问题,是避不开数据库优化的。
1.表结构优化
根据实际情况具体处理
2.SQL语句优化
将涉及大数据的业务的SQL语句执行时间详细记录下来,通过仔细分析日志找出需要优化的语句和其中的问题
3.分区
将一张表中的数据按照一定的规则分到不同的区来保存,这样在查询数据时如果数据的范围在同一个区内那么可以只对一个区的数据进行操作,这样操作的数据量更少,速度更快
4.分表
如果一张表中的数据可以分为几种固定不变的类型,而且如果同时对多种类型共同操作的情况不多,那么都可以通过分表来处理
另外一种分表的方法是将一个表中不同类型的字段分到不同的表中保存,这么做最直接的好处就是增删改数据的时候锁锁定的范围减小了,没被锁锁定的表的的数据不受影响
5.索引优化
索引的大致原理是在数据发生变化的时候就预先按指定字段的顺序排列后保存到一个类似表的结构中,它在提高查询速度的同时也降低了增删改的速度 ,因为每次数据的变化都需要更新相应的索引
6.使用存储过程代替直接操作
在操作过程复杂而且调用频率高