暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Oracle CloudWorld 2024:Juan Loaiza主题演讲 - 生成式数据开发和应用开发

甲骨文云技术 2024-09-13
181


今天的主题演讲者是Juan Loaiza,Oracle 任务关键型数据库技术执行副总裁。他负责领导Oracle事务处理和工程系统技术产品战略,设计和实现。Juan 拥有麻省理工学院计算机科学学士和硕士学位。去年的Oracle CloudWorld,Juan的主题演讲题目为:数据与应用开发的未来,重点阐述了Oracle从生成到创新的三大战略,即生成以使用为中心的数据,生成应用程序和生成式人工智能。在今天的主题演讲中,大家将看到Oracle秉承这些战略,已逐步将战略落实到Oracle的产品特性当中,并且更加的体系化,成熟和易用。
一开始,Juan就抛给大家几个问题。毫无疑问,AI是一场革命,AI生成应用程序是未来的发展方向,但现实情况如何?开发人员希望使用 AI 生成代码来加速其当前的开发过程,但AI生成代码可以处理复杂的企业应用程序吗?我们真的可以将业务押注于数千行无人能理解的 AI 生成代码吗?

接下来,Juan打了个比方。相对于传统的应用开发,AI生成代码如同用汽车代替了马车。“就像我们必须修建铺好的道路才能充分发挥汽车的优势一样,我们必须改变应用程序开发基础架构才能充分发挥 AI 应用生成的优势。”,否则“就像在马道上驾驶汽车一样”。而Oracle提供的让汽车安全高效行驶的道路就是GenDev:以 AI 为中心的生成式开发基础设施。

Juan解释道:“GenDev 使开发人员能够利用 AI 快速生成可理解且安全的模块化、可演进的企业应用程序。用户可以使用自然语言与数据和应用程序交互,并根据其语义内容查找数据”,GenDev已包含在Oracle Database 23ai中。使用创新的GenDev,开发人员专注于构建应用程序功能而不是基础设施需求,“可大幅加速企业应用程序的生成式开发”。

Juan首先指出,企业级应用开发基础设施面临三个问题,这些问题限制了人工智能代码生成的优势:
  1. 应用程序中广泛的依赖关系使生成和演进变得困难

  2. 大量代码使应用程序难以理解、验证和维护

  3. 需要在整个应用程序中构建企业级稳健性


而GenDev,这种可促进人工智能开发的基础设施,可以:
  • 使应用程序能够生成为独立、可信、可演进的模块

  • 主要使用声明性语言使应用程序易于理解

  • 自动化企业应用程序所需的稳健性


那么GenDev又是如何做到这些的呢?Juan接下来通过一个星际游戏应用程序的示例进行了详细解读。这个游戏应用包括3个模块:运动员,赛事和观众。我们希望这3个模块高度独立,这样可极大简化模块的开发。同时,这3个模块应采用各自适合的数据表示形式和数据访问 API来构建,我们不希望某模块为了迁就其他模块而采用不适合自己的方式,从而破坏了模块的独立性。这样,没有了模块间的“联锁”,AI就可以独立生成各模块,一切将变得简单。

接下来,开发者需要确定每个模块各自所需的数据。对于运动员模块,除了运动员信息外,还包括运动员参加的赛事信息;对于赛事模块,除了比赛的项目,时间地点外,还包括参赛运动员的信息;对于观众,除了观众自身信息,还包括其预定的赛事信息,座席和票务信息。

很自然的,开发者会想到用JSON文档来包含所有这些信息,并作为与数据库读写交互的接口。但是JSON数据库并不支持共享的数据,例如,我们需要在所有的赛事,运动员和观众文档中重复存储赛事信息。这是一个严重的问题,开发人员必须编写代码以保证所有副本的一致性,这破坏了模块的独立性。同时,要保证这种独立性也是十分困难和低效的。另一种方式是将共享信息如赛事存为独立的文档,而运动员或观众文档中创建引用来指向共享信息。这看起来不错,但每个应用模块需要理解并编码其他模块的数据共享需求,这同样破坏了模块独立性。

通过将数据访问格式与数据存储格式分开,GenDev 以独特的方式解决了这些跨模块依赖关系的根本问题。

和JSON文档不同,GenDev的关键是访问格式不必和存储格式一致。GenDev 将每个应用数据存储一次 - 作为表中的一行,数据之间的多对多关系也存储为表中的行。将每条数据精确地只存储一次称为范式化,这是关系模型的基础。

关系模型和范式化很好的解决了数据冗余和一致性的问题,那么如何确定我们需要哪些表,又如何生成这些表?答案就是生成式AI,AI 可以根据数据需求描述来生成范式化的表。接下来,Juan对此进行了演示。

