首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >对于频繁但异步更新的列,一个表还是多个表?

对于频繁但异步更新的列,一个表还是多个表?
EN

Database Administration用户
提问于 2018-12-27 19:18:17
回答 1查看 76关注 0票数 2

作为Postgres 10模式的一部分,我有两个表:currenthistoric --它们都有相同的列。

current大约有20列(+/-),并保存帐户的最新信息。我需要保留一个时间戳,显示信息何时传入,但20列中的每一列都会在不同的时间得到更新。因此,每个帐户current将有numberOfColumns行(而不是一个帐户的一行) --当新的数据出现在一个列时,只保存该列信息的行将被更新。

这样我就可以快速访问帐户的当前信息。

但是,我也需要存储历史记录;因此,每次更新current时,行(包含单个条目--除了元数据)将被“移动”到historic表中。此表的列数相同。

因此,我将得到一个由20多个列组成的非常稀疏的表,每一行都包含一个时间戳、一列的“数据”值和一些元数据(例如account_id)。

current表将经常被读取。INSERTs和SELECTs都必须非常快。

historic表可能通常用于离线分析,空间是SELECT性能的一个优先事项,但是INSERTs必须是快速的(因为它们是在更新current时完成的)。

所以,我的问题是:

  1. 这设计不好吗?对于这种情况,通常的解决方案是什么(在这种情况下,诸如帐户详细信息之类的许多事情都是异步更新的)?
  2. 我是否应该将其分解,以便我有20个表,其中有一个数据列加上每个表需要的元数据?这似乎会浪费空间。
  3. 每种方法的优缺点是什么?

提前谢谢。

编辑(S):

回应@JonathanFite:

添加模式和示例查询将占用大量空间;但是,

  • “data”列是一些十进制和int值以及一个文本值,没有任何约束。
  • 有4个附加值具有null约束(大序列、文本、文本和时间戳),它们将成为每个插入的一部分。
  • 每个插入都包括这4,加上十进制或int (或文本在一种情况下)。
  • 所有20列都可以在同一秒钟内更新,或间隔几分钟。
  • selects将请求按时间排序结果,并且可以用于从单个数据列到几乎所有数据列的任何位置。

这有助于澄清问题吗?

EN

回答 1

Database Administration用户

发布于 2018-12-29 10:55:22

对于当前和历史数据,您应该使用一个表和视图。

原因:

  1. 这更容易更新(只需添加一个带有较新时间戳的新数据行)
  2. 更容易维护表中的更改
  3. 不需要移动可能失败的逻辑
  4. 可以很容易地将视图更改为不带表联接的完整历史记录(有当前数据)。
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/225891

复制
相关文章
React MobX 开始
MobX[1] 用于状态管理,简单高效。本文将于 React 上介绍如何开始,包括了:
GoCoding
2021/12/30
1.1K0
React MobX 开始
React 进阶 - React Mobx
Mobx 采用了一种'观察者模式'—— Observer,整个设计架构都是围绕 Observer 展开:
Cellinlab
2023/05/17
9050
React 进阶 - React Mobx
MobX
也就是说,只要知道哪些东西是状态相关的(源于应用状态),在状态发生变化时,就应该自动完成状态相关的所有事情,自动更新UI,自动缓存数据,自动通知server
ayqy贾杰
2019/06/12
1.1K0
MobX
【转】Mobx React  最佳实践
在这一篇文章里,将展示一些使用了mobx的React的最佳实践方式,并按照一条一条的规则来展示。在你遇到问题的时候,可以依照着这些规则来解决。 这篇文章要求你对于mobx的stores有基本的理解,如果没有的话请先阅读官方文档。
Tiffany_c4df
2019/12/07
1.4K0
MobX 在 React Native开发中的应用
MobX 是一款精准的状态管理工具库,如果你在 React 和 React Native 应用中使用过 Flux、Alt、Redux 和 Reflux,那毫不犹豫地说,MobX 的简单性将成为你状态管
xiangzhihong
2018/01/26
12.6K0
Mobx实践
由于redux需要写很多繁琐的action和reducer,很多项目也没有复杂到需要用到redux的程度却强上了redux,导致不少人对redux深恶痛绝。mobx是另一种流行的状态管理方案,这里分享一下我最近使用mobx的经验。
尹光耀
2021/10/19
9000
MobX 在 React Native开发中的应用
MobX 是一款精准的状态管理工具库,如果你在 React 和 React Native 应用中使用过 Flux、Alt、Redux 和 Reflux,那毫不犹豫地说,MobX 的简单性将成为你状态管
xiangzhihong
2018/02/06
12.1K0
MobX 在 React Native开发中的应用
博文精选|MobX — 10分钟极速入门 MobX 与 React
http://eyehere.net/2016/mobx-getting-started/(点击阅读原文前往)
java达人
2018/12/18
5060
实现简版 react 状态管理器 mobx
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接触 react 就一直使用 mobx 库,上手简单不复杂。
测不准
2022/08/07
1.4K0
实现简版 react 状态管理器 mobx
mobx 入门
mobx 响应式状态管理库 安装 // npm npm i --save mobx // yarn yarn add mobx 基础概念 所谓的响应式,既是将原有数据结构,例如 数组,对象等转变为可观察对象, 通过对可观察对象的监控,当数据变化做出对应的动作,所以可以大概归纳为: 构建观察对象 设置响应动作 在mobx中构建观察对象存在两种模式 函数模式 装饰器模式(针对类定义) 函数模式 创建观察对象 // 引入mobx import { observable } from 'mobx' // 对
copy_left
2019/08/21
1K0
React-native组件库列表
思维导图版本 React-native组件库列表 react-native 对 react 对 数据管理 mobx-react 对 mobx UI @ant-design/react-native 对 Toast 加入Provider 其他不清楚 模糊效果 @react-native-community/blur 对 视频 https://github.com/chaimPaneth/react-native-jw-media-player 获取原生图片 react-native-image-picker
爱吃大橘
2022/12/27
1.6K0
使用 React&Mobx 的几个最佳实践
Mobx 是我非常喜欢的 React 状态管理库,它非常灵活,同时它的灵活也会给开发带来非常多的问题,因此我们在开发的时候也要遵循一些写法上的最佳实践,使我们的程序达到最好的效果。
ConardLi
2020/11/26
1.4K0
MobX or Redux?
在过去的项目中一直用的都是 Redux,觉得挺不错的,按照官方推荐的一些写法,再加上团队风格,打造了一套关于 Redux 的架构,但是,现在觉得写 Action、Reducer 太繁琐,随着业务不断的增量,相应的文件和代码也会不断的增加,而且对新人来说不是非常友好(理解 Redux 比较困难),听说一方诸侯 MobX 非常不错,所以在尝试使用了,目前项目中两套架构都是并存,写下自己的一些感想。
发声的沉默者
2021/06/14
5670
MobX or Redux?
React+Mobx写法更像Vue了
Mobx是一个功能强大,上手非常容易的状态管理工具。就连redux的作者也曾经向大家推荐过它,在不少情况下你的确可以使用Mobx来替代掉redux。 本教程旨在介绍其用法及概念,并重点介绍其与React的搭配使用。
javascript.shop
2019/09/04
1.7K0
【React】export ‘makeObservable‘ (imported as ‘makeObservable‘) was not found in ‘mobx‘
问题描述: WARNING in ./node_modules/mobx-utils/mobx-utils.module.js 629:8-22 export 'makeObservable' (imported as 'makeObservable') was not found in 'mobx' 如下图所示: 解决方案: 降级 mobx-utils 为 5.6.2,如下: npm i mobx-utils@5.6.2 --force
White feathe
2022/05/11
4340
【React】export ‘makeObservable‘ (imported as ‘makeObservable‘) was not found in ‘mobx‘
Mobx+Mobx-React快速上手 简单可扩展的状态管理解决方案
Mobx是Redux之后的一个状态管理库,基于响应式状态管理,整体是一个观察者模式的架构,存储state的store是被观察者,使用store的组件是观察者。Mobx可以有多个store对象,store使用的state也是可以变对象,这些都是与Redux的不同点,相比较于Redux,Mobx更轻量,也更受开发者的青睐。
憧憬博客
2020/07/20
1.2K0
状态管理库 MobX 和 react
很多人把 MobX 当作另外一个 Redux,但是它仅仅是一个库,不是一个什么架构。上面的例子还是需要程序员自己去组织逻辑和 store 或者控制器什么的.
西南_张家辉
2021/02/02
5370
【MobX】MobX 简单入门教程
<img src="http://images.pingan8787.com/blog/mobx.png" width="120px"/>
pingan8787
2019/10/24
1.5K0
【MobX】391- MobX 入门教程(下)
在上一部分内容中,我们了解到,对可观察的数据做出反应的时候,需要我们手动修改可观察数据的值。这种修改是通过直接向变量赋值来实现的,虽然简单易懂,但是这样会带来一个较为严重的副作用,就是每次的修改都会触发 autorun 或者 reaction 运行一次。多数情况下,这种高频的触发是完全没有必要的。
pingan8787
2019/10/30
9100
【MobX】391- MobX 入门教程(下)
react 的数据管理方案:redux 还是 mobx?
和 redux 类似,mobx 是一个数据管理库,都可以和 react 配合使用。它区别于 redux 的最大特点是,可以直接修改数据,对 UI 进行精确刷新。精确更新是什么意思呢,看下面的例子。
IMWeb前端团队
2019/12/03
2.1K0
react 的数据管理方案:redux 还是 mobx?

相似问题

将项目添加到ListView

23

将图像添加到listView

17

将图像添加到ListView

11

将图像添加到ListView

11

是否将项目添加到ListView?

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档