NoSQL数据库:类型、优势与应用场景
1. NoSQL数据库概述
NoSQL数据库带来了数据库处理方式的范式转变,为大规模数据管理提供了全新视角。常见的NoSQL数据库类型主要有以下几种:
- 内存数据库
- 列数据库
- 文档导向数据库
- 键值数据库
- 图数据库
2. 内存数据库
内存数据库利用计算机的随机存取存储器(RAM)来存储数据集。在了解其工作原理之前,先回顾一下典型计算机中的数据传输过程:数据通常从磁盘传输到内存,再到CPU。不过,在某些情况下(如数据已存在于CPU的二级缓存中),CPU无需向内存发送读取指令。
磁盘访问数据大约需要10 - 20毫秒,其中最小寻道时间约为10 - 15毫秒;而从内存中获取数据仅需约100纳秒;从CPU二级缓存读取数据则只需约7纳秒。磁盘访问时间比内存访问时间慢150,000倍,即使是顺序读取数据,内存的速度也比磁盘快近一个数量级。
传统上,数据库数据都存储在磁盘上。随着互联网的发展,行业开始使用memcached,通过API以键值对的形式将数据存储在内存中。例如,MySQL数据库常利用memcached API将对象缓存到内存中,以优化读取速度并减轻主数据库的负载。
但随着数据量的增加,使用数据库和memcached的复杂度也在增加。于是,专门设计用于将数据存储在内存中的数据库(有时也同时存储在磁盘和内存中)迅速发展起来。像Redis这样的内存数据库开始取代memcached,成为驱动网站的快速缓存存储。Redis以键值对的形式将数据保存在内存中,同时还可以选择将数据持久化到磁盘,这与单纯的内存缓存memcached