Oracle 数据库是一个全面的应用和数据服务平台,可帮助企业简化应用开发和部署。您可以使用 CI/CD、多租户数据库、Kubernetes、云原生和低代码技术构建 SaaS 应用。
使用 Oracle 融合数据库构建微服务 (1:09)
Oracle 面向开发人员发布 Oracle Database 23c 免费早期版本,它支持 JSON Relational Duality 特性,助力开发人员在云端和本地使用这一“20 年来信息科学领域最伟大的创新功能”。
“Living up to the code name ‘App Simple,’ Oracle is making it extremely easy for developers to try its latest innovations with Oracle Database 23c Free—Developer Release.Developers have over 300 features and enhancements in Oracle Database 23c to work on, but JSON Relational Duality will probably be the favorite as it solves a mismatch between document and SQL approaches to storing and analyzing data.”
使用 Kubernetes 引擎、Docker 容器和 Oracle Autonomous Database 构建以数据为中心的食品配送移动应用。如今,现代应用开发充分利用人工智能 (AI) 和/或机器学习 (ML) 技术,已成为微服务(生成操作性数据和代码事件)的代名词。在 Oracle Cloud Infrastructure (OCI) 上运行的融合数据平台可简化新微服务的创建,处理表、JSON、图形和空间等各种数据类型的事件和数据。GrabDish 应用便是使用 terraform 脚本、Kubernetes 简化 DevOps 以及微服务示例代码,自动将完整微服务平台实例化的一个典型例子。
e-shop 是一个基于 Web 的电商零售应用,主要用于演示 Oracle Sharding(一个超大规模全球分布式融合数据库,可在大规模并行处理 (MPP) 架构中执行 OLTP 和分析)。开发这样的应用通常需要多种技术和产品。例如,您需要一个 JSON 数据库、一个文本索引应用、一个关系数据库和一个分析引擎,这给跨多个数据存储查询数据造成了一定的困难。e-shop 使用 Oracle Sharding(具有三个分片)处理不同类型的数据,包括结构化和非结构化数据、关系数据、JSON 数据以及文本 — 所有数据都存储在一个数据库平台上。
本示例应用支持多种功能,如简单 Oracle Document Access (SODA) API、JSON 数据文本搜索、连接、事务、关系查询 ACID 属性、模糊匹配、预先输入、自由格式文本搜索以及情感分析。
使用 Oracle Autonomous Database 为高风险客户提供专业服务。
现代数据平台需要对多种存储引擎(关系存储、对象存储等)和数据类型执行分析。Oracle Autonomous Database 可捕获表格、空间、图形和 JSON 数据并为每种数据类型提供专用算法。我们以 Oracle MovieStream(一家虚构的在线电影流媒体公司)为例,来说明如何对结构化和非结构化数据执行各种类型的复杂分析。您可以访问数据湖中的数据,从表格和 JSON 数据中发掘观影洞察,使用机器学习预测用户流失,基于空间分析洞察提供本地化服务,以及应用图形算法并基于衍生社区推荐电影。
使用 Oracle Autonomous Database、Oracle Container Registry、Kubernetes 集群、API 网关和 Helidon 等云原生服务构建和部署个人生产力应用。
该应用使用 Helidon 微服务框架对 Java 后端执行 REST 调用,使用 Docker 进行应用容器化,将应用部署在 Oracle Container Registry 中并通过 Kubernetes 进行管理。此外,它还使用 Java 代码实施 REST API 并连接到 Oracle Autonomous Database 来持久保存更改。
购物车应用支持客户随时通过网上商店选择、查看和购买产品或服务。
本示例应用使用 Oracle Autonomous Database 和 Oracle APEX 从零开始创建购物车。您可以先导入示例数据集,然后构建包含仪表盘、产品和多个报告等页面的应用。您还可以添加购物车管理页面。
网店管理员可以使用该应用管理产品、客户和商店,客户可以使用该应用浏览产品,将产品添加到购物车和结账。此方法还适用于其它场景,可在 60 分钟内构建一个支持客户功能和管理员功能(以执行站点变更)的初始应用。
Oracle Machine Learning 是一个功能强大的解决方案,可用于分析和处理企业中最具价值的数据 — 即 Oracle Database 中的数据。本示例展示了数据专业人员如何使用 APEX 构建机器学习驱动的保险应用 — 从数据准备一直到模型部署。
示例保险应用还在真实应用中采用关于模型部署的 DevOps 优秀实践,支持开发人员轻松访问强大的 AI/机器学习特性。
Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。
Python 编程语言广泛应用于当代计算机科学的各个领域。由于 Python 开发比其他大多数语言更高效,因此对于需要快速、低成本地更改代码库的初创企业而言,这是更为主流的选择。科学家、数学家以及许多强大的内部统计和复杂计算库也喜欢使用 Python。了解适用于 Oracle Database 的 Python python-oracledb 驱动程序的特性。python-oracledb 是一个支持访问 Oracle Database 的 Python 扩展模块。它符合 Python 数据库 API 2.0 规范,增删了某些功能。
您可以使用 Oracle 调用接口 C 和 C++ API 创建使用函数调用访问 Oracle Database 的应用,并控制 SQL 语句执行和数据访问的所有阶段。
Node.js 支持开发人员使用易于理解的代码构建快速、可伸缩的网络应用。它可在 Windows OS、macOS、Linux、Unix 和其它操作系统上运行,支持 Raspberry Pi 或 BeagleBone Black 等 ARM 处理器。对于需要使用简单代码构建快速、可伸缩网络应用(如 Web 服务器和其他移动应用后台系统)的开发人员来说,Node.js 是一个理想选择。
用于 Node.js 的 node-oracledb 附加组件支持高性能 Oracle Database 应用。这些应用可以使用 TypeScript 编写,也可以直接使用 JavaScript 编写。
Oracle 的 .NET 开发社区拥有 80 万以上的成员。Oracle Data Provider for .NET (ODP.NET) 经过专门优化,可使用 Oracle Database 的高可用性、性能和安全特性,同时支持开发人员完整访问 .NET 和 .NET Framework。Oracle Developer Tools for Visual Studio Code (VS Code) 和 Oracle Developer Tools for Visual Studio 是两个插件,用于在本地部署和云端环境中编辑、执行和调试适用于 Oracle Database 的 SQL 和 PL/SQL。
PL/SQL 是一种嵌入式语言,可与 Oracle 协同使用,提高工作效率。PL/SQL 为 SQL 添加了程序结构,提供更全面的编程语言解决方案,支持在 Oracle Database 上构建关键任务应用。
React 是一个用于构建 Web 和原生用户界面的 JavaScript 库,可帮助您通过单个组件(如 Thumbnail、Like Button 和 Video)构建用户界面,然后在整个屏幕、页面和应用中组合使用这些用户界面。您不必在 React 中构建整个页面 — 只需将 React 添加到现有 HTML 页面,即可在页面的任何地方呈现交互式 React 组件。
应用程序的后端可以使用 Java 或 Node.js 语言编写,实现现代 Web/移动应用的全栈开发。Oracle Database 通过 React.js 为 Java(以及 Spring Boot)和 JavaScript(以及 Node.js 和 Parse 平台)全栈开发提供后端支持。
微服务是一种用于开发现代软件的架构方法。每个核心功能或服务均围绕着相关业务情境而构建,并且可以独立部署。微服务可在应用构建和维护方面提供极高的敏捷性。如今所说的应用现代化指的便是微服务。
构建自包含、可即时运行的小规模应用可为您提供极大的代码灵活性和弹性。Spring Boot 的专用特性可帮助您在生产环境中轻松地规模化构建和运行微服务。虽然优势明显,微服务的分布式特性也带来了一些挑战,不过 Spring Boot 可帮助您解决这些问题。您可以利用 Spring Cloud Stream 在任何信息传送平台上轻松使用和生成事件。Oracle 提供 Oracle Backend for Spring Boot and Microservices。
Oracle Mobile Backend as a Service (MBaaS) 可帮助开发人员使用 Parse 平台 API 以及各种开发人员 SDK(Javascript、Flutter、Unity 等)来构建现代移动应用。您可以通过 Oracle 数据库适配器充分利用 Oracle 融合数据库中的丰富应用和数据服务。MongoDB 和 PostgreSQL 适配器在 Parse 平台上提供。该平台在一个概念验证演示中模拟了 Google Firebase API,提供可基于 Google Firebase 服务运行的示例应用,用户只需进行极少的更改,即可加入可在 Oracle MBaaS 平台上运行的解析仿真器库。
企业应用开发结合使用 Web 优先的微服务和移动优先的应用功能,能够在由 Kubernetes 管理的应用容器和解析容器中运行微服务,从而轻松地融合 Java 和 JavaScript 两种应用。
Helidon 是 Java 库的集合,用于编写可以在 Netty 支持的快速网络核心上运行的微服务。
Micronaut 是一个基于 JVM 的现代化全栈框架,用于构建模块化且易于测试的微服务和无服务器应用。在这个框架中,应用启动时间和内存消耗将不受代码库规模的限制,从而缩短启动时间、提高吞吐效率和尽可能降低内存占用。
Oracle Transaction Manager for Microservices 可通过启用分布式事务来确保在 Kubernetes 和/或其他环境中部署的多语言微服务的一致性,从而简化应用开发和运行。该事务管理器在数据库外部运行,因此可跨异构数据库运行。此外,MicroTX 还支持长时间运行操作 (LRA) 和尝试-确认-取消 (TCC) 一致性协议。
参考架构基于一定的设计原则,可满足现 Web/移动应用(集成 AI/机器学习、数据驱动的分析以及信息传送平台)的核心开发要求。这些架构由事件驱动,可实时响应事件,帮助金融、零售、医疗卫生、能源和制造等行业加快定制应用开发,以及扩展 Oracle Applications。大多数企业应用都以数据为中心,使用融合数据库高效处理各种数据。低代码应用开发可压缩需要的技术层数量,并使用 Java、Python、JavaScript 等常用语言进行多语言编程。由 Kubernetes 管理的应用和数据库容器可以部署在 OCI、独立环境和其他主流公有云上。
虽然这些架构类别的设计选择和优秀实践可能存在重叠,我们仍推荐您选择事件驱动、低代码和大数据技术构建移动应用。以下是我们推荐的主要架构模式类别:
相比传统手动编码方式,低代码平台可帮助您更快地构建企业应用。此类平台非常适用于与企业利益相关者合作构建数据报告和分析应用、机会主义应用;扩展 SaaS 应用;以及对传统应用进行现代化改造。
Oracle APEX 使用数据库封装的简单元数据驱动架构,可提供快速的数据访问、出色的性能和可伸缩性。
区块链应用构建器提供低代码开发和测试环境,可用于构建、本地测试和自动部署智能合约。它不仅可根据声明式规范自动生成智能合约,帮助开发、测试和部署,还可以提供令牌化支持,在整个令牌生命周期自动生成链代码。
Oracle Transactional Event Queues (TxEventQs) 是高性能分区实施队列,每个队列拥有多个事件流。TxEventQ 是 Oracle Advanced Queuing 的分区和内存中实现。TxEventQ 队列支持 JMS 规范,可以使用 Java、Python、Node.js、PL/SQL、C/C++、.NET 和 Go 进行访问。
XML 是一种类似于 HTML 的脚本语言,主要用于存储和传输数据。Oracle XML 开发人员工具包 (XDK) 是一组通用组件,可用于构建和部署处理 XML 的 C、C++ 和 Java 软件程序。您可以根据业务需求将这些组件组装成一个 XML 应用。
Oracle Database 可以在数据库中运行强大的算法,加速机器学习,让您无需移动或重新格式化数据即可构建和运行机器学习模型。数据科学家利用 Python、R、SQL 和其他工具将 ML 功能集成到数据库应用中,并在易于使用的仪表盘中呈现分析结果。
Oracle REST Data Services API 支持 Oracle REST Data Services 用户通过用户友好的 REST API 执行 Oracle Database 管理,并监视操作。ORDS 数据库 API 提供可插拔数据库管理、数据导出和数据库性能检查等多项服务。
Oracle SQL 为访问、定义和维护数据提供了一个简单、简洁、高性能的架构。Oracle SQL 可与 PHP、Java、Python、.NET、Hadoop、Node.js 或 Oracle APEX 一起使用。
SQL*Plus 是一个交互式的批量查询工具,随 Oracle Database 服务器或客户端安装一起提供。它提供了一个命令行用户界面,支持输入和执行 SQL、PL/SQL、SQL*Plus 和操作系统命令。
Oracle SQL Developer 是一款免费的图形工具,可简化数据库开发任务。借助 SQL Developer,您可以浏览数据库对象,运行 SQL 语句和 SQL 脚本,编辑和调试 PL/SQL 语句,处理和导出数据以及查看和创建报告。您还可以同时连接到 Oracle Database 和选定的第三方(非 Oracle)数据库,查看元数据和数据,并将这些数据库迁移到 Oracle。SQL Developer 还将接口集成到了多种相关技术中,包括 Oracle Data Miner、Oracle OLAP、Oracle TimesTen In-Memory Database 和 SQL Developer Data Modeler(只读)。
Oracle SQL Developer Data Modeler 是一种数据建模和数据库设计工具,可提供环境来帮助捕获、建模、管理和利用元数据。
Oracle SQLcl(SQL 开发人员命令行)是一个基于 Java 的 Oracle Database 命令行接口。借助 SQLcl,您可以在交互或批处理模式下执行 SQL 和 PL/SQL 语句。SQLcl 提供行内编辑、语句完成和命令重复等功能,并支持您现有的 SQL*Plus 脚本。
学习和共享 SQL 知识,提高代码编写效率。LiveSQL 提供教程、示例宏和查询计划说明,在浏览器中运行代码只需数秒钟。
Oracle Database Actions(即以前的 SQL Developer Web)是一个基于 Web 的接口,可为 Oracle Database 提供开发、数据工具、管理和监视功能。它随 Oracle Autonomous Database 一同提供,包含在 Oracle REST Data Services (ORDS) 下载包中,可在本地部署环境中使用。
Oracle Database 提供了用于处理 JSON 数据的 API,并支持原生存储 JSON 数据。您可以分析和保护 JSON 数据并执行其他操作。
Oracle Database 提供空间数据库功能,让开发人员和分析人员能够轻松开始使用位置智能分析和映射服务。它可帮助地理信息系统 (GIS) 专业人员成功部署高级地理空间应用。组织可以通过 Oracle Autonomous Database 和 Oracle Database 的空间功能,全面管理不同类型的地理空间数据,执行数百种空间分析操作并使用交互式地图可视化工具。
Oracle 融合数据库提供图形数据库功能。它可为图形用户提供两种常用的图形模型:属性图形和 RDF 图形。开发人员、分析人员和数据科学家可以使用图形查询了解数据关系,使用预构建图形算法执行图形分析,收集业务洞察,如提出建议、查找社区、模式匹配、识别欺诈和其他异常。Oracle Autonomous Database 中的 Graph Studio 提供了一个全托管的自动化图形数据界面,可支持用户更方便地创建和查询图形。此外,它还通过高级笔记本和交互式可视化提供丰富的图形分析和图形查询支持。
Oracle XML 数据库 (XML DB) 支持您本地存储和处理 XML 数据。它提供复杂的数据分析和报告、高性能和可伸缩性、数据保护以及访问控制等功能。
Oracle Database Operator for Kubernetes(也称为OraOperator)是 Kubernetes API 的扩展,它提供自定义资源定义和控制器,可帮助自动运营 Oracle Database。如今,Kubernetes 已成为自动持续集成和持续交付 (CI/CD) 管道的一个主流开源框架。
提供从应用层、中间层到数据层的端到端应用开发观测。使用 Grafana 作为监视仪表盘,通过 Prometheus 收集和分析指标、日志和追踪。
Oracle Database Real Application Security Administration (RASADM) 支持您使用图形用户界面创建 Real Application Security 数据安全策略。
Real Application Security 可帮助应用用户(而非数据库用户)管理应用安全性,在安全策略实施期间识别应用用户身份。开发人员也可以使用 Real Application Security 管理应用级任务的安全性,并逐步或一次性将安全数据返回数据库层。
Java 数据库连接 (JDBC) 是一套 Java 标准,提供将 Java 应用连接到关系数据库的接口。除了支持标准 JDBC 应用编程接口 (API),Oracle JDBC 还支持 Oracle 特定数据类型,增强了连接到 Oracle Database 的 Java 应用的性能。
融合数据架构模式可融合应用系统的多个维度,支持您对多种数据类型运行查询,利用 AI/机器学习处理运营数据和分析,使用多种语言进行开发,并部署在多个云上。使用 Kubernetes 管理的容器化数据库架构可以让开发运营更简单。
支持 Oracle 融合数据库中各种数据类型的 ACID 事务,自行选择语言进行编程以及支持内置事务性信息传递/事件。
收集和分析每个层级(应用层、中间层和数据层)的指标和日志,并统一管理所有数据,以便开发人员进行调试和性能优化。
使用 Vault 将应用角色安全性与 Kubernetes 机密信息相集成,对密码进行数据安全评估、脱敏和加密。
注:为免疑义,本网页所用以下术语专指以下含义: