首页

第1章 进入MongoDB与Redis的世界

关灯 护眼    字体:

上一章 目录 下一章




非关系型数据库在如今的大数据环境下越来越受到重用。相比传统的关系型数据库,非关系型数据库在越来越多的使用场景下极大地提升了生产力。

非关系型数据库的佼佼者——文档型数据库MongoDB与键值数据库Redis,是这本书的两个主角。



1.1  非关系型数据库的产生背景与分类


1.1.1  关系型数据库遇到的问题


2008年左右,网站、论坛、社交网络开始高速发展,关系型数据库的地位受到了很大的挑战。

关系型数据库的以下问题逐渐凸显:

●  难以应付每秒上万次的高并发数据写入。

●  查询上亿量级数据的速度极其缓慢。

●  分库、分表形成的子库到达一定规模后难以进一步扩展。

●  分库、分表的规则可能会因为需求变更而发生变更。

●  修改表结构困难。

在很多互联网应用场景下,对数据联表的查询需求不是那么强烈,也并不需要在数据写入后立刻读取,但对数据的读取和并发写入速度有非常高的要求。在这样的情况下,非关系型数据库得到高速的发展。

2009年,分布式文档型数据库MongoDB引发了一场去SQL的浪潮。



1.1.2  非关系型数据库的分类及特点


非关系型数据库主要分为以下几类。

1.键值数据库

主要代表是Redis、Flare。

这类数据库具有极高的读写性能,用于处理大量数据的高访问负载比较合适。

2.文档型数据库

主要代表是MongoDB、CouchDB。

这类数据库满足了海量数据的存储和访问需求,同时对字段要求不严格,可以随意地增加、删除、修改字段,且不需要预先定义表结构,所以适用于各种网络应用。

3.列存储数据库

主要代表是Cassandra、Hbase。

这类数据库查找速度快,可扩展性强,适合用作分布式文件存储系统。

4.图数据库

主要代表是InfoGrid、Neo4J。

这类数据库利用“图结构”的相关算法,适合用于构建社交网络和推荐系统的关系图谱。




上一章 目录 下一章