我们正在考虑将 Oracle RDS 数据库迁移到 Athena Trino Datalake。
我们将保持所有数据库名称、模式、表和列相同。
针对 Oracle RDS 数据库正确运行的 SQL 是否可以 100% 保证针对 Athena Trina Datalake 正确运行(可能存在细微差异,例如没有 ORDER BY 的查询的排序顺序)?
我的猜测是它不会,尽管希望大多数这样的 SQL 都能在两个系统中正确运行。
我们正在考虑将 Oracle RDS 数据库迁移到 Athena Trino Datalake。
我们将保持所有数据库名称、模式、表和列相同。
针对 Oracle RDS 数据库正确运行的 SQL 是否可以 100% 保证针对 Athena Trina Datalake 正确运行(可能存在细微差异,例如没有 ORDER BY 的查询的排序顺序)?
我的猜测是它不会,尽管希望大多数这样的 SQL 都能在两个系统中正确运行。
不,Oracle SQL 方言与 Trino 方言不同。Trino 的目标是尽可能接近 ANSI SQL 规范。
支持的特定语法也很大程度上取决于使用的版本。例如 Trino 最近获得了对MERGE的支持。
请记住,尽管 Athena 使用的是非常旧的 Trino 版本,因此根据您的需要,您最好自己运行 Trino 或使用其他受支持的产品,例如Starburst Enterprise或Starburst Galaxy。
但是,一般而言,您将能够直接运行大多数查询,也可以在稍作修改后运行。