根据jaeger链路思路对无模式数据库的一个构造想法

本文提出了一种基于无模式数据库的新型数据报表架构,旨在解决传统数据库固定结构带来的挑战。通过生成个人标识(personal-ID)和context存储,可以避免复杂的跨表查询。新模式下,业务数据通过personal-ID进行聚合,降低了查询复杂性,优化了数据存储,便于生成各类报表。该方案在不改动原有数据库结构的前提下,通过中间件实现业务数据的封装,提高了数据管理和分析效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据报表数据库架构-无模式数据库

灵感来源于洗澡

被传统数据库,关键字、主键、不同数据不同数据表之间的互相关联查询折磨后,有根据jaeger的数据关联得到了一个想法。也相当于是扩展一个辅助表,来对一些业务进行聚合。

传统解决方案

往往根据不同业务之间根据业务的特性来设计数据表的结构,也就意味着一个表的字段、数据存储类型都不太一致。不同业务之间需要通过关键字来进行关联查询,因为业务过多就会导致写的sql语句过于复杂。
比如说小明办理B站大会员,那要知道小明有没有爱奇艺会员,是不是就需要去爱奇艺的会员数据查询,那么其他会员又没有办理是不是又要去查询其他的数据库系统。

新思路

如果把小明和他的身份证明通过MD5加密生成一个personal-ID,并且在表里生成一个context来存储小明的信息,再通过MD5一致性来进行溯源分析小明开通过什么业务。每次小明新开通的会员通过personal-ID生成一个packet,将personal-ID放置在头部表示这个业务是开通给小明的,同样放入和有小明context的表中。那么每次查询小明的personal-ID就会出现小明的个人信息和办理过的业务。

解决

在不改变原有数据库的结构下,通过中间件生成personal-ID,办理的业务同理通过中间件进行二次封装。原有数据库照样存储原有信息,通过新表来存储小明办理的业务。

解决了什么

解决固定结构数据库无法存储多种类型的数据
解决查询同一人下的个人信息需要通过其他报表支撑
优化数据存储的结构,方便生成各类报表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值