在此演示中,我们向AI助手描述了需求:

    创建一组表来存储星际多项运动比赛,包括以下必须跟踪的数据:
    * 赛事:包括赛事名称、运动项目、地点、时间和说明
    * 运动员;包括姓名、星球、地区和预定赛事
    * 参加者;包括姓名、参加者星球、地区、联系信息、信用卡和预定赛事


    同时为每张表生成 10 条样本数据

    AI生成了表,索引,主外键,触发器等对象的DDL语句,生成样本数据的DML语句,在此基础上也可以根据需要进行修改。接下来,运行这些SQL,一切都很顺畅。

    更进一步,GenDev 允许每个应用模块使用其适合的JSON 格式来访问存储在范式化表中的数据。GenDev 如何知道如何将 JSON 文档转换为范式化表中的行? 答案就是JSON 关系二元性视图,开发人员声明 JSON 二元性视图以指定 JSON 文档中每个键值对来自哪些表和列。然后,Juan通过SQL Developer VS Code版中的二元性视图构建器演示了此过程,非常简单!

    接下来。Juan访谈了来自PayPal的交易处理和数据服务总监Akash Guha。PayPal拥有海量的数据和复杂多样的数据模型,Akash介绍道,二元性视图消除了数据冗余,可以同时享受到关系模型和文档模型的好处,从而提高了开发敏捷性。当问到23ai中感兴趣的技术时,Akash提到了AI,向量搜索和True Cache。

    二元性是统一关系型、文档和图形数据模型的基石,在同一数据上可充分利用 JSON、SQL、Graph各自的优势:

    • 应用程序使用标准 REST 或 MongoDB API 来获取或放置其数据
    • SQL 可以在底层表上运行
    • Graph查询的新 SQL 扩展可以帮助查找数据之间的连接

    在这一部分的最后,Juan引用了IDC对JSON 关系二元性的高度评价。

    我们已经看到 GenDev 如何促进模块独立性并统一数据模型 ,接下来,就GenDev 如何自动化企业应用所需的稳健性,Juan从4个维度做了深入解读:

    • 数据保密性
    • 数据一致性
    • 数据可演进性
    • 数据可生成性
    关于数据保密性,以星际游戏应用程序为例,GenDev允许以声明方式执行保密规则,与会者可以看到自己的数据,但永远看不到其他人的数据,赛事工作人员可能会看到座位信息,但看不到付款信息。 数据保密性自动执行,GenDev以独特的方式过滤掉最终用户不应看到的数据。这一切都是依赖于AI实现的。

    关于数据一致性,GenDev可以保证企业应用程序数据在由许多用户和模块同时写入时保持一致。例如,与会者可以长时间编辑他们的日程安排,而不会阻止其他人。GenDev采用了基于值的并发控制,比较原始值和当前值以实现一致性,而无需侵入式锁定。基于值的并发控制可确保以下场景的一致性:

    • 需要人工思考时间的交互式应用程序

    • 允许在连接断开时写入的移动应用程序

    • 中间层缓存

    • 数据副本


    关于数据可演进性,企业应用数据需要不断发展以满足新需求,而不会破坏现有应用。GenDev支持无中断修改。添加新的键值对非常简单,无需修改后端模式,就像添加一列一样。挑战在于修改当前的数据。仍然通过二元性视图技术,GenDev通过在应用和数据之间增加一层抽象(添加兼容视图,可以对现有应用程序隐藏对底层模式的更改。二元性视图就像数据的微服务。与微服务一样,它们都公开API来提供模块独立性。但二元性视图还为跨多个模块使用的数据提供声明性演进和共享数据的ACID一致性。
    关于数据可生成性,GenDev 允许以声明方式指定数据意图,使得企业数据模式可适合 AI 生成。开发人员现在可以为数据添加注释以配合AI生成。例如,声明名为“PC”的数字字段可能是个人电脑(Personal Computer),也可能是支付卡(Payment Card),通过标注这种新型的元数据指明其为支付卡信息,应用就可以自动生成支付卡输入的图形界面,包括相应的显示格式和验证方法。
    至此,Juan已经阐明了GenDev如何解决企业级应用开发基础设施面临的三个问题。下一部分,Juan重点介绍了GenDev的应用生成能力。在这一方面,Oracle将重点放在了低代码上。通过低代码,开发人员可使用高级可视化工具更快、更轻松地创建应用程序。低代码非常适合生成简单的应用程序,挑战在于如何生成复杂的企业级应用程序。Oracle的低代码平台APEX以独特的方式提供低代码,并很好地应对应用程序复杂性、任务关键性、用户规模和互操作性。目前已有超过 300万个APEX应用,每天有数千个新的 APEX 应用诞生,最重要的,APEX完全免费。
    新的APEX GenDev版本以 AI 为中心,其中的APEX蓝图语言是声明式的,简洁易理解,关注做什么,而非怎么做。这样更便于AI的代码生成。在之前的演示中,我们看到通过人类语言提示,AI 可以生成数据模式来存储数据,在接下来的演示中,APEX根据人类语言提示自动生成APEX蓝图,创建了完整的用户界面和应用逻辑。创建和运行应用都非常简单,一气呵成。

    在讨论了 GenDev 对开发的好处后,Juan又介绍了GenDev针对数据的AI如何使最终用户受益。首先是数据库内机器学习,Oracle提供 30 多种数据库内机器学习算法来预测未来。其次,Oracle 23a支持生成和存储向量,以及基于语义的向量搜索。企业可以运行查询,将图像或文档的 AI 向量搜索与有关客户和产品的业务数据相结合。例如,用户可以找到符合以下条件的出租房屋:

    • 与他们房屋的照片相似(非结构化数据)
    • 在他们的预算之内(关系型数据)
    • 位于某个地点附近(地理信息数据)
    Juan强调,生成的应用程序希望将数据视为不受任何限制的构建块,包括功能,速度,可用性和安全,核心数据库能力对于生成式开发基础设施至关重要。而Oracle数据库正是用于开发和运行现代应用程序和分析的功能完整和技术精益数据库,包括Oracle融合数据架构和自治数据库服务。
    最后,Juan总结道。GenDev是以 AI 为中心的生成式开发基础设施,使开发人员能够快速生成具有企业级可靠性、可扩展性和安全性的复杂应用程序。今天所谈的并非未来的愿景,一切都包含在Oracle Database 23ai中。

    编辑:小炒肉

    最后修改时间:2024-09-13 10:44:43
    文章转载自甲骨文云技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论