数据工厂15:数据库组件设计

简介: 数据工厂15:数据库组件设计

本节课我们来开始数据工厂的正式核心内容了。关于数据工厂,我们其实有很多设计,无论是交互还是架构还是底层具体的实现算法等。

   每样设计,都是会有它自己的作用。

   整个平台 并不是简单的 带页面的 输入输出脚本 一个输入 输出脚本。

   

   首先给大家介绍的一个设计就是,数据库组件。


   【什么是数据库组件?】

   就是一个专门存放数据库链接信息的模块,并支持被调用。包含数据层,交互层等设计和实现,封装底层复杂麻烦的sql库交互操作等。


   【它有什么作用?】

   可以分离出脚本中的数据库相关数据和代码,方便维护,类似微服务或独立中台的概念。也让后续的各个造数工具的开发变得更加简单,不用考虑复杂的数据库交互知识,大大减少开发成本和维护管理等成本。


   【它的本体在哪?入口在哪?】

   本体在 models -template - views.py  这个标准的MTV模式中处处都存在,和正常的一个模块没太大区别。

   在菜单上会有这个入口,而且在任何工具内也可以有快速入口。

     

   【它怎么调用?】

     分为大工具调用和小工具调用。

   因为大小工具的代码结构不同,所以调用数据库模块的方式也不同,但是总之在用户角度看到的话,都是一样的:

   选择不同数据库后,相关代码会展示在页面上,让用户可以稍微自行修改也便于之后排查问题。

   但大工具执行过程复杂还长,所以过程中的数据库数据也会跟着走很多步。而小工具只有一个执行脚本的方法,所以数据库数据也只走一步即可。



   好了,设计到此就差不多了。我们开始实现吧~


   首先是models.py层:


image.png

   

class DB_sql(models.Model):
    name = models.CharField(max_length=50,null=True,blank=True)
    sql_host = models.CharField('sql服务器地址', help_text='写个地址', max_length=100, null=True, blank=True)
    sql_port = models.CharField('sql服务器端口', help_text='端口', max_length=100, null=True, blank=True)
    sql_user = models.CharField('sql登陆用户名', help_text='', max_length=100, null=True, blank=True)
    sql_pwd = models.CharField('sql登陆密码', help_text='', max_length=100, null=True, blank=True)
    sql_db = models.CharField('sql数据库', help_text='数据库名', max_length=100, null=True, blank=True)
    sql_body = models.CharField('sql语句', help_text='多语句请$$$来分隔', max_length=1000, null=True, blank=True)
    def __str__(self):
        return str(self.name)


然后执行数据库同步语句:

image.png

执行成功后,我们的数据层就算搞定了。


我们下节课将继续研发这个模块欢迎继续关注和分享


请分享一下。


相关文章
|
2月前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
在9月20日2024云栖大会上,阿里云智能集团副总裁,数据库产品事业部负责人,ACM、CCF、IEEE会士(Fellow)李飞飞发表《从数据到智能:Data+AI驱动的云原生数据库》主题演讲。他表示,数据是生成式AI的核心资产,大模型时代的数据管理系统需具备多模处理和实时分析能力。阿里云瑶池将数据+AI全面融合,构建一站式多模数据管理平台,以数据驱动决策与创新,为用户提供像“搭积木”一样易用、好用、高可用的使用体验。
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
|
8天前
|
数据采集 数据库 Python
有哪些方法可以验证用户输入数据的格式是否符合数据库的要求?
有哪些方法可以验证用户输入数据的格式是否符合数据库的要求?
119 75
|
2月前
|
存储 监控 数据处理
flink 向doris 数据库写入数据时出现背压如何排查?
本文介绍了如何确定和解决Flink任务向Doris数据库写入数据时遇到的背压问题。首先通过Flink Web UI和性能指标监控识别背压,然后从Doris数据库性能、网络连接稳定性、Flink任务数据处理逻辑及资源配置等方面排查原因,并通过分析相关日志进一步定位问题。
225 61
|
21天前
|
SQL 存储 运维
从建模到运维:联犀如何完美融入时序数据库 TDengine 实现物联网数据流畅管理
本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品。文章从一个具体的业务场景出发,分析了企业在面对海量时序数据时的挑战,并提出了利用 TDengine 高效处理和存储数据的方法,帮助企业解决在数据采集、存储、分析等方面的痛点。通过这篇文章,作者不仅展示了自己对数据处理技术的理解,还进一步阐释了时序数据库在行业中的潜力与应用价值,为读者提供了很多实际的操作思路和技术选型的参考。
35 1
|
25天前
|
存储 Java easyexcel
招行面试:100万级别数据的Excel,如何秒级导入到数据库?
本文由40岁老架构师尼恩撰写,分享了应对招商银行Java后端面试绝命12题的经验。文章详细介绍了如何通过系统化准备,在面试中展示强大的技术实力。针对百万级数据的Excel导入难题,尼恩推荐使用阿里巴巴开源的EasyExcel框架,并结合高性能分片读取、Disruptor队列缓冲和高并发批量写入的架构方案,实现高效的数据处理。此外,文章还提供了完整的代码示例和配置说明,帮助读者快速掌握相关技能。建议读者参考《尼恩Java面试宝典PDF》进行系统化刷题,提升面试竞争力。关注公众号【技术自由圈】可获取更多技术资源和指导。
|
28天前
|
前端开发 JavaScript 数据库
获取数据库中字段的数据作为下拉框选项
获取数据库中字段的数据作为下拉框选项
55 5
|
2月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
225 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
2月前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据
|
2月前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
3月前
|
人工智能 Cloud Native 容灾
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?

热门文章

最新文章