低代码开发平台

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进行分区

相关文章