物联网时代,大量的数据从不同的设备传感器产生,单机数据库系统肯定无法存储这么大量的数据,在选择数据库方面,肯定要选择具有分布式能力存储的数据库。
在物联网时代,数据之间还有一个非常重要的特性,那就是数据之间的关联性。不同的数据从相互连接的互联网设备传感器中产生,由于不同的传感器相互连接,协同工作和采集数据,如何将大量具有相互关联的数据保存在数据库,这里我推荐使用图数据库来进行存储。
图数据库相对于其他数据库来说,最大的优势就是查询数据之间的关联性会更加快速,消耗的时间会更短。打个比方,在社交网络中,我们想要查询在用户A的粉丝中,粉丝关注了B的用户。如果使用传统关系型数据库来存储用户的关注关系,在上面的数据统计中,要使用两层Join才能算出结果,而关系型数据库Join操作会很慢。使用图型数据库存储数据的话,图中的点为用户,边为用户的关注关系,在查询A的粉丝,同时粉丝也关注B的用户,只需要遍历两层关注关系就能很快查询到结果。
数据库是信息化解决方案的核心组成部分,数据库的选型通常要考虑以下几个方面,分别是可靠性、存储性能、扩展性、安全性、生态体系以及相关的配套服务。
物联网系统产生的数据通常是非结构化数据或者是半结构化数据,这些数据往往具备数据量大、结构多样性、因果关联弱、价值密度低等特点,而这些特点也正是大数据的特点。其实,大数据系统的大部分数据来源就是物联网系统产生的数据,从这个角度来看,物联网的数据库选型与大数据的数据库选型存在着紧密的联系。当然,大数据系统的数据来源还包括传统信息系统和Web系统。
在大数据时代,由于数据自身产生了较大的变化,所以相应的数据库产品也出现了一定的变化,出现了大量的NoSql数据库,这些数据库针对的正是物联网系统产生的大量非结构化数据或者半结构化数据。虽然数据库产品出现了众多的变化,但是数据库选择的原则并没有大的变化,首先应该考虑的还是可靠性、扩展性、生态体系等问题。
目前在大数据领域采用比较多的几款数据库产品分别是HBase、Redis、MongoDB、Couchbase、LevelDB等,其中HBase、Redis和MongoDB都是比较常见的选择。HBase的特点是数据存储量大,而且可以通过水平扩展的方式来提升数据存储能力,稳定性也比较高,但是HBase的配置比较麻烦,开发过程相对也要麻烦一些。Redis的特点是性能表现比较好,同时Redis提供了事务管理功能,缺点是基于内存操作,所以适用于数据规模可预见的情况。MongoDB的优点集中在其强大的自动化Shading功能和高效的查询上,缺点是对内存要求比较高且没有事务机制。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
DolphinDB是由智臾科技(www.dolphindb.com)完全自主研发的新一代的高性能分布式时序数据库,集成了功能强大的编程语言和高容量高速度的流数据系统,能为海量结构化数据的快速存储、检索、分析及计算提供一站式解决方案,客户无需自行集成不同供应商的多个系统,极大地降低了大数据管理和分析的综合成本。其特点为一站式大数据解决方案、轻量级跨平台部署、安全可控、性能优异、综合使用成本低,特别适用于工业物联网的应用。
DolphinDB适用于Linux和Windows环境,在云端和边缘端、服务器和嵌入式设备上均可部署。
DolphinDB提供一站式大数据方案:在同一个系统内实现海量历史数据和实时流数据的录入、存储、检索、计算、分析及可视化。DolphinDB体量轻便,可部署于工业物联网领域所使用的各种软硬件环境,既可以用于实时监控,也可对历史数据进行深度挖掘。
DolphinDB性能优异:运行速度是同类系统的10-1000倍,实现PB级数据毫秒级查询与秒级计算响应,单服务器每秒5000余万数据点写入。特别适合高吞吐低延迟的实时数据处理与分析任务,以及对海量历史数据的复杂分析。系统可扩展性强,具有良好的容错能力及优异的多用户并发访问能力。
现在银行都已经去IOE化了,就是IBM小型机、oracle数据库和EMC存储设备。那么根据业务场景不同,技术选型也不一样啊,不过现在常用的也就是MYSQL、HBase、Redis和MongoDB。如果想要简单点,直接全部上云,用云数据库,当然常用的也就那几种,可以节约开发时间,性能有保障、安全也有保证,就是成本有点贵。
希望对您有帮助!