标签:val 机器 缓存 字段 orm框架 key值 模型 简化 发展
一、前言
Nosql诞生:
关系型数据库(SQL Server、Oracle、MySQL) 不满足发展需要。
1.不能满足高性能查询需求
Java是面向对象的,但用数据库都是关系型数据库(存储结构是面向对象的,但是数据库却是关系的)所以在每次存储或者查询数据时,我们都需要做转换。类似Hibernate、Mybatis这样的ORM框架确实可以简化这个过程,但是在对高性能查询需求时,这些ORM框架就捉襟见肘了。
2.应用程序规模的变大
网络应用程序的规模变大,需要储存更多的数据、服务更多的用户以及需求更多的计算能力。为了应对这种情形,我们需要不停的扩展。
扩展分为两类:一种是纵向扩展,即购买更好的机器,更多的磁盘、更多的内存等等。(成本高、性能低) 另一种是横向扩展,即购买更多的机器组成集群。(关系数据库并不能很好的运行在集群上。)
Nosql简介
常用的Nosql数据库:MongoDB、Redis、HBase
Nosql数据库类型:
1、键值(key-value) 数据库(redis、Memcached)
适用场景:存储用户信息(如:会话、配置文件、参数、购物车) 这些信息一般都和ID(键)挂钩
不适用场景:1.不能通过key值查询(nosql以key-value 存储)
2.两个键确定不了一个数据 (nosql 最多两个键 确定一条数据 key key value)
3.事物支持(nosql不能回滚)
2、面向文档数据库(MongoDB)
数据可以使用XML、JSON或者JSONB等多种形式存储
适用场景:1、日志 2、分析
不适应场景:不支持事物
3、列存储数据库(HBASE)
暂未用到 不详解 适用场景:1.日志 2.博客平台
Nosql优缺点:
优点:
大数据量、高读写性能(无关系行,数据结构简单)
灵活的数据模型(无需事先建立字段)
低廉成本(开源)
缺点:
不提供对sql的支持
支持的特性不丰富
现有产品不够成熟
二、redis介绍:
redis是一个key-value存储系统。支持多种数据结构 包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)的存储类型。
redis 是一个 缓存数据库(片面的理解) 既可以做缓存,也可以将数据持久化到磁盘中!
三、redis安装 :https://github.com/MicrosoftArchive/redis/releases
window安装 解压 运行服务即可 默认端口号:6379
过去
标签:val 机器 缓存 字段 orm框架 key值 模型 简化 发展
原文地址:http://www.cnblogs.com/lch666/p/7815161.html