Nosql数据库使用场景

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

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

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

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

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

数据库优化有很多层次。

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

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

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

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

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

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

java mysql开发_Java数据库开发相关推荐

  1. Java+MySQL实现评论功能设计开发

    Java+MySQL实现评论功能设计开发 一.背景 项目初始版本上线,有时间写点东西记录一下项目中的心得体会,通过这个项目学习了很多,要写下来的有很多,先从评论功能开始吧.由于项目需要增加评论功能,之 ...

  2. Java大数据:数据库开发从入门到精通

    在Java大数据开发任务当中,数据存储是非常关键的一环,涉及到分布式文件系统.分布式数据库,数据库是后端系统当中支持数据存储的重要组件.今天我们就来聊聊Java大数据,数据库开发从入门到精通,应该如何 ...

  3. java研发工程师、数据库开发

    一.java研发工程师 职位描述 岗位职责: 1.参加基于Java技术的企业级服务器应用或互联网产品开发: 2.参与系统分析与设计,并负责完成代码编写: 3.根据开发规范与流程独立完成模块的设计.编码 ...

  4. java web试题_Java web开发经典面试题汇总(内附答案详解)

    原标题:Java web开发经典面试题汇总(内附答案详解) 1.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? 答:Web 容器加载Servlet 并将其实例化后,Servl ...

  5. 云数据库 MySQL使用规范 数据库开发人员一定要看!

    规范化对云数据库 MySQL 的管理和维护,避免操作不当对云数据库 MySQL 造成不可用等影响.指导数据库开发人员合理编写 SQL,发挥云数据库 MySQL 最优性能. 权限管理规范 考虑到云数据库 ...

  6. proc除了能用于oracle开发_能不能用于mysql开发_Oracle数据库开发(二).Linux下配置使用ProC...

    一.提要 上文简单介绍了Windows下ProC配置开发,这次我们使用Linux平台再次配置Oracle ProC开 发环境(RedHat Linux 9 + Oracle 92). <ORAC ...

  7. java实践项目_Java项目开发实践

    第章项目开发基础() 项目开发实训目标() 实训知识目标() 实训能力目标() 实训素质目标() 项目开发技术() 图形用户界面编程技术() 输入输出编程技术() 网络编程技术() 数据结构编程技术( ...

  8. 基于微信小程序的点餐系统 报告+任务书+开题报告+中期报告+中期PPT+项目源码(Java+MySQL)及数据库文件

    摘 要 随着"互联网+"的大潮兴起,手机微信深受人的欢迎.随即带来的就是微信小程序凭借微信强大的用户基础及其应用的便捷而受人们热捧.此外微信小程序无需安装,扫描二维码或者微信内搜索 ...

  9. java mysql工具_Java开源数据库管理工具

    SQuirreL SQL Client SQuirreL SQL Client 是一个用 Java 编写的程序,它允许您查看数据库的内容.发出 SQL 命令,以及如您将看到的,执行许多其他功能.构建该 ...

最新文章

  1. 阻塞/非阻塞与同步/异步的区别
  2. 计算机软件技能高考好考么,湖北技能高考:上不了本科,优先考虑这4所一档高职...
  3. 对JSON的一点认识和理解以及JQuery处理JSON
  4. Spring、SpringMVC、Spring Boot、Spring Cloud 概念、关系及区别
  5. 【英语学习】【Level 08】U01 Let's Read L4 Hot off the press
  6. Github 简明教程 - 操作标签
  7. 计算机硬盘通过usb接口,并口硬盘转usb接口的方法介绍【详解】
  8. QQ象棋java通用版下载_QQ中国象棋
  9. 合工大离散数学实验 油管实验
  10. cosx sinx 泰勒展开 C++
  11. 【华为云学院】OpenStack原理及在华为云中的应用---知识总结
  12. Win10分屏HDMI检测不到显示器
  13. CentOS 7设置NTP、SSH服务
  14. Android 画闹钟
  15. c语言种子数使用方法,C语言中的srand的用法,什么是种子?
  16. 【整理】Android-Recovery Mode(recover模式详解)
  17. 微软 Azure人工智能认知服务打造语音提醒喝水助手(带源码和演示地址)
  18. 360网站卫士的IP段添加进服务器的白名单中
  19. 搭建在线网校要注意的一些事项
  20. CAShapeLayer和UIBezierPath

热门文章

  1. proteus三输入与非门名字_Proteus仿真库元件名大全
  2. 数字语音信号处理学习笔记——语音信号的同态处理(3)
  3. 乒乓球比赛赛程_国乒今年最后一站比赛延期!赛程缩短比赛地温暖,教练组考察队员...
  4. 银行计算机记账比赛,在银行柜台业务技术比赛颁奖仪式上的讲话(一).doc
  5. 这才是数据挖掘领域常用的机器学习算法!
  6. 【算法基础】数据结构导论第六章-查找.pptx
  7. 【论文解读】何恺明团队最新力作SimSiam:消除表征学习“崩溃解”,探寻对比表达学习成功之根源...
  8. 【深度学习】深入理解卷积神经网络(CNN)
  9. 从吴恩达AI For Everyone中学到的十个重要AI观
  10. 太强了!Kaggle竞赛宝典方案汇总