微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

系统架构——NOSQL的应用

为了理解NOsql,不仿先看下一个应用系统数据是怎么流动的。

数据库读取硬盘数据,生成查询结果,发送到应用程序变成键值对集合,然后程序中读取这些键值对,组装成相应的序列化对象,再传输到客户端呈现。

但很多系统就是直接数据的存取,并没有多少复杂的业务逻辑,比如电商系统的商品展示,页面只要读取相应的商品信息就行了,那是不是有什么办法,让数据直接到达客户端?答案是肯定的,比如微软提供sql Server的ODATA接口,不过ODATA还是需要关系数据库支撑的,sql Server到了2016版本才支持InMemory,如果不使用InMemory,性能上肯定是没有太大的变化,只是说多了一层封装,可以少写点WEB服务。另外就是基于NOsql的MongoDB和Ridis之类的,这类产品集合了数据缓存的功能,而且原生返回Json对象,不需要转换就可以直接推送到客户端,这样就大大提高了程序的性能,和开发效率。

以MongoDb为例,看下NOsql数据库提供了哪些功能

1、CRUD操作

除了正常的添加删除,还提供批量写入,文本搜索,空间数据查询。数据的检索功能,大大降低了应用系统的数据过滤的压力,同时也确保了数据检索的准确性。

2、聚合

有管道方式和mapReduce方式进行数据汇总,获取分组数据。

3、数据结构

提供结构定义,数据检验,以保证数据的完整性。

4、事务

数据的完整性,减少数据冲突。

5、索引

增加数据的检索速度。

6、复制

数据热备,增强系统的可用性。

7、集群

集群增加了系统的可靠性,可以使用多个服务器分担大并发时的系统压力。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