操作非关系型数据库

在本章的前几节中,我们已经掌握了关系型数据库的基础,学会使用 SQL 查询数据。
关系型数据库主要是以表的形式组织,即它是相互之间具有关联的表的集合。
然而,当数据量超出服务器的承载容量时,新问题就产生了,因为关系型数据库的传
统模型不容易支持水平可伸缩性,即不再用单个服务器,而是用服务器群集中存储数据。
这就为数据库管理的复杂性增加了一个层级,因为数据以分布式形式存储,同时仍可以通
过一个逻辑数据库进行访问。
近些年来,新数据库模型的引入和其在大数据分析与实时应用中的出色表现,使得
NoSQL(即非关系型数据库)开始流行起来。一些非关系型数据库旨在实现高可用性、扩
展性、灵活性和高性能等。
关系型数据库和非关系型数据库在存储模型方面的差别是显而易见的。举个例子,对
一个购物网站来说,商品和评论信息可以存储在一个具有两张表的关系型数据库里:商品
表和评论表。所有的商品信息存储在一张表中,各个商品的所有评价存储在另一张表中。
以下代码展示了这些表的基本结构:
products:
code,name,type,price,amount
A0000001,Product-A,Type-I,29.5,500
每条评论带有一个字段,指向它描述的商品:
comments:
code,user,score,text
A0000001,david,8,"This is a good product"
A0000001,jenny,5,"Just so so"
当一个商品具有许多相关的表和海量记录时,数据库必须分配给服务器群,但这会增
加数据查询的难度,因为即使仅运行一个简单的查询,也是极度低效的。如果
用 MongoDB 存储这样的数据,每个商品被存储为一个文档,该商品的所有评论会以数组
的形式存储在该文档的一个字段中。如此一来,数据查询就容易多了,而且数据库也可以
很方便地实现多服务器分布式存储。

MongoDB 操作

使用 Redis

posted @ 2019-02-11 13:47  NAVYSUMMER  阅读(189)  评论(0编辑  收藏  举报
交流群 编程书籍