OrientDB3.2.0版本新特性

求知探索 1年前 ⋅ 845 阅读

安全

使用 OrientDB 3.2 多模型 API,在数据库创建方面实现了一些重要更改。最重要的是,默认情况下不再创建基本数据库用户(admin、reader、writer)。这是关于安全性的一些考虑的结果:使用默认密码(例如 admin/admin)是一种不好的做法,并且会将 OrientDB 安装暴露给可能的攻击。

当然,可以显式触发用户创建并提供自定义密码,而不是使用默认管理员用户。例如:

final OrientDB orientdb = ...;

orientdb.execute("create database test plocal users ( admin identified by 'adminpwd' role admin)");
final ODatabaseSession session = orientdb.open("test","admin", "adminpwd");

默认情况下仍会创建角色 admin、writer、reader。

在我们的示例中,强烈建议使用比 adminpwd 更强的密码。

如果启用了默认用户的创建并且您尝试创建名为 admin 的用户,则该用户的创建将失败。可以禁用默认用户的创建,将 CREATE_DEFAULT_USERS 设置为 false,如下所示:

new OrientDB("...",
             OrientDBConfig.builder()
                .addConfig(OGlobalConfiguration.CREATE_DEFAULT_USERS, false)
                .build());

可以通过逗号分隔来创建多个管理员用户,例如 admin、reader 和 writer

final OrientDB orientdb = ...;

orientdb.execute("create database test plocal users ( 
            admin identified by 'adminpwd' role admin, 
            reader identified by by 'adminpwd' role reader, 
            writer identified by by 'adminpwd' role writer)");
final ODatabaseSession session = orientdb.open("test","admin", "adminpwd");

Studio 中有一个新选项,允许您在“数据库创建”对话框中定义默认管理员密码。

可以通过在启动时设置 -Dsecurity.createDefaultUsers=true 来恢复旧的默认值(为了向后兼容)

ODatabaseDocumentTx 等已弃用的 API 不受该更改的影响。


服务器级命令

在 OrientDB v 3.2 中,我们添加了一些基础设施来在服务器级别运行命令。请参阅 SQL 更改服务器级命令

分布式增强和稳定

在 v 3.1.x 中,OrientDB 集群有一个与索引相关的限制:UNIQUE 索引需要节点之间完全一致(N 个节点中的 N 个)来执行事务。在 v 3.2 中,我们删除了这个限制,现在涉及 UNIQUE 索引的事务与任何其他事务具有相同的仲裁(通常为 N/2 + 1)。 Hazelcast 已更新至最新版本。

控制台增强功能

在以前的版本中,使用远程服务器或嵌入式环境时,控制台中存在一些细微差别。在 v 3.2 中重构了 CLI 界面以统一嵌入式和远程环境的管理

请查看

连接环境
Open

GraalVM 支持

在 Nashorn 被弃用并从 JVM 中删除后(参见 JSR 335),OrientDB 需要一个脚本替代方案。在 v 3.2 中,我们引入了对 GraalVM 的支持,以替代脚本功能


全部评论: 0

    我有话说: