NoSQL数据库简介
来源:互联网 发布:淘宝店适合卖什么 编辑:程序博客网 时间:2024/06/11 14:31
前言
NoSQL:not only SQL(可不是No SQL啊),它的意义是:在适用关系型数据库的时候使用关系数据库,但是在不适合用关系型数据库的地方使用其他数据库。NoSQL的出现主要是为了弥补关系型数据库的不足,可以算是关系型数据库的一个补充吧。但是必须明白一点,NoSQL不是为了取代关系型数据库,也无法取代关系型数据库,它和关系型数据库是各有优点的。
和关系型数据库的比较
要讲解NoSQL数据库,必然要先讲一下传统的关系型数据库。关系型数据库的优点:
1、通用型、高性能。关系型数据库是被设计成可以解决大部分的应用需求的。
2、数据一致性。
3、数据更新开销小。
4、可以join(join是指表连接)
关系型数据库的不足:
1、大量数据的写入。
2、数据更新可能造成表结构的变更。关系型数据库是要提前定义好表的,所以数据结构一旦有变更就要连带变更整个表,以及相关的索引等,代价非常高。
3、字段不固定的应用。如果一个应用的字符无法确定,那么在设计数据库表的时候就会非常棘手。
4、简单查询。关系型数据库每次查询都要经历一些列复杂的操作,这对于一些简单的查询显然会造成性能的低下。
NoSQL的优点:
1、易于数据的分散。
2、更容易通过提升提升规模而提高性能。NoSQL更易于通过多台廉价服务器组建集群,从而降低成本。
所以利用NoSQL数据库很容易实现高性能、更加灵活的数据库系统。
分类
下面介绍下NoSQL的分类。NoSQL可以大致分为以下三类:
1、键值存储。最常见的一类,也就是通过键-值对来存储数据。这一类又可以分为临时性(memcached)、永久性(Flare等)、两者兼具(redis)三类。其中临时性是把数据存储到内存中,这样如果机器重启数据就会全部丢失。永久性则可以把数据存储在磁盘等持久性存储介质中。
2、面向文档的数据库。这种数据库的特点是不需要定义表结构就可以直接存储数据,同时支持复杂的查询条件。MongoDB就是属于这种类型。
3、面向列的数据库。主要是和面向行的相比较(现在的主流数据库比如关系型数据库都是面向行的),有扩展性的优点,在处理大量数据的时候比较有优势。但是这种类型的数据库应用起来比较困难。HBase就是这种类型的数据库。
用例
下面简单介绍几个NoSQL数据库的用例。
1、memcached。memcached最常见的用法就是作为缓存了。可以把memcached作为关系型数据库和应用程序之间的中间层,并把关系型数据库中常用的数据保存在memcached中。同时,也可以把memcached作为音乐文件等文件的缓存。
2、redis。不同于memcached,redis是可以作为一个完整的数据库来使用的。redis的一个典型应用就是weibo系统,redis可以使实现数据的高速读写,同时数据的存储具有很高的灵活性,非常适合微博这样的应用。新浪微博就用到了redis。redis在微博系统中的应用可以参考:http://blog.csdn.net/l1902090/article/details/36203749
- NoSQL 数据库 简介
- NoSQL 数据库简介
- NoSQL 数据库 简介
- NoSQL数据库简介
- NoSQL数据库--简介
- NoSQL数据库mongodb简介
- NoSQL数据库类型简介
- NOSQL数据库简介
- NoSQL非关系数据库简介
- 嵌入式NoSQL数据库unqlite简介
- 开源 nosql 数据库 —— LedisDB 简介
- Mongo数据库教程——NoSQL简介
- NoSQL数据库Redis使用命令简介
- NoSQL 非关系型数据库简介
- 几种常见的NoSql数据库简介
- 【NoSQL】NoSQL简介及常用的NoSQL数据库对比(Redis、MongoDB、HBase等)
- NoSQL简介
- NOSQL简介
- cognos10.2
- Android中SQlite的简单使用
- 深入Log4J源码之Log4J Core
- 运行和控制Nginx
- 一个简单linux和window下的生成、消费模型类
- NoSQL数据库简介
- intellij idea 13快速入门及试用手记及心得
- 什么是ArcGIS Engine?
- SQL Server积累
- 用 Java 实现断点续传 (HTTP)(转)
- 初涉R语言第一天
- angularjs入门学习【应用剖析下】
- xml解析 kissxml
- 场景切换