数据平台选型

Redis:NoSQL,采用结构型数据存储,偏重于进程顺序写入,支持集群,仅限于主-从模式,依赖内存,TPS较高,不支持事务,靠客户端自身保证,依赖客户端来实现分布式读写;主从复制时,每次从节点重新连接主节点都要依赖整个快照,无增量复制;不支持自动sharding,需要依赖程序设定一致hash机制,较小数据量的性能及运算。

MongoDB:NoSQL,采用结构型数据存储,建议集群部署,更多的考虑到集群方案,依赖内存,TPS较高,支持事务,比较弱,仅能保证事务中的操作按顺序执行,支持master-slave,replicaset(内部采用paxos选举算法,自动故障恢复),auto sharding机制,对客户端屏蔽了故障转移和切分机制,海量数据的访问效率提升。

InfluxDB:去中心化的分布式架构,是一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据。而InfluxDB自带的各种特殊函数如求标准差,随机取样数据,统计数据变化比等,使数据统计和实时分析变得十分方便。主要存储的是以时间为序存储的数据。其实,SQL数据库是可以提供时序的功能,只要将时间作为主键,就能够将SQL数据库当作时序数据库来处理。简而言之,InfluxDB用于存储大量的时间序列数据,并对这些数据进行快速的实时分析。而SQL数据库虽然可以有时序的功能,但是效率并不高。

你可能感兴趣的:(物联网产品经理,数据库)