这里介绍一下如今经常使用的NoSQL以及各自的特点。

NoSQL是2009年突然发展起来的。如今趋于稳定的状态,市场上也有了一些比較成熟的产品。

传统的关系型数据库为了保证通用性的设计而带来了功能复杂、性能开销大、价格昂贵等问题,在NoSQL中都或多或少的得到了解决。NoSQL避免了一些不须要的复杂性,有更高的吞吐量。具有高并发的特点。也具备在商用硬件上的水平拓展能力。

不仅如此,NoSQL也实现了大表的自己主动切割功能,能够更好的支持分布式处理,在性能和可靠性之间折中,这是满足如今云计算中提到的从中心模式到分布模式的需求的。这也是NoSQL这几年特别火热的原因。

以下介绍一下如今流行的NoSQL各自的特点:


memcached

第一个NoSQL数据库,其本质是一个存储键值对的hashmap,是一个高性能的分布式内存缓存server,用于动态web应用以减轻数据库负载。

client通过memcached协议与守护进程通信。可是缺乏认证以及安全管制,是一个内存存储方式的不互相通信的分布式数据库。


redis

也是一个键值对存储的数据库,和memcached类型,可是相比memcached而言,redis的数据是也是存储在内存中的,也有硬盘存储支持的内存数据库。也就是说,不会因为server重新启动而丢失数据。其value数据类型丰富,查询速度也非常快。并且同意用户实现消息机制。


neo4j

一款基于关系的图形数据库,数据都是节点。数据之间的关系都是依靠边来表示的。使用HTTP REST协议,可独立使用或者嵌入到java程序中。使用多种算法支持路径搜索,使用键值和关系进行索引。

其对读操作进行了优化, 查询速度比关系型数据库快多了,非常重要的一点是,它能够通过对java api的使用来支持事务。

neo4j的企业版还支持在线备份,具有高级监控和高可靠性。


Cassandra

一款由Facebook开源的使用java语言的混合型非关系数据库。相似于Google的bigle。

该数据库的写操作比读操作更快。基于column的结构化,具有高拓展性。


hbase

该数据库是Google公司bigle的开源实现。是一款分布式的。面向列的开源数据库。利用hadoop hdfs作为其文件存储系统,利用hadoop mapreduce来处理海量数据。採用了分布式架构map reduce。


mongoDB

mongoDB能够说是如今NoSQL的领头羊。它的社区活跃,文档丰富,有10gen商业支持。持续性有保障。

mongoDB是由C++编写的,它非常特别的是保留了一些SQL的友好特性,比方查询和索引。它支持javascript表达式查询,能够在server端运行随意的javascript函数。所以其查询功能不输于关系型数据库。

该数据库在数据存储时採用内存到文件映射的方式,对性能的关注超过对功能的需求,并且其内置分片机制,降低了需哟手动分片的繁琐。

非常多NoSQL都是读快写慢,有的是读慢写快。而mongoDB读写性能非常均衡,都非常快。

1
0

NoSQL简单介绍的更多相关文章

  1. [转载]12款免费与开源的NoSQL数据库介绍

    Naresh Kumar是位软件工程师与热情的博主,对于编程与新事物拥有极大的兴趣,非常乐于与其他开发者和程序员分享技术上的研究成果.近日,Naresh撰文谈到了12款知名的免费.开源NoSQL数据库 ...

  2. MongoDB(1)--简单介绍以及安装

    前段时间接触了NoSql类型的数据库redis,当时是作为缓存server使用的.那么从这篇博客開始学习还有一个非常出名的NoSql数据库:MongoDb.只是眼下还没有在开发其中使用.一步一步来吧. ...

  3. Mongodb简单介绍

    1. 简单介绍 Mongodb是一种强大.灵活,可扩展的数据存储方式.属于nosql.非关系型数据库的一种. mongodb是面向文档的数据库. 尽管是非关系型数据库.可是它保留了很多关系型数据库的特 ...

  4. 01-Redis 简单介绍

    Redis 简单介绍 1.Redis 是什么 Redis 是一种基于键值对的 NoSQL 数据库,与很多键值对数据库不同, redis 中的值可以有 string, hash , list , set ...

  5. [转帖]MyCat教程【简单介绍】

    MyCat教程[简单介绍] 2019-10-15 10:27:23 波波烤鸭 阅读数 618 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. ...

  6. Python常用的库简单介绍一下

    Python常用的库简单介绍一下fuzzywuzzy ,字符串模糊匹配. esmre ,正则表达式的加速器. colorama 主要用来给文本添加各种颜色,并且非常简单易用. Prettytable ...

  7. [原创]关于mybatis中一级缓存和二级缓存的简单介绍

    关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...

  8. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  9. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

随机推荐

  1. vnc启动失败

    SSH登陆服务器,用命令行重启VNC服务 $service vncserver start 提示如下错误: Starting VNC server: no displays configured    ...

  2. python--pip出错

    问题: 1.使用pip install时,出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None) ...

  3. yii的ActionForm组件

    //文本框:textInput(); //密码框:passwordInput(); //单选框:radio(),radioList(); //复选框:checkbox(),checkboxList() ...

  4. 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。

    给定两个字符串 s 和 t,它们只包含小写字母.字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母.请找出在 t 中被添加的字母. 示例: 输入: s = "abcd" ...

  5. Dubbo入门---搭建一个最简单的Demo框架(转)

    Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本.  ...

  6. API接口设计,rest,soap

    REST之前的重要协议SOAP rest(简单理解风格.约束.设计理念) rest之前是SOAP:SOAP Web API采用RPC风格,它采用面向功能的架构,所以我们在设计SOAP Web API的 ...

  7. 【python】常用第三方模块

    No1: [Pillow]图像处理标准库 缩放 from PIL import Image # 打开一个jpg图像文件,注意是当前路径: im = Image.open('test.jpg') # 获 ...

  8. Person Re-ID行人重试别数据集

    1. 杜克大学数据(DukeMTMC-reID) DukeMTMC 数据集是一个大规模标记的多目标多摄像机行人跟踪数据集.它提供了一个由 8 个同步摄像机记录的新型大型高清视频数据集,具有 7,000 ...

  9. P3150 pb的游戏(1)

    P3150 pb的游戏(1)选偶数,这一轮一定会活,选奇数,自己这一轮可能会死,并且(如果自己这一轮没死)下一轮对手一定可以活,因为选了奇数,就会被分解成奇数和偶数. #include<iost ...

  10. linux 学习笔记 cpio命令

    1 文件或目录打包 打包有如下多种情况 A>包含子目录打包 find /usr/lib -print /cpio -o >/uo/temp1.cpio 将/usr/lib目录下的文件与子目 ...