传感器获取数据库 云数据库选型必读:如何梳理需求?
云数据库选型必读:如何梳理需求?
来源:计算机世界
事务型云数据库形形色色、种类繁多,从简单的键值存储数据库到全球规模的分布式关系数据库,不一而足。本文介绍了应该如何为你的应用选择合适的云数据库。
自上世纪80年代以来,数据库已取得了长足的进展,早期数据库仅在大型机上运行,用户只能在网状数据库(CODASYL)和关系数据库之间进行选择。网状数据库的速度往往比关系数据库快一倍,但最终计算机硬件方面的改进和SQL查询的便利性(相对编写导航型数据库代码)促使关系数据库占据市场主要位置。
现在,数据库可以在任何地方运行,从智能手机、数据中心的服务器,到地域分散的云环境。除了关系表格数据库以外,还有面向时间序列、图、空间、文本、联机分析处理(OLAP)、XML和JSON等数据的数据库。一些数据库专门处理某一种数据,一些数据库允许用户选择数据类型,但每次只处理一种;一些数据库允许多种类型的数据共存于同一数据库实例中,一些数据库擅长联机事务处理(OLTP),一些数据库主攻联机分析处理(OLAP),还有一些数据库适合处理事务和分析混合工作负载。
我们将讨论的一些数据库可以在本地运行,一些数据库专门支持云环境,但与本地数据库兼容;一些数据库是"云原生",这意味着它们只能从云提供商处获得。
确定数据库需求
数据库本身几乎从来不是独立存在的。相反,数据库通常是应用系统的后端或存储层。
如果该应用是遍布全球的多人玩的视频游戏,那么读取延迟和写入延迟都很重要,数据库可能需要分布式,不过不一定是关系型的,也不一定要有强一致性;键值数据库可能很理想。如果该应用记录和监测来自阀门的传感器输出,数据库应该能够快速写入大量的时间序列数据。
你会生成多少数据?生成数据有多快?
几乎任何云数据库都可以处理少量的数据(数GB或更少),一些云数据库可以在内存中处理这些数据,许多云数据库可以处理数TB(数千GB)的数据,只有少数可以支持数PB(数百万GB)的数据。请注意,大多数云数据库按月收取存储费,SSD存储方面的费用高于磁盘存储。
数据到达的速度会给其他指标带来压力,比如数据库写入速度和网络容量。如果大量数据突然到达,数据库或前端程序在将数据写入到永久存储设备时可能需要将数据缓存在内存中,以免数据丢失。人们常提到的Redis(一种内存中数据结构存储,用作数据库、缓存和消息代理)能够为其他数据库缓存大量突发数据。
你预先知道数据库模式吗?
如果你的数据库模式(数据的结构)是预先确定的,不太可能随时间的推移而发生显著变化,如果你希望大多数字段面对不同的记录有一致的类型,那么SQL数据库是不错的选择。否则,NoSQL数据库可能更适合你的应用。
不过也有例外。比如说,Rockset这种操作型数据库允许SQL查询,无需要求它所导入的数据有固定模式或一致类型。
哪种形状适合你的数据?
关系SQL数据库将强类型数据存储在拥有行和列的矩形表中,比如Microsoft SQL Server、PostgreSQL和MySQL。它们依赖表与表之间的定义关系,使用索引加快选定的查询,并使用JOINS一次查询多个表。许多现代关系数据库(包括Oracle Database)也支持其他形状。
文档数据库通常存储可能包含数组和嵌套文档的弱类型JSON(文本或二进制),比如MongoDB和Couchbase。图数据库存储具有属性的顶点和边,比如Neo4j,或者存储RDF三元组,比如AllegroGraph。无论是哪种实现方法,图数据库都强调实体之间的联系。其他类别的NoSQL数据库包括键值数据库(比如 RocksDB)和列式存储数据库(比如Cassandra)。
有时,数据以一种适用于分析的形状被获取,有时并非如此,因此需要进行转换。有时一种数据库建立在另一种数据库上。比如说,键值存储数据库几乎可以用作任何类型的数据库的基础。
你的延迟要求是什么?
延迟是指数据库的响应时间和应用系统的端到端响应时间。在理想情况下,每个用户操作的响应时间都在亚秒级,这常常意味着需要数据库在100毫秒内为每个简单事务做出响应。分析查询常常需要几秒钟甚至几分钟,应用系统可以通过在后台运行复杂的查询来维持响应时间。
云端运行数据库会使延迟的测量很复杂。这里涉及多个因素:最简单的考量因素是客户端和数据库之间的延迟,因数据库查询响应而增加了总体延迟。一个更复杂的考量因素是,在分布式数据库中提交事务可能需要等待地理分布区域中的写入,尤其是在数据库保持强一致性的情况下。
预告
想了解更多数据库和它们的区别吗?该怎样挑选数据库?明天的微信将为你揭秘!
本文来自【计算机世界】,仅代表作者观点。全国党媒信息公共平台提供信息发布传播服务。
ID:jrtt
「洞幺邦」利用树莓派使用串口来实时获取传感器数据
用树莓派使用串口来实时获取传感器数据,获得的数据通过网络上传到MySQL数据库,用web进行数据可视化,对超标限值的参数及时报警,环境参数可以做线状图。
数据:温度,Ph值,浑浊度。
洞幺邦是一家为客户提供编程方面的任何技术咨询,服务,转让的专业平台,主流编程语言包括C++,JAVA,MATLAB,PYTHON,PHP,C#,常用的硬件平台包括主流嵌入式控制器,fpga,dsp,plc等等,平台积累了上万个案例以及有数千名专业可靠的工程师团队。
主营业务涵盖软件开发,程序定制,硬件产品设计,算法等相关业务。了解更多成功案例可以关注我们,平台欢迎各类技术大神入驻,互利共赢。也欢迎任何朋友在我们平台上发布需求,平台将提供一流的技术咨询,转让,开发,售后服务。
相关问答
远程数据采集系统设计,数据传输到上位机。通过3G无线传输,传到监控中心后,怎么把数据存储SQL 数据库 中?数据中心动态库说明1、数据类型typedefUINTu32t;typedefUCHARu8t;typedefUSHORTu16t;typedefULONGu64t;2、数据...
汽车 传感器 市场分析,国产机会如何?行业主要上市企业:目前国内汽车传感器行业的上市公司主要有保隆科技(603197)、苏奥传感(300507)、日盈电子(603286)、华工科技(000988)、腾龙股份(603158)本文...
称重 传感器 在rs485转换器之后的数据在上怎么处理求解 接受和...就收后进行逻辑处理称重传感器在rs485转换器之后的数据在安卓上怎么处理求解接受和发送485数据,就收后进行逻辑处理
可视化大屏技术方案?通常包括以下几个方面:1.数据采集:通过各种数据源采集数据,如传感器、数据库、API接口等。2.数据处理:对采集到的数据进行清洗、转换、计算等处理,以便...
micro:bit的 传感器 数据怎么通过接口传给树莓派raspberry?写一个python程序调用传感器的API,然后部署在树莓派上了。树莓派是个完整的linux,能装数据库中间件,理论上只要有API都能调用。写一个python程序调用传感器的...
数据库 有哪些?主流数据库主要有MySql、Oracle、db2、SqlServer、mongodb、PostgreSql国内主要有:南大通用、武汉达梦、人大金仓、神州通用要了解数据库之前,先要了解下关系...
获取 数据源途径有哪些?一.内部来源1.企业内部数据库企业在生产经营过程中收集、整理的数据,主要有生产数据、库存数据、订单数据、电子商务数据、销售数据、客户关系管理数据等等...
如何查论文被引频次寄出后,4个月未接到...对拟刊用的稿件,发给作者用稿通知书,对不拟刊用的稿件,不再通知作者。所以稿件自寄出后,4个月未接到用稿通知书者,可对稿件...
获取 数据的基本途径及相关概念?相关概念有存取模式(顺序/随机)、扇区、簇等。6.网络传输:通过网络从远端服务器或数据库获取数据。相关概念有带宽、网络协议(TCP/IP)、网络拥塞等。7.接...
智能电网信息工程是什么意思? - 太格有物 的回答 - 懂得对不起,对这个问题不熟应用计算机技术实现对电网的智能化管理,如缴费,查表,故障报修都可以通过网络自动完成。涉及的技术有计算机网络,传感器,数据...