NoSQL以及其应用场景
发布时间:2020-12-13 13:46:41 所属栏目:百科 来源:网络整理
导读:缘由 今天主要想了想在项目(音乐网站)中如何使用我们的有没有必要使用Nosql,突然发现原来只是粗浅的认为:就要用NoSQL,因为NoSQL听起来是高新技术,然后我就要用。而不考虑适合不适合。今天上午看了本 noSql数据库入门 ,整本书扫了很久,虽然没有得出最
缘由今天主要想了想在项目(音乐网站)中如何使用我们的有没有必要使用Nosql,突然发现原来只是粗浅的认为:就要用NoSQL,因为NoSQL听起来是高新技术,然后我就要用。而不考虑适合不适合。今天上午看了本
NoSQLNoSQL是 Not Only SQL的缩写,含义为:适合关系型数据库的时候就使用关系型数据库,不适合的时候没有必要非使用关系型数据库,也可以其他数据存储的方式。这里就是Nosql数据库。然而,作者提出的观点就是:关系型数据库与非关系型数据库并非对立的关系,不是只使用关系型数据库或只使用非关系型数据库,而是一种相互补充的关系,如下图所示:我认为业界经常出现的mysql与memcached就是一种常见的组合,它结合了关系型数据库和非关系型数据库的优势。 关系型数据库优势:
劣势:
在数据的读写方面,主要采用下面的模型,我们可以看到有主数据库和从数据库,要写,只能写主数据库,然后主数据库把数据复制到从数据库,这时,要读入的操作只与从数据库有关了。但是写入的操作必须要通过主数据库才能完成。 当我们数据比较多的时候,一台主服务器不够,我们只有再加一台,那么如下图所示: 结构,有些表就分开发了,如下图所示,我们无法进行JOIN的处理:
NoSQL的特点
NoSQL的分类以主要的NoSQL
下面对这两种主要的NoSQL介绍一下。 memcahced核心要点就是 临时性键值存储。所谓临时就是其把数据都存储在了内存,如果一断电的话,那么数据就全没了。优势
不足之处
redis特点可以作为持久性键值对来使用。采用了数据快照的方式,默认是在每15分一次,5分钟10个以上,一分钟一万个以上的键被修改时就会发起快照。可以理解为将数据从内存冲洗到硬盘。可以处理字符串、链表、集合、有序集合、散列表等各种类型的值数据。但是都会被当作字符串来处理,如下图所示: 可以用于完成社交网络的时间线,所谓时间线,就是:用户发言后以时间序列的形式来显示。如下所示: 为什么redis可以完成这个功能呢?主要在于redis能够处理除了字符串以外的集合、链表等类型。书中有代码实现的完整的例子。有兴趣的人可以看书。 然而使用redis的问题在实例比较少。 使用者可能遇到困难的时候需要自己探索。 HandlerSocketHandlerSocket是以另外一种方式来访问关系型数据库,也就是不用SQL语句来访问数据库。如下图所示:可以看到,为了访问存储引擎,必须要通过处理(Handler)接口,而HandlerSocket能够直接与处理(Handler)接口通信而直接访问到存储引擎。这样就免去了SQl语句的解析、加锁与解锁。 HandlerSocket的特点如下:
总结先了解了解吧,也许在实际的开发过程中会遇到使用更多NOSQL的地方。现在可以确定的是:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c# – MVC 3 CheckBox的自定义ValidationAttribute在客户端
- XML解析与XML拼接
- 在C#中如何调用记事本
- Flex获取参数(一)――window.location.search.substring
- cocos2d-x 3.4 加载Cocos studio v2.1中发布的资源
- 如何将字符串放入char堆栈并将其打印出来? C
- c# – 使用自定义ApplicationPool标识,WCF速度降低3倍
- ruby-on-rails-3 – RoR“file_field”和Twitter bootstrap
- flex报错:Security error accessing url 最简单解决办法
- Oracle可视化工具PL/SQL之踩坑和爬坑