Java数据库开发
Nosql数据库使用场景
首先需要确认一个问题,nosql能做什么?在现在的开发领域中nosql可以实现文档存储(BSON、JSON)、缓存存储、图像缓存(图像搜索),但是对于nosql的具体应用场景完全要根据你实际的业务来讲;
· 在传统的开发之中由于经常要使用到多表查询,性能很差,所以可以将一些经常显示的数据整理到文档型的nosql数据库(MongoDB),但是现在这个文档型的nosql使用越来越少,可以忽略了;
·缓存型:例如在进行分布开发的时候session存储、做一些临时的数据,例如:购物车、短信验证码等,现在使用最多的缓存数据库就是Redis(可以保存在磁盘,断电后数据可以被保存下来);
使用Redis实现消息队列,可以使用更加高级的RabbitMQ,Kafka实现更方便。
优点:可以实现每秒近乎10W次的读写处理。

数据库优化有很多层次。
1. 语句上的优化:尽量不要去使用多表查询,尽量不要频繁的使用各种神奇的统计查询、如果需要的时候建议使用子查询来代替(子查询只是一种折中方案也不是最好的,只是相对的,当你的数据量暴大的时候,那么你所有认知的规则就全部都将改变)。
2. 数据库的优化只能够体现在查询上,而这个查询还是在认知范围内的数据量,例如使用索引,但是一旦使用了索引,就不能够进行频繁的修改,例如:在主键往往会设置索引,但是从另外一个角度,数据不应该进行物理删除,而要进行逻辑删除,只是为了保证索引不被重新创建;
空间换时间、时间换空间:你的数据是否需要进行同步处理操作。
3. 当存在有多个RPC业务端的时候,可以考虑进行垂直拆库的做法,这个时候只能够按照功能进行拆分,这个是需要强大的接口技术支持的;
4. 当分库在无法解决问题的时候就需要考虑数据库的水平拆分问题(认知范围内的唯一可以使用的最后方案);
5. 如果需要保证强大的查询性能,那么就需要再次引入搜索引擎的概念进行分词处理;
更多数据库精品课程:阿里云大学——开发者课堂
Java数据库开发的更多相关文章
- Java数据库开发(一)之——JDBC连接数据库
一.MySQL数据库 1.创建数据库 CREATE DATABASE jdbc CHARACTER SET 'utf8'; 2.建表 CREATE TABLE user ( id int(10) NO ...
- Java数据库开发(三)之——补充
一.SQL注入与防范 使用PreparedStatement替代Statement对象,它提供了参数化SQL的方式 二.事务 定义 事务是并发控制的基本单位,满足ACID特征 原子性:atomicit ...
- Java数据库开发(二)之——DBCP连接数据库
1.载入jar包 DBCP需要以下几个jar包,可到apache及mysql的官网下载 2.程序编写 public static BasicDataSource ds = null; static f ...
- 空中网招聘Java架构师、数据库开发等各类人才
爱好网络游戏吗?爱好网站开发技术吗? 有没有想过可以成为史诗级MMO RPG<激战2>运营团队中的一员? 如果下面的职位有合适你的,加入我们吧! http://gw2.kongzhong. ...
- Oracle数据库中调用Java类开发存储过程、函数的方法
Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日 浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL, ...
- 微渠道发展 BAE交通运输平台和java呼声,微信mysql数据库开发实例 --图文开发教程
持续更新 BAE java开展mysql数据库 图文教程 BAE java语言发展mysql源码下载: 目前微信的发展.BAE开展.java开展.mysql教程开发非常,的介绍基于BAE平台.java ...
- Spring的数据库开发
Spring JDBC框架操作mysql数据库 Spring中的JDBC为我们省去连接和关闭数据库的代码,我们着重关注对数据库的操作.Sprin ...
- .NET基础拾遗(6)ADO.NET与数据库开发基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...
- 5款强大的Java Web开发工具
1.WebBuilder这是一款开源的可视化Web应用开发和运行平台.基于浏览器的集成开发环境,采用可视化的设计模式,支持控件的拖拽操作,能轻松完成前后台应用开发:高效.稳定和可扩展的特点,适合复杂企 ...
随机推荐
- PySimpleGUI 的第一个桌面软件
最近学习了python风格的GUI模块,寻思着既然学了,就要学以致用,花了点时间,写了下面这个 简历软件.后面,可以通过接口 获取提交的数据,传到数据库里与网页交互.此软件我已经打包成 exe软件,直 ...
- 序列模型(4)----门控循环单元(GRU)
一.GRU 其中, rt表示重置门,zt表示更新门. 重置门决定是否将之前的状态忘记.(作用相当于合并了 LSTM 中的遗忘门和传入门) 当rt趋于0的时候,前一个时刻的状态信息ht−1会被忘掉,隐藏 ...
- IOS - Display a base64 image within a UIImageView: 显示一个base64的图片
base64字符串(base64String)-存的是image数据NSData* data = [[NSData alloc] initWithBase64EncodedString:base64S ...
- bilibili用户信息查询
bilibili用户信息查询 http://space.bilibili.com/ajax/member/GetInfo?mid= 后缀为用户mid号 # -*- coding:utf-8 -*- # ...
- 【 AIM Tech Round 5 (rated, Div. 1 + Div. 2) C】Rectangles
[链接] 我是链接,点我呀:) [题意] 给你n个矩形. 让你找出一个点(x,y) 使得这个点在其中至少(n-1)个矩形中. [题解] 若干个矩形交在一起的话. 它们所有的公共区域也会是一个矩形. 这 ...
- 【Educational Codeforces Round 48 (Rated for Div. 2) C】 Vasya And The Mushrooms
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 显然在没有一直往右走然后走到头再往上走一格再往左走到头之前. 肯定是一直在蛇形走位.. 这个蛇形走位的答案贡献可以预处理出来.很容易 ...
- 【hiho一下第二周 】Trie树
[题目链接]:http://hihocoder.com/problemset/problem/1014 [题意] [题解] 在字典树的域里面加一个信息cnt; 表示这个节点下面,记录有多少个单词; 在 ...
- iwebshop 增删改查
<?php header("content-type:text/html;charset=utf-8"); class Test extends IController { ...
- ZooKeeper分布式集群部署及问题
ZooKeeper为分布式应用系统提供了高性能服务,在许多常见的集群服务中被广泛使用,最常见的当属HBase集群了,其他的还有Solr集群.Hadoop-2中的HA自己主动故障转移等. 本文主要介绍了 ...
- 【Cocos2d-x】坐标系和图层
在Cocos2D-X中,存在四种坐标系: 1.OpenGL坐标系:该坐标系原点在屏幕左下角.x轴向右,y轴向上.这也就是cocos2dx中用到的坐标系所以没啥好说的. 2.屏幕坐标系(UIKit坐标) ...