时序数据库是什么?跟普通数据库有哪些区别?

最近有个物联网的项目,无人机采集数据,需要记录无人机的飞行轨迹、飞行参数等,这些参数大概是每秒上报2条,那么一次飞行任务可能有10几分钟、20几分钟左右,考虑到数据量的大小以及实时性,我们考虑使用时序数据库。具体选用哪个数据库,这个不重要,开源的、商业的、国内的、国外的都可以,主要是好多小伙伴不懂时序数据库,那么本文笔者就用一篇文章给大家普及一下时序数据库。

一、什么是时序数据库

  • 英文全称: Time Series Database
  • 英文缩写: TSDB

其实以前时序数据库就一直存在,只是用的人少,随着物联网 ( IoT ) 和其他革命性技术的不断发展,时序数据库再次登上了技术舞台。

我们都知道数据库是以某种方式存储的数据集合,例如,联系人列表是一个数据库,我们在其中可以记录姓名、地址、电话号码和电子邮件地址。数据库可以处理多种数据类型,具体取决于它们的结构或管理系统。

那么时序数据库 (TSDB) 是一种设计和优化的数据库,用于注册和存储始终与特定时间点相关联或使用时间戳的数据,所以时序数据库又被称为是时间戳数据库

这种结构可以轻松地从任何数据源按时间顺序分析事件,也可以接收并发输入,使我们能够同时分析和存储多个数据流,甚至可以组合分析它们。

二、什么是时序数据

上面介绍了时序数据库,说白了就是存储跟时间紧密联系的数据,但是有没有想过什么是时序数据?什么样的数据才是时序数据?依据的标准是什么?与普通数据有啥区别?

2.1 时序数据的定义

时序数据其实就是在不同时间点收集并按时间排序的数据。

具体点就是单个主题(实体)在 不同时间间隔(通常在度量的情况下等间距,或在事件的情况下不等间距)的观察(行为)的集合 。

例如:每秒(多个时间间隔)收集的无人机(单个实体)的飞行轨迹、飞行参数(行为)。

时间是区分时序数据与其他类型数据的核心属性,用于按时间顺序组合收集的数据的时间间隔称为时序频率,因此,将时间作为主轴之一将是给定数据集是时序数据的主要指标。

时序数据可以用于多种用途和各个领域,因此数据集可能会有所不同,我们怎么去判定这个数据是时序数据呢?

三个标准可以参考一下:

  • 数据按时间顺序到达;
  • 时间是主轴;
  • 新收集的数据记录为新条目。

2.2 时序数据的例子

  • 传感器
  • 监控
  • 天气预报
  • 股票价格
  • 汇率
  • 应用程序性能指标

2.3 处理时序数据的步骤

一般来说,处理时序数据分为5个步骤:

1、数据模型:

收集的时序数据必须符合模型的规范,包括所有时序数据的特征质量。

2、流计算:

对可用的时序数据进行预聚合、采样和后聚合。

3、数据存储:

存储系统允许冷热数据分离和高效的范围查询,提供高吞吐量、大容量和低成本的存储。

4、元数据检索:

支持多种检索方法,例如存储和检索数千万到数亿的时间线元数据。

5、数据分析:

最后一步实时分析和计算时序数据。

三、时序数据库的优缺点

3.1 优点

  • 可以很好地处理高速数据
  • 一次可以扫描大量数据
  • 有很多时序数据库开源免费,选择性比较灵活

3.2 缺点

  • 管理和设置方面没有关系型数据库方便,操作相对复杂
  • 由于数据大小的不定,所以所要的空间要相对大一些

总体来说,不能说时序数据库不好或者好,根据场景和需求来选择。

四、时序数据库应用场景

4.1 物联网

物联网技术的发展,意味着连接的水表、能源、温度计、健康监测器和可穿戴设备等联网设备产生的数据量呈指数级增长,时序数据库可以应对高度可扩展的数据库架构的需求。

4.2 性能和健康监控

应用程序性能、按钮点击、热图、跳出率……所有这些都可以通过时序数据库进行测量和监控,以便开发人员可以跟踪用户习惯和性能趋势,识别瓶颈并简化复杂的流程。

4.3 金融趋势和零售预测

时序数据库对于跟踪和分析市场波动至关重要,检测相关事件之间的因果关系并与历史数据交叉引用可以在股市中获利,并帮助零售商店预测未来趋势以预测库存需求。

4.4 自动驾驶数据

自动驾驶汽车在驾驶过程中会产生令人难以想象的数据量,时序数据库可以处理这些大量的实时数据,有助于提高驾驶安全性。

4.5 DevOps/服务器/容器监控

系统通常会收集有关不同服务器或容器的指标:CPU 使用率、空闲/已用内存、网络 tx/rx、磁盘 IOPS 等,每组指标都与时间戳相关联,那么这些数据可以用时序数据库进行存储和分析。

4.6 网络安全

网络安全对于企业来说非常重要,被黑客攻击的事件经常会发生,企业减轻安全威胁的一种方法是不断监控其网络上的活动,而时序数据库可以存储更细粒度的数据,并允许实时监控该数据。当前数据可以与历史数据进行比较,并且可以快速检测到异常情况,来防止或减少安全漏洞的影响。

五、时序数据库产品

根据权威网站db-engines的统计,直至2022年9月全球排名前30的时序数据库有:

统计数据来源于db-engines.com网站
统计数据来源于db-engines.com网站

一般我们常用的也就是排名在前10的产品:

  • InfluxDB
  • Kdb+
  • Graphite
  • Prometheus
  • TimescaleDB
  • Apache Druid
  • RRDtool
  • OpenTSDB
  • DolphinDB

六、时序数据库和普通数据库的区别

这里说的普通数据库一般就是指关系型数据库。

6.1 数据压缩情况

普通数据库将它们的数据按行存储在磁盘上,不同的数据类型彼此相邻,这限制了可以使用什么类型的压缩算法以及可以压缩多少数据。

而时序数据库通常以相同类型的数据点彼此相邻的方式存储数据,这样的话可以使用最佳压缩算法,大大节省了存储成本。

6.2 数据库架构

普通数据库底层是定义好模式的,所以对于表本身,不管是修改还是删除某一列,都会影响到数据库的模式,在底层相当于要进行”数据库迁移“。

而时序数据库往往是无模式的,允许快速轻松地添加新字段。

6.3 可用性和冗余

普通数据库可以通过集群存储的方式提供高可用性,但它们容易受到网络可用性的影响,如果连接断开,数据收集将停止。

而时序数据库通过收集器的冗余可以确保良好的可用性,时序数据库一般带有存储转发技术,如果发生中断,该技术会在收集器处缓冲数据,当服务器自动重连时,缓冲区最终会同步上传,确保不会丢失数据。

6.4 数据安全

数据库被黑客和病毒攻击的事件频繁发生,中枪的大多数是知名的关系数据库,常见的攻击比如有:SQL 注入。

而时序数据库一般不允许通过标准接口插入、更新或删除数据,此外,时序数据库会跟踪所有更改,包括使用访问、配置、安全违规和系统警报。

七、总结

时序数据库现在出场率越来越高,我们在选型时序数据库的时候要根据自己项目需求来进行选择。对于时序数据库,本文着重介绍了时序数据和时序数据库的术语解释、时序数据库的优缺点、时序数据库应用场景、时序数据库和普通数据库的区别。希望本文的介绍对您学习时序数据库有帮助,有任何问题可以在下方评论区与我讨论。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Apace是软动科技有限公司(以下简称“软动科技” )自主研发的一套基于分布式事务型的通用实时数据库系统,它主要应用于现代工业企业,包括电力、石油、矿山、化工、钢铁、电信、航空等领域。 Apace提供对实时时序数据的压缩、计算、存储、告警、分发、查询、统计功能,同时,为上层业务系统开发提供了丰富的应用接口。另外,Apace还拥有强大的组态图设计器以及Excel扩展报表插件。 系统引入了多种创新的技术和理念,各方面的指标在同类软件中都名列前茅。在实时数据采集方面,Apace可以在一台普通PC上稳定的承载30万点同步更新数据;在历史数据处理方面,我们在对多种压缩算法进行研究改进后,创造了Apace独有的压缩算法,对历史数据的压缩可达到平均35:1的高压缩比。同时,Apace独创的索引技术,可以实现检索的时间无关性,即可以从几十、上百年的历史数据中高效的检索任一时间点的数据;在告警服务里,Apace首度提出了趋势拟合和波动拟合告警,这项技术让Apace实时数据库的告警能力得到了质的飞跃,可实现更为复杂的告警规则;在计算服务方面,计算规则可以采用C#、VB.NET或JScript语言进行编写,支持程序集动态引用技术,算法设计者可以使用自定义的第三方程序集,大大加强了计算服务的计算能力。
软件系统设计⽅案 软件系统设计⽅案 前⾔ 前⾔ 本⽂根据⾼级软件⼯程课上所学知识,对⼯程实践项⽬-⽹上书城进⾏软件系统分析和设计,最终形成软件系统概念原型。 参考资料: ⼀、系统架构 ⼀、系统架构 系统采⽤MVC架构,MVC包括模型层(Model)、视图层(View)、控制器层(Controller) Model代表⼀个存取数据的对象及其数据模型。 View代表模型包含的数据的表达⽅式,⼀般表达为可视化的界⾯接⼝。 Controller作⽤于模型和视图上,控制数据流向模型对象,并在数据变化时更新视图。控制器可以使视图与模型分离开解耦合。 其中控制器创建模型; 控制器创建⼀个或多个视图,并将它们与模型相关联; 控制器负责改变模型的状态; 当模型的状态发⽣改变时,模 型会通知与之相关的视图进⾏更新。 ⼆、项⽬视图 ⼆、项⽬视图 1、分解视图 、分解视图 分解是构建软件架构模型的关键步骤,分解视图也是描述软件架构模型的关键视图,⼀般分解视图呈现为较为明晰的分解结构特点。 2、依赖视图 、依赖视图 依赖视图展现了软件模块之间的依赖关系。⽐如⼀个软件模块A调⽤了另⼀个软件模块B,那么我们说软件模块A直接依赖软件模块B。如果 ⼀个软件模块依赖另⼀个软件模块产⽣的数据,那么这两个软件模块也具有⼀定的依赖关系。 3、执⾏视图 、执⾏视图 执⾏视图展⽰了系统运⾏时的时序结构特点,⽐如流程图、时序图等。执⾏视图中的每⼀个执⾏实体,⼀般称为组件(Component),都是 不同于其他组件的执⾏实体。如果有相同或相似的执⾏实体那么就把它们合并成⼀个。 执⾏实体可以最终分解到软件的基本元素和软件的基 本结构,因⽽与软件代码具有⽐较直接的映射关系。在设计与实现过程中,我们⼀般将执⾏视图转换为伪代码之后,再进⼀步转换为实现代 码 3.1 顾客 3.2 员⼯ 3.3 管理员 4、实现视图 、实现视图 实现视图是描述软件架构与源⽂件之间的映射关系。⽐如软件架构的静态结构以包图或设计类图的⽅式来描述,但是这些包和类都是在哪些 ⽬录的哪些源⽂件中具体实现的呢?⼀般我们通过⽬录和源⽂件的命名来对应软件架构中的包、类等静态结构单元,这样典型的实现视图就 可以由软件项⽬的源⽂件⽬录树来呈现。 实现视图有助于码农在海量源代码⽂件中找到具体的某个软件单元的实现。实现视图与软件架构的静态结构之间映射关系越是对应的⼀致性 ⾼,越有利于软件的维护,因此实现视图是⼀种⾮常关键的架构视图。 src       源代码⽬录 -main     存放实现类的源代码 --bean       model类 --controller        控制器类 --dao       持久层--service       实现业务功能服务 --util       ⼯具类 -test     测试类 三、系统运⾏环境 三、系统运⾏环境 操作系统:Windows 10 开发语⾔:Java 开发⼯具:IntelliJ IDEA 前端框架:Vue 后端框架:Spring + SpringMVC + Mybatis 数据库: MySQL 技术选型说明:Spring的IOC特性,将对象之间的依赖关系交给了Spring控制,⽅便解耦,简化了开发。其AOP特性,对重复模块进⾏集 中,实现事务,⽇志,权限的控制;SpringMVC是使⽤了MVC设计思想的轻量级web框架,对web层进⾏解耦,与Spring⽆缝衔接,有着灵 活的数据验证,格式化,数据绑定机制;Mybatis中数据库的操作(sql)采⽤xml⽂件配置,解除了sql和代码的耦合提供映射标签,⽀持对象和 和数据库orm字段关系的映射,⽀持对象关系映射标签,⽀持对象关系的组建。 四、数据库设计 四、数据库设计 本项⽬⽬前共有4张数据库表 1.顾客表 字段名 类型 长度 是否可为空 customer_id int 10 N name varchar 20 N statement varchar 50 Y password varchar 20 N 2.普通员⼯表 字段名 类型 长度 是否可为空 worker_id int 10 N name varchar 20 N statement varchar 50 Y password varchar 20 N 3.书籍表 字段名 类型 长度 是否可为空 book_id int 10 N name varchar 20 N statement varchar 50 Y price int 10 N 4.订单表 字段名 类型 长度 是否可为空 order_id int 10 N name varchar 20 N statement varchar 50 Y belong Customer 20 Y 五、系统概念原
Apace实时历史数据库ApaceRDB是长沙软动信息科技有限公司自主研发的一套基于分布式事务型的通用实时数据库系统,它可以应用于现代工业企业,包括电力、石油、矿山、化工、钢铁、电信、航空等领域,为这些行业的SIS监控系统、仿真系统等提供数据保障。 Apace实时历史数据库Apace提供对实时时序数据的压缩、计算、存储、告警、分发、查询、统计功能,同时,为上层业务系统开发提供了丰富的应用接口,包括组态设计器以及Excel扩展报表插件。 Apace实时历史数据库系统引入了多种创新的技术和理念,各方面的指标在同类软件中都名列前茅。在实时数据采集方面,Apace可以在一台普通服务器上稳定的承载百万点的数据同步更新;在历史数据处理方面,在对多种压缩算法进行研究改进后,创造了Apace独有的魔方无损压缩算法,1万点1年的历史数据仅需5.8GB的空间。同时,Apace独创的索引技术,可以实现检索的时间无关性,即可以从几十、上百年的历史数据中高效的检索任一时间点的数据;在告警服务里,Apace首度提出了趋势拟合和波动拟合告警,这项技术让Apace的告警能力得到了质的飞跃,可实现更为复杂的告警规则;在计算服务方面,计算规则可以采用C#、VB.NET或JScript语言进行编写,支持程序集动态引用技术,算法设计者可以使用自定义的第三方程序集(如VC动态链接库),强化了计算服务的计算能力。 Apace实时历史数据库Apace组态图设计器,可以轻松的设计出仿真式组态图、趋势图、报表等各种所需的组态图,Apace已经为用户提供了20多种基础元件,除了这些基础元件以外,用户还可以根据行业的需要来自定义新的元件;组态图支持客户端脚本编码,可对图中各个元件进行编码控制。在设计过程中,可以随时对组态图进行预览,以查看实际效果,设计完成后通过内置的发布功能,可随时发布到指定的服务器上以供使用。
网网虫商城设计 目录 1 系统分析与设计 2 1。1系统总体的功能需求 2 1.2用户接口模块 3 1.3 管理员接口模块 4 2 系统UML建模 6 2.1 系统用例图 6 2。2 系统的时序图和活动图 9 3 数据库设计 11 3.1 数据库的R—R图 11 3.2数据表设计 12 1 系统分析与设计 1。1系统总体的功能需求 网网虫商城是个复杂的电子商务系统,它必须提供接口以供用户登陆并从中选购喜爱 的商品,同时还提供系统的管理接口以供管理员和一般网站工作者处理客户订单并维护网 站正常运行。 系统的总体功能框架如图1所示: (1)用户接口模块。用户接口是网站用户使用商城系统的服务入口,所有在线用户 都通过浏览器登陆网站,并进行一系列的查询,订购等操作。用户接口模块包括用户信 息维护、商品查询、订购商品和订单维护4个部分。用户登陆后,用户的ID将会被保存在 服务器的缓存(session)中,用户在系统中所做的操作都将被系统存储到数据库中,以 供商家进行销售情况和销售走势分析. (2)管理员接口模块。这是系统提供给网站维护管理人员的接口。管理员接口模块包 括商品信息维护、内部员工信息维护、订单处理、销售情况查询和报表维护5部分.网站 的一般工作人员通常只有订单处理的权限,他们获得用户提交的订单,并根据库存情况来 确定发货或者推迟发货。网站管理员具有最高级的权限,可以处理客户的订单,可以浏览 网站商品的销售情况,及时做出经营调整战略,降低经营风险. (3)数据服务模块。数据服务模块是系统正常运行的基础,它包括客户的查询订单的 保存,网站工作人员的订单处理;销售情况的查询分析. 1.2用户接口模块 用户接口模块包括下图2所示的几个方面。 (1)用户信息维护。每个想在该系统中购物的用户都必须先注册,注册时的用户名 是用户的唯一标识。系统可以接受客户的个人信息,比如购物方面的喜好,经济能力等等 。 系统的后台程序会自动记录每个用户在登陆网站后进行的所有操作,包括查询和订购 信息,这种信息对于系统管理员是珍贵的数据,系统会根据用户的查询记录判断该用户 的喜好及用户的经济情况。 (2)商品查询。商品查询模块可以根据商品的名称、种类、价格、厂家等条件进行组 合查询,在商品查询结果列表中,用户可以进一步查看详细信息.商品查询功能如上图3所 示。 当用户已经登陆时. (3)订购商品。客户在根据查询后得到相应的商品列表后,可以选择自己需要的商品 放进购物车.在订购商品后,系统会自动保存并更新购物车的订单信息,系统工作人员可 以及时得到订单处理,根据情况选择发货或延时发货。用户所有订购商品记录都保存在 系统数据库中供后台管理员分析,订购商品功能如下图4所示。 (4)订单维护。客户订购商品后可查询其订单的状态(包括处理中、发货中、缺货 中和已完成),可以对订单进行添加、删除和修改操作。客户的订单维护信息也被保存 在系统数据库中供管理员分析。订单维护功能如下图5所示。 1。3 管理员接口模块 管理员接口包括图6所示的几个方面. 管理员接口模块是系统管理员使用的核心模块,是整个商城系统正常运行的基础. (1)商品信息维护,系统管理员登陆后可以对系统所有商品进行维护,包括商品的价 格调整,商品的描述信息更新,新商品的加入和过期商品的删除等。 系统的后台程序可以根据商品的销售情况提供给管理员一份详细的分析报告。管理员 可以根据这份报告对热门书进行各方面的调整。这些方案都是根据数据库里记录的客户 的查询、订购信息来决定的。商品信息维护如图7所示。 前提条件:管理员已经登陆。 (2)内部员工信息维护。系统管理员登陆后可以对内部员工信息进行维护,包括员 工个人信息的更新,员工权限更改等等。 系统涉及的使用者包括系统管理员和普通员工,普通员工一般只拥有订单处理的权限 .但管理员可以设置员工的权限,比如增加报表打印权限。内部员工信息维护功能如图8 所示。 (3)订单处理。订单处理一般是普通员工的工作,用户在订购商品后,系统会及时更 新其订单,普通员工登陆后,可以获得未处理的订单,并根据库存情况发货或者延迟发货 。 客户在查询商品时显示商品的库存情况,但管理员并不希望显示某商品的库存量为零 ,这样可能会失去一部分客户源。所以在库存不足的情况下,要求一般员工选择延时发 货或拒绝订单.订单处理功能如图9所示。 前提条件:管理员或者普通员工已经登陆。 (4)销售情况查询。销售情况查询为企业管理者提供了很重要的参数。管理员登陆 后,可以得到详细的销售情况列表,并及时更新热门的商品信息(如排列位置等).由于 本功能涉及企业的经营信息,考虑到商业机密,所以需要管理员级别的用户才能使用本 模块.销售情况查询功能如图10所示。 (5)报表维护.报表维护提供查询结果的打印输出功能,如图
问答系统的系统设计⽅案 问答系统的系统设计⽅案 问答系统的系统设计⽅案 问答系统的系统设计⽅案 ⼀、软件架构风格 ⼀、软件架构风格   "每⼀个模式描述了⼀个在我们周围不断重复发⽣的问题及该问题解决⽅案的核⼼。这样,你就能⼀次⼜⼀次地使⽤该⽅案⽽不必做重 复⼯作"。模式的关键在于模式的可重复性,问题与场景的可重复性带来解决⽅案的可重复使⽤。⽽架构也与此同义,为了实现系统的⾼性 能、⾼可⽤、易伸缩、可扩展、安全等各种技术架构⽬标,各⼤互联⽹公司提出各种解决⽅案,这些⽅案被业界复⽤,从⽽逐渐形成⼤型⽹ 站架构模式。   分层是企业应⽤系统中最常见的⼀种架构模式,将系统在横向维度上切分成⼏个部分,每个部分负责⼀部分相对⽐较单⼀的职责,然后 通过上层对下层的依赖和调⽤组成⼀个完整的系统。   分层在计算机世界⽆处不在,在本项⽬也⽤到了,如下图:   主要层分为负责处理请求的api层,负责业务处理的service层,负责数据处理的model层,其他还有负责缓存的cache层,中间件层 middleware以及⼀些配置层等等,具体见下图:   分割就是即是纵向⽅⾯对软件进⾏切分。本系统以问答为核⼼,粒度适中,⽐如服务层⽬前分割成⽤户,问题,回答等,其中问题⼜可 分割成普通问题和热点问题,其对应页⾯展⽰也有所不同。   数据访问热点不均衡,频繁数据放在缓存中,并且有⼀定期限不会长期占⽤宝贵内存,通过缓存加快数据访问速度,减轻后端应⽤和数 据存储的负载能⼒,这种设计对数据库架构⼗分重要。   本系统采⽤redis远程字典式缓存服务,将部分热点数据进⾏缓存,能够快速响应⽤户对热点内容读取的需求,另外点赞收藏等易变化的 部分数据不⽴即存⼊数据库,⽽是通过缓存操作加定时任务,实现弱⼀致性的数据存取。   系统的安全问题也是架构设计中必须要考虑到的,⽐如直接使⽤https进⾏通信,选择更好的加密算法也是需要考虑好的。本项⽬主要使 ⽤Bcrypt算法。⽤户表的密码通常使⽤MD5等不可逆算法加密后存储,为防⽌彩虹表破解更会先使⽤⼀个特定的字符串加密,然后再使⽤⼀ 个随机的salt加密。 特定字符串是程序代码中固定的,salt是每个密码单独随机,⼀般给⽤户表加⼀个字段单独存储,⽐较⿇烦。 BCrypt算 法将salt随机并混⼊最终加密后的密码,验证时也⽆需单独提供之前的salt,从⽽⽆需单独处理salt问题。 ⼆、接⼝设计风格 ⼆、接⼝设计风格   谈完了系统的架构风格,我们来谈谈接⼝设计的策略风格。⼀个后端系统主要任务就是设计好各种不同任务的底层接⼝,⼀个好的接⼝ 设计往往利于提⾼系统的解耦程度,⽽⼀个好的设计规范更能⽅便使⽤者调⽤,也利于后端开发⼈员理解任务的性质。   本系统采⽤restful风格的API设计规范,即"动词 + 宾语"的结构组成的数据操作指令,主要涉及get(读取)、post(新建)、put(更 新)、patch(部分更新)和delete(删除)。   此外,响应状态码也应该精确,这⾥是内部返回响应,主要包含状态码,提⽰信息,数据,如下图通⽤返回结构体: 三、软件系统概念原型下的视图 三、软件系统概念原型下的视图   ⼀个系统⽆论⼤⼩,皆可分模块,通过视图勾划出系统结构,往往会通过不同抽象层级的软件模块形成层次化的结构。   如下图,可知⼤致功能划分。   各层依赖视图:   关于泛化视图,由于采⽤的是⾯向过程的go语⾔没有类与类的继承等特性,但采⽤了组合⽅式来实现各层函数的调⽤。例如model层需 要定义answer结构体,并且为这个实体嵌⼊⼀些常⽤⽅法,以供service层调⽤。   关于执⾏视图,这⾥以判断⽤户是否能修改问题的时序图来举例:   也可看看⽤例图:   部署视图,本系统采⽤docker部署: 四、软件系统运⾏环境和技术选型说明 四、软件系统运⾏环境和技术选型说明 编程语⾔:go web框架:gin orm:gorm 缓存:redis 消息中间件:rabbitMQ 运⾏环境:Linux+docker 五、数据库设计 五、数据库设计   设计者的概念模型和最终⽤户的概念模型。设计模型作为产品设计者的概念模型,是对产品构成结构和操作⽅式的系统化、结构化描 述;相对应的⽤户模型,是⽤户在产品使⽤过程中形成的关于产品构成和操作⽅式等的结构化理解。⽽设计者是通过⼀系列视觉线索,以及 ⽤户的产品使⽤过程将设计模型传递给⽤户,并最终转换为⽤户概念模型。设计模型和⽤户模型的最理想状态就是⼆者完全等同,即产品的 所有设计意图和操作⽅式完全被⽤户所理解。因此实体的划分与联系⾄关重要,由功能结构分析可知,系统需包含⽤户、⽤户信息、问题、 问题标签、回答、收藏、消息实体,⼤致E-R图如下: 通⽤字段 列名 数据类型 长度 唯⼀ ⾮空 注释

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wljslmz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值