软件开发基础问题之动态的数据结构(上)

本文探讨了软件开发中遇到的两大挑战:动态数据结构和树形属性的处理。针对属性多且频繁变动的问题,作者提出使用JSON格式存储动态数据,但指出其检索效率低的缺点。对于需要检索的数据,建议使用数据库列字段表示。同时,提出了同步JSON和列字段以及规范JSON数据标准的重要性。解决方案将在后续文章中进一步阐述。

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

算法+数据结构=软件,我这里主要谈下在软件开发过程中处理数据结构时均会遇到的问题:动态的数据结构。

数据库中表字段是已列属性来组织数据的,如果增加属性按理应该增加列字段,但我们在做软件时经常会遇到如下情况:

问题1:列属性多且变动频繁

以上是淘宝上截取的服装和电脑的两类产品的详情,首先你完全可以将所有的列:如品牌、适用年龄、尺寸等信息作为列字段存储,但会有两个问题,一是属性非常多,二是属性经常变,这是我们在软件开发过程中经常会遇到的问题。

问题2:树形属性且变动频繁

这是从携程上截取的一张酒店截图,明显看到这不是通过列属性就能解决的,尤其是此类属性依然有可能变动频繁,你可以用分表的方式实现,如酒店:hotel表,酒店公共区:hotelPublicArea表,hotelPublicArea中有自动售货机(布尔值),礼品廊(布尔值)等列属性,但如果经常变动的话(比如在二级下再增加一级,如对公共区下面的自动售货机再进行描述,说明自动售货机的经营品类,价格标准等),因为属性会硬编码进代码,会给项目开发带来一定风险。

以上两个问题就是在开发软件过程中面临数据结构的经常会遇到的问题,一是数据列变动,二是数据维度不仅仅是行-列,也有可能是树形结构,每个项目都有自己的应对方法,我这里主要说明我使用的解决方式:数据库列字段+json动态数据

把问题归纳为两点:一是要解决动态的数据结构的问题,二是要解决检索的问题

动态的数据结构用json格式去表达,json数据本来就是树形存储结构,但是缺点是检索速度慢

对于需要检索的数据,可以采用数据库列字段表示。

那么:json和列字段如何同步?如何规范json数据标准(太灵活,不做规范无法识别),这两个问题解决后,我们动态的数据结构才能得到很好的解决,我在下一篇会提到我在项目中的处理方法。

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值