zoukankan      html  css  js  c++  java
  • NoSQL简要数据库

    前言

    NoSQL:not only SQL(不No SQL啊),它的意思是:在关系数据库中使用关系数据库时适用,但在关系数据库中不适合本地使用其它数据库。NoSQL了弥补关系型数据库的不足,能够算是关系型数据库的一个补充吧。

    可是必须明确一点。NoSQL不是为了代替关系型数据库。也无法代替关系型数据库,它和关系型数据库是各有长处的。

    和关系型数据库的比較

    要解说NoSQL数据库。必定要先讲一下传统的关系型数据库。关系型数据库的长处:

    1、通用型、高性能。关系型数据库是被设计成能够解决大部分的应用需求的。

    2、数据一致性。

    3、数据更新开销小。

    4、能够join(join是指表连接)

    关系型数据库的不足:

    1、大量数据的写入。

    2、数据更新可能造成表结构的变更。关系型数据库是要预定义好表的。所以数据结构一旦有变更就要连带变更整个表,以及相关的索引等,代价很高。

    3、字段不固定的应用。假设一个应用的字符无法确定,那么在设计数据库表的时候就会很棘手。

    4、简单查询。关系型数据库每次查询都要经历一些列复杂的操作。这对于一些简单的查询显然会造成性能的低下。

    NoSQL的长处:

    1、易于数据的分散。

    2、更easy通过提升提升规模而提高性能。

    NoSQL更易于通过多台便宜server组建集群。从而减少成本。

    所以利用NoSQL数据库非常easy实现高性能、更加灵活的数据库系统。

    分类

    以下介绍下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


    
    

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    Oracle中的序列
    Oracle中常见表与各类结构的查询
    软件项目中的沟通 第一故事
    bat脚本 得到前一天的日期
    Windows bat脚本的for语句
    Integer与int比较
    String参数传递
    数据类型转换
    synchronized
    Java的Thread和Runnable
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4742113.html
Copyright © 2011-2022 走看看