您的位置:

OrientDB详解

一、企业版介绍

1、OrientDB企业版是OrientDB数据库的增强版,可用于更严格的企业级应用程序。企业版提供了更高级的功能,如数据安全,更好的网络性能和可伸缩性,简化的管理等。

2、企业版的特性包括:


- 分布式集群
- SSL/TLS支持
- 增强的监视和管理功能
- 支持超过10亿个节点的图
- 支持更多的索引 - Lucene引擎等
- 增强的备份和恢复功能

3、使用企业版需要购买相关的许可证,具体可以参考OrientDB官方网站,但是OrientDB社区版本已经足够满足大多数应用需求。

二、数据库缺点

1、与关系型数据库相比,OrientDB的学习曲线必须要陡峭一点,因为它使用图数据库和文档数据库的部分功能。对此,有严格的模式和查询语言要求。

2、当数据集变大时,OrientDB开箱即用的配置可能会变得不足以支撑快速查询。但是,通过纵向或横向扩展,可以解决性能问题。

3、对于某些类型的查询,由于存在分片和缓存退出,处理功能可能会受到限制。此外,在大型分布式环境中,错误可能会变得难以跟踪和解决。

三、集群搭建

1、搭建OrientDB集群,需要在每个节点上安装和配置OrientDB。这包括为每个节点指定独特的节点ID和IP地址,以建立通信。配置文件orientdb-server.xml需要指出节点用于启动和关闭时所需的端口,以及使用的数据库的位置。这个位置可以是本地,可以是远程,还可以是共享文件夹。

2、三个主要的配置文件是orientdb-server-config.xml,hazelcast.xml和orientdb-default-distributed-db-config.json。orientdb-server-config.xml按照单机的方式进行配置。hazelcast.xml包含与Hazelcast有关的配置表,这是构成群集的节点所需的类库。orientdb-default-distributed-db-config.json指定了重新平衡数据库所需的参数。

3、关于集群搭建的代码示例:


// 安装OrientDB并启动节点
$ cd /opt/orientdb/bin/
$ sudo ./server.sh

// 检查端口是否在该节点上打开
$ netstat -anp | grep 2480
$ netstat -anp | grep 2424

// 在每个节点的config目录中创建orientdb-server-config.xml,输入以下内容并指定不同的节点ID和IP地址:
<orient-server>
  <listeners>
    <listener
      protocol="binary"
      socket="default"
      port-range="2424-2430"
      ip-address="10.0.0.1">
    </listener>
    <listener
      protocol="http"
      socket="default"
      port-range="2480-2490"
      ip-address="10.0.0.1">
      <parameters>
        <parameter value="OrientDB Studio" name="database.path"/>
      </parameters>
    </listener>
  </listeners>
  <users>
    <user name="root" password="root" resources="*"/>
  </users>
</orient-server>

// 每个节点的config目录中创建hazelcast.xml,指定相同的组名称和相同的密码:
<hazelcast xsi:schemaLocation="http://www.hazelcast.com/schema/config hazelcast-config-3.10.xsd"
           xmlns="http://www.hazelcast.com/schema/config"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <group>
        <name>orientdb</name>
        <password>orientdb</password>
    </group>
    <!--
    <network>
        <port port-count="100">5701</port>
        <outbound-ports port-count="100">
            <ports>0-65535</ports>
        </outbound-ports>
        <join>
            <multicast enabled="false"/>
            <tcp-ip>
                <interface>127.0.0.1</interface>
            </tcp-ip>
        </join>
    </network>
    -->
</hazelcast>

// 每个节点的config目录中创建orientdb-default-distributed-db-config.json,输入以下内容:
{
    "autoDeploy": true,
    "hotAlignment": true,
    "readQuorum": 1,
    "writeQuorum": 2,
    "failureAvailableNodesLessQuorum": false,
    "readYourWrites": true,
    "servers" : [
        { "server":"10.0.0.1:2424", "username":"root", "password":"root" },
        { "server":"10.0.0.2:2424", "username":"root", "password":"root" },
        { "server":"10.0.0.3:2424", "username":"root", "password":"root" }
    ]
}

// 开始群集
$ cd /opt/orientdb/bin/
$ sudo ./server.sh --distributed

四、Web UI选取

OrientDB有两个web界面可供选择:OrientDB Studio和OrientDB Enterprise Studio。通常建议使用OrientDB Enterprise Studio,因为它的性能更好,还有更多的特性。可以从OrientDB官方网站下载安装。

启用官方 webUi 然后访问 (一般为 `http://localhost:2480`) 即可查看和管理里面的数据库了。因为在生产环境下不安全,需要配置网站认证。代码示例如下:


// 在orientdb-server-config.xml文件中添加security节点
<security>
  <users>
    <user name="root" password="root" resources="*" actions="*" />
  </users>
  <resources>
    <!-- Database * use a * as database name -->
    <resource  allow="create,read,update,delete,execute" name="database.*.*"/>
  </resources>
</security>

配置完成后,重新启动数据库并登录。现在应该能够看到网站认证对话框。

五、总结

通过本文的阐述,我们可以看到OrientDB作为一款新兴的多模型数据库,具有重要的优点和一些缺点。我们了解了OrientDB企业版的增强功能,数据库缺点和集群搭建以及webUI的选择和网站认证。对于需要在大型分布式环境中处理大型数据集的组织和企业来说,OrientDB可以是一个非常有用的选择。