Nosql数据库使用场景

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

· 在传统的开发之中由于经常要使用到多表查询,性能很差,所以可以将一些经常显示的数据整理到文档型的nosql数据库(MongoDB),但是现在这个文档型的nosql使用越来越少,可以忽略了;

·缓存型:例如在进行分布开发的时候session存储、做一些临时的数据,例如:购物车、短信验证码等,现在使用最多的缓存数据库就是Redis(可以保存在磁盘,断电后数据可以被保存下来);

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

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

数据库优化有很多层次。

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

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

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

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

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

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

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

最新文章

  1. EF Code First学习系列
  2. Office 365系列六 ------ 创建sharepoint online网站
  3. 局域网访问本地localhost页面
  4. ultraEdit32 /uedit32 自定义快捷键/自定义注释快捷键
  5. JDBC的基本步骤
  6. CMD下查看某个端口被谁占用了
  7. Java编程规范实践
  8. ios进度条Demo一个
  9. LM算法
  10. Bootstrap中的 Typeahead 组件
  11. cas 官方文档
  12. satellite-menu和ArcMenu
  13. 【Spring源码分析】非懒加载的单例Bean初始化过程(上篇)
  14. Lucene.Net3.0.3+盘古分词器学习使用
  15. echart 标题配置
  16. IntelliJ IDEA无法更新maven索引
  17. 中期linux课程考试题
  18. JNI 记
  19. 项目- Vue全家桶实战去哪网App
  20. python技巧 计算字符串中字母出现的次数并取出最大

热门文章

  1. node——模块化
  2. Nginx全局变量
  3. [luogu2272 ZJOI2007] 最大半连通子图 (tarjan缩点 拓扑排序 dp)
  4. 为DK2应用程序迁移到Oculus CV1做好准备!
  5. 跳出$.each()循环
  6. 记录magento通过csv文件与zip(图片压缩)上传产品到数据库的过程
  7. 带有public static void main方法的类,其中的成员变量必须是static的,否则main方法没法调用。除非是main里的局部变量。因为main方法就是static的啊。
  8. 【树形DP】 HDU 2196 Computer
  9. uva 10003 Cutting Sticks 【区间dp】
  10. 有关文档碎片(document fragment)的使用方法