从数据库的定义来说,数据库就是一个数据管理系统,是用来存放数据文件的一个软件,支持用户的添加,修改,删除,查询等操作。所以从定义上讲,时序数据库和关系 / 非关系数据库是一样的,都是用来存放数据的。只是存储的数据特点不同,应用的场景也不尽相同。
一、时序数据库和关系/非关系数据库什么关系
从数据库的定义来说,数据库就是一个数据管理系统,是用来存放数据文件的一个软件,支持用户的添加,修改,删除,查询等操作。所以从定义上讲,时序数据库和关系 / 非关系数据库是一样的,都是用来存放数据的。只是存储的数据特点不同,应用的场景也不尽相同:
- 关系型数据库 ( SQL ):主要用来存储结构化数据,使用实物保证数据一致性,使用SQL语言来进行查询操作,。典型代表主要有 MySQL, Oracle, SQL Server 等。
- 非关系型数据库 ( NoSQL ): 主要用来存储非结构化数据,数据可以不通过验证进行存储,使用 JSON 数据对象进行查询操作。典型代表主要有 MongoDB, Redis 等。
而时序数据库主要存储实时数据,最明显的特点就是每条数据都会带有时间戳属性。在电力、石化、冶金、智能汽车、监控等领域应用比较广泛。典型代表主要有 influxDB,TimescaleDB. 另外不得不推荐一下 TDengine (http://mtw.so/5ZNoHA),从个人的使用情况来看,功能强大,性能远远超出预期。
二、能否用关系/非关系型数据库代替时序数据库
一方面如果数据采集频率少,数据量不大的话,使用关系/非关系型数据库代替时序数据库是完全没有问题的。
另一方面,从时序数据的特点(采集频率高、数据量大)来看,关系/非关系型数据库很难满足这样高的性能需求。在大数据场景下,如果性能达不到要求,数据没有办法被有效存储的话,那么这样的数据库是无法代替时序数据库的。
来源:https://www.zhihu.com/question/408178021/answer/2400714433
延伸阅读
什么是RocksDB
RocksDB是一个高性能、持久化的键值存储库,由Facebook开发并基于LevelDB进行改进。它是一个嵌入式的、支持键值对存储的存储引擎,旨在提供快速的数据读写性能和持久性。
- 高性能:RocksDB针对高速读写进行了优化,具有较低的读写延迟和高吞吐量。它使用了内存和磁盘结合的存储策略,有效地利用了现代计算机系统的硬件资源。
- 可持久化:RocksDB将数据持久化存储在磁盘上,保证数据在断电或系统崩溃后的持久性。通过支持写前日志(Write-Ahead-Log,WAL)和SSTables(Sorted String Table)的存储格式,保证了数据的持久性和一致性。
- 可压缩:RocksDB支持多种数据压缩算法,可以根据需求在节省存储空间和保持读写性能之间进行权衡。它可以在写入时进行压缩,也可以在读取时进行解压缩。
- 可扩展性:RocksDB支持分层存储和分区(sharding),可以处理大量的数据并实现高度的并发性。它可以在多个线程或多个进程之间进行并行读写操作,以提高吞吐量和响应性能。
- 可定制性:RocksDB提供了丰富的配置选项和参数,可以根据应用程序的需求进行优化和调整。开发人员可以根据具体的使用场景和硬件环境来调整存储引擎的行为和性能。
文章标题:时序数据库和关系/非关系数据库什么关系,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/53819