NoSQL和传统数据库有什么区别?NoSQL能取代传统数据库吗?
2023-09-14 09:14:12 时间
Redis 等 NoSQL 工具也能够存储数据,有人认为 NoSQL 来会取代数据库,但是笔者却不那么认为,这里谈谈 NoSQL 和传统数据库的差异。
首先,NoSQL 的数据主要存储在内存中(部分可以持久化到磁盘),而数据库主要是磁盘。其次,NoSQL 数据结构比较简单,虽然能处理很多的问题,但是其功能毕竟是有限的,不如数据库的 SQL 语句强大,支持更为复杂的计算。
再次,NoSQL 并不完全安全稳定,由于它基于内存,一旦停电或者机器故障数据就很容易丢失数据,其持久化能力也是有限的,而基于磁盘的数据库则不会出现这样的问题。最后,其数据完整性、事务能力、安全性、可靠性及可扩展性都远不及数据库。
基于以上原因,笔者并不认为 NoSQL 会取代数据库。
毫无疑问,Redis 作为一种 NoSQL 是十分成功的,但是它的成功主要是解决互联网系统的一些问题,而主要的问题是性能问题。
实际上,在互联网系统大部分的业务场景中,业务都是相对简单的,而难以处理的问题主要是性能问题,特别是那些会员数比较多的高并发服务网站。
例如,你可以常常在淘宝或者京东网站上看到一个即将被抢购的商品,有多达几万人的关注,可能一个时刻就发生了成千上万笔业务,此时使用 Redis 作为缓存数据,就可以明显提升系统的性能,而且这十分有效。
所以基于两者之间的区别,笔者认为使用 NoSQL 去取代数据库,目前还做不到,但是作为一种提高互联网应用性能的辅助工具,它十分有用。
相关文章
- NoSQL文档型存储数据库—MongoDB
- shell安装mysql,连接数据库,创建数据库
- 【刷题】面筋-数据库-关系型数据库与非关系型数据库Nosql区别汇总
- Hibernate 自动生成数据库表
- 把数据库中的数据制作成Excel数据
- Hibernate 动态表名映射(数据库分表) NamingStrategy
- 数据库和数据表的垂直拆分和水平拆分
- MongoDB云数据库常见问题诊断
- SQL Server数据库多种方式查找重复记录
- Redis---NoSQL数据库介绍
- Atitit php pdo的api使用 目录 1.1. PHP PDO简介1 1.2. 若要使用数据库长连接,:PDO::ATTR_PERSISTENT1 2. 其他设置2 2.1. )、P
- Atitit.nosql api 标准化 以及nosql数据库的实现模型分类差异
- 数据库BLOB类型字段 判断是否为空
- 云图说|华为云自研云数据库GaussDB NoSQL,兼容多款NoSQL接口的数据库服务
- 发现Mysql的主从数据库没有同步,差点凉凉了
- NoSQL数据库概览及其与SQL语法的比較
- 数据库范式
- 一个小时学会MySQL数据库
- 数据库实验报告
- Redis Nosql数据库
- RethinkDB是什么?—— 面向文档的NOSQL数据库,MVCC+Btree索引,pushes JSON to your apps in realtime采用push思路,优化的ssd存储
- IOT数据库选型——NOSQL,MemSQL,cassandra,Riak或者OpenTSDB,InfluxDB
- Cassandra——类似levelDB的基于p2p架构的分布式NOSQL数据库
- 【Android-实战】1、Room 使用 Flow 和 collect() 监听数据库的变化、动态更新页面