Java数据库开发

栏目: 数据库 · 发布时间: 6年前

内容简介:Nosql数据库使用场景首先需要确认一个问题,nosql能做什么?在现在的开发领域中nosql可以实现文档存储(BSON、JSON)、缓存存储、图像缓存(图像搜索),但是对于nosql的具体应用场景完全要根据你实际的业务来讲;使用Redis实现消息队列,可以使用更加高级的RabbitMQ,Kafka实现更方便。

Nosql数据库使用场景

首先需要确认一个问题,nosql能做什么?在现在的开发领域中nosql可以实现文档存储(BSON、JSON)、缓存存储、图像缓存(图像搜索),但是对于nosql的具体应用场景完全要根据你实际的业务来讲;

  • 在传统的开发之中由于经常要使用到多表查询,性能很差,所以可以将一些经常显示的数据整理到文档型的nosql数据库(MongoDB),但是现在这个文档型的nosql使用越来越少,可以忽略了;
  • 缓存型:例如在进行分布开发的时候session存储、做一些临时的数据,例如:购物车、短信验证码等,现在使用最多的缓存数据库就是Redis(可以保存在磁盘,断电后数据可以被保存下来);

使用 Redis 实现消息队列,可以使用更加高级的RabbitMQ,Kafka实现更方便。

优点:可以实现每秒近乎10W次的读写处理。

Java数据库开发

数据库优化有很多层次。

1. 语句上的优化:尽量不要去使用多表查询,尽量不要频繁的使用各种神奇的统计查询、如果需要的时候建议使用子查询来代替(子查询只是一种折中方案也不是最好的,只是相对的,当你的数据量暴大的时候,那么你所有认知的规则就全部都将改变)。

2. 数据库的优化只能够体现在查询上,而这个查询还是在认知范围内的数据量,例如使用索引,但是一旦使用了索引,就不能够进行频繁的修改,例如:在主键往往会设置索引,但是从另外一个角度,数据不应该进行物理删除,而要进行逻辑删除,只是为了保证索引不被重新创建;

空间换时间、时间换空间:你的数据是否需要进行同步处理操作。

3. 当存在有多个RPC业务端的时候,可以考虑进行垂直拆库的做法,这个时候只能够按照功能进行拆分,这个是需要强大的接口技术支持的;

4. 当分库在无法解决问题的时候就需要考虑数据库的水平拆分问题(认知范围内的唯一可以使用的最后方案);

5. 如果需要保证强大的查询性能,那么就需要再次引入搜索引擎的概念进行分词处理;

更多数据库精品课程: 阿里云大学——开发者课堂


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

矩阵计算

矩阵计算

Gene H.Golub、Charles F.Van Loan / 袁亚湘 / 人民邮电出版社 / 2011-3-1 / 89.00元

本书是国际上数值计算方面的权威著作,有“圣经”之称。被美国加州大学、斯坦福大学、华盛顿大学、芝加哥大学、中国科学院研究生院等很多世界知名学府用作相关课程的教材或主要参考书。 本书系统地介绍了矩阵计算的基本理论和方法。书中的许多算法都有现成的软件包实现,每节后还附有习题,并有注释和大量参考文献,非常有助于自学。一起来看看 《矩阵计算》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试