内容简介:朋友们,我们平时使用的数据库,大多都是关系型数据库,包括近年来,随着互联网的飞速发展,数据的形态发生了很大改变,
朋友们,我们平时使用的数据库,大多都是关系型数据库,包括 MySQL、PostgreSQL、SQLServer 等。 关系型数据库的特点是数据的存储通过二维表格实现 ,将数据存储在相互独立的表格中。
近年来,随着互联网的飞速发展,数据的形态发生了很大改变, 非关系型数据库NoSQL 应运而生、越来越流行。NoSQL主要包括 键值(Key-Value) 存储数据库、 列存储(Column-oriedted) 数据库、 面向文档(Document-Oriented) 数据库、 图形(Graph) 数据库四种,下面介绍三款最常用的NoSQL数据库。
Memcached(键值数据库)
Memcaced是一个开源的、高性能的、具有分布式内存对象的缓存系统。通过它可以减轻数据库负载,加速动态的web应用,最初版本由LiveJoumal 的Brad Fitzpatrick在2003年开发完成。目前全球有非常多的用户都在使用它来架构主机的大负载网站或提升主机的高访问网站的响应速度。
Memcached是一种纯内存缓存系统,数据就像一张巨大的hash表,数据以key-value对的方式存在。通过缓存经常被存取的对象或数据,从而减轻了频繁读取数据库的压力,提高网站的响应速度,构建出快速更快的可扩展的Web应用。
Memcached非常适合需要超高性能读写速度、持久化保存的应用场景,但是最近几年逐渐被其他的持久化产品替代如Redis。
Redis(键值数据库)
Rediskey-value型存储系统。相比Memcached, redis支持 的存储value类型相对更多,包括 string(字符串)、list(链表)、set(集合)和zset(有序集合) 等。这些数据类型都支持push/pop、add/remove及取交集、并集和差集及更丰富的操作,而且这些操作都是原子性的。
为了保证效率,redis的数据都是缓存在内存中。区别是 redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在基础上实现了master-slave(主从)同步。
Redis提供了 Python 、 Ruby 、Erlang、 PHP 客户端,使用非常方便。支持内存缓存、支持持久化存储、数据库类型更丰富、支持主从集群、分布式 、支持队列等特殊功能。
MongoDB(文档数据库)
MongoDB是一个介于关系型数据库和非关系型数据库之间的产品, 是非关系型数据库当中功能最丰富,最像关系数据库的 。MongoDB支持的数据库结构非常松散,类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongodb最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
MongoDB使用高效的二进制存储数据,她具有面向集合(Collenction-Orented)存储、模式自由(schema-free)、支持动态查询、支持完全索引、支持复制和故障恢复、自动处理碎片、以支持云计算层次的扩展性等诸多优异性能,非常流行、应用也非常广泛。
虽然当前数据库的主流还是关系型数据库,但NoSQL的应用只会越来越广泛,原因非常简单,因为当代和未来我们面对的数据类型越来越复杂,传统的数据存储方式已经越来越无法满足要求。
朋友们,如果您有兴趣,可以更深入的了解下NoSQL,对您未来的学习、就业肯定会有莫大的帮助。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 4 万字全面掌握数据库、数据仓库、数据集市、数据湖、数据中台
- Python3爬虫数据入数据库---把爬取到的数据存到数据库,带数据库去重功能
- Oracle数据库查询重复数据及删除重复数据方法
- sqlserver数据库获取数据库信息
- 从大数据到数据库
- node连接oracle数据库,更新数据后,数据库中不生效问题
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
正则表达式在线测试
正则表达式在线测试
RGB HSV 转换
RGB HSV 互转工具