起因:由于幸运的通过网易简历筛选,进入在线笔试阶段,所以找大佬尚学习了一波关于大数据的数据库设计。
以关系数据库为基础的话,其基本的解决方法主要有:
一:建索引。
判等的字段建立索引,索引大家都知道分为聚集索引以及非聚集索引,通过建立索引可以将判定时间降低为的倍数为指数倍,然而对于插入增加为原来的log(N)倍,对于其查询的性能提升显著。但是注意对于删除一定要改为伪删除,否则对cpu瞬间爆炸,完成升天。
二:分词。
其实是对于大文本的like 查询,显然并不能建立索引,故进行分词然后存储 再建立索引进行查询,主要思想就是这样。
三:对于分布式的理解。
分布式肯定是建立在多线程的基础上的,而多线程肯定是由系统资源的限制所决定的。(带宽资源,内存资源,cpu资源)
主要原则为 线程之间对于系统内是一个重复工作,而对于系统外部为单一工作,例如 网络爬虫抓取页面,对于系统内部,是重复的工作,系统请求下载网页,等待主机响应,对于系统内是重复的,完全没有必要必须等待其下载完一个网页再去下载另一个网页,就可以使用多线程进行相关的下载工作。
四:并发的注意事项
对于公共的资源加锁,主要是java相关的加锁方式(由于本人申请的java的开发岗,但是又是半路出身,so 大家懂得),关键字synchronized
此外还有事务锁,数据库的锁等等。
杂记-大佬尚技术讲堂
最新推荐文章于 2024-07-03 15:00:08 发布