初识低代码
低代码开发平台
Low Code Develop Platform,LCDP
- 传统应用开发中,需求的改变,即使只是一个字段的变化,都会导致模型(字段)变化,涉及数据库字段修改,开发,测试上线。LCDP可以将多变的需求中不变的东西沉淀下来进行复用,让业务人员或者开发人员在少写代码的情况下完成需求。
如何应对不确定的字段
通过设计纵表,以扩展字段。缺点就是查询复杂度高。
- 横表就是普通的建表方式,如表结构为:主键、字段1、字段2、字段3…。
- 纵表表结构为: 主键、字段代码、字段值,而字段代码则为字段1、字段2、字段3…。
通过定义一个特殊feature字段,存储类型为json,约定好协议,扩展字段按照不同行业存储在json内。优点就是轻量。
元数据驱动。缺点就是成本高,架构更加复杂。
Salesforce
一个国外的牛逼哄哄的低代码开发平台,基于元数据模型驱动的。
salesforce官方架构文档:https://www.developerforce.com/media/ForcedotcomBookLibrary/Force.com_Multitenancy_WP_101508.pdf
元数据模型下的表都是虚拟的,当用户定义一个新的用户表的时候,用户创建的不是数据库中的物理表,而是在系统态的元数据表中添加了一条记录。
当用户定义了用户表的一个新的字段时,用户并没有在物理表中创建物理字段,而是在系统态的元数据表中添加了一个记录。
缺点是:完全失去业务语义,开发成本和维护成本高,需要一套强大的sql管理和解析,(如SOQL——Salesforce Object Query Language 的简称)、实时的ETL数据架构、检索能力,后期成本也非常大。
多租户模式下解决数据量大的问题:利用数据库原生的分区机制,根据租户ID进行分区
相关文章
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Equator's Blog!