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可以是一个非常有用的选择。

原创文章,作者:EMBL,如若转载,请注明出处:https://www.506064.com/n/142341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
EMBLEMBL
上一篇 2024-10-11 11:41
下一篇 2024-10-11 11:41

相关推荐

  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Java BigDecimal 精度详解

    一、基础概念 Java BigDecimal 是一个用于高精度计算的类。普通的 double 或 float 类型只能精确表示有限的数字,而对于需要高精度计算的场景,BigDeci…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • Python安装OS库详解

    一、OS简介 OS库是Python标准库的一部分,它提供了跨平台的操作系统功能,使得Python可以进行文件操作、进程管理、环境变量读取等系统级操作。 OS库中包含了大量的文件和目…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • C语言贪吃蛇详解

    一、数据结构和算法 C语言贪吃蛇主要运用了以下数据结构和算法: 1. 链表 typedef struct body { int x; int y; struct body *nex…

    编程 2025-04-25

发表回复

登录后才能评论