如何在Ubuntu 16.04上安装OrientDB及基本配置

Hashxu 2017-07-15

简介 - NoSQL和OrientDB

在讨论数据库时,一般来说,我们提到两个主要的系列:RDBMS(关系数据库管理系统),它们用作用户和应用程序接口一种名为结构化查询语言(或SQL)和非关系数据库管理系统的语言,比如 NoSQL数据库。

在两个模型之间,存储数据的方式有很大的差异。

关系数据库管理系统

在关系模型(如MySQL或其分支MariaDB)中,数据库是一组表,每个表包含一个或多个以列组织的数据类别。 数据库的每一行都包含由列定义的类别的唯一数据实例。

举个例子,考虑一个包含客户的表。 每行对应于一个客户,其中列有名称,地址和每个必需的信息。
另一张表可能包含订单,包括产品,客户,日期和其他一切。 该DB的用户可以获得符合其需求的视图,例如关于以特定价格范围购买产品的客户的报告。

NoSQL数据库管理系统

在NoSQL(或不仅仅是SQL)数据库管理系统中,数据库被设计为数据实现不同的“格式”,如文档,键值,图形等。 使用此范例实现的数据库系统专门用于大型数据库集群和巨大的Web应用程序。 今天,NoSQL数据库被像Google和Amazon这样的主要公司使用。

文档数据库

文档数据库以文档格式存储数据。 这种数据库的使用通常是用JavaScript和JSON引用的,但是接受XML和其他格式。 一个例子是MongoDB。

键值数据库

这是一个简单的模型,将唯一键与值配对。 这些系统具有高性能和高度可扩展性用于缓存。 示例包括BerkeleyDB和MemcacheDB。

图数据库

如名称预测,这些数据库使用图形模型存储数据,这意味着数据被组织为节点和它们之间的互连。 这是一个灵活的模式,可以随着时间的推移和使用而发展。 这些系统应用于需要映射关系的地方。
示例是IBM Graphs和Neo4j和OrientDB。

OrientDB

OrientDB,正如其背后的公司所指出的那样,是一个多模式的NoSQL数据库管理系统,它将图形的功能与文档,关键/价值,反应性,面向对象和地理空间模型结合成一个可扩展的高性能操作数据库

OrientDB has also support for SQL, with extensions to manipulate trees and graphs.

OrientDB还支持SQL,通过扩展来操纵trees 和 graphs。

目标

本教程介绍如何在运行Ubuntu 16.04服务器上安装和配置OrientDB社区版。

现在 OrientDB

在最新的服务器上,通过执行以下命令下载最新版本的OrientDB:

$ wget -O orientdb-community-2.2.22.tar.gz http://orientdb.com/download.php?file=orientdb-community-2.2.22.tar.gz&os=linux

这是一个包含预先编译的二进制文件的tarball,因此用tar提取归档文件:

$ tar -zxf orientdb-community-2.2.22.tar.gz

 将提取的目录移动到/opt:

# mv orientdb-community-2.2.22 /opt/orientdb

启动OrientDB服务器

启动OrientDB服务器需要执行orientdb/bin/中包含的shell脚本:

# /opt/orientdb/bin/server.sh

在第一次启动时,此安装程序将显示一些信息,并将要求提供一个OrientDB root密码:

+---------------------------------------------------------------+
| WARNING: FIRST RUN CONFIGURATION |
+---------------------------------------------------------------+
| This is the first time the server is running. Please type a |
| password of your choice for the 'root' user or leave it blank |
| to auto-generate it. |
| |
| To avoid this message set the environment variable or JVM |
| setting ORIENTDB_ROOT_PASSWORD to the root password to use. |
+---------------------------------------------------------------+

Root password [BLANK=auto generate it]: ********
Please confirm the root password: ********

之后,OrientDB服务器将启动:

INFO OrientDB Server is active v2.2.22 (build fb2b7d321ea8a5a5b18a82237049804aace9e3de). [OServer]

From now on, we will need a second terminal to interact with the OrientDB server.

按Ctrl + C停止OrientDB。

配置守护进程

我们需要修改OrientDB shell脚本。 使用文本编辑器,打开/opt/orientdb/bin/orientdb.sh:

# $EDITOR /opt/orientdb/bin/orientdb.sh

在第一行,我们将看到:

#!/bin/sh
# OrientDB service script
#
# Copyright (c) OrientDB LTD (http://orientdb.com/)

# chkconfig: 2345 20 80
# description: OrientDb init script
# processname: orientdb.sh

# You have to SET the OrientDB installation directory here
ORIENTDB_DIR="YOUR_ORIENTDB_INSTALLATION_PATH"
ORIENTDB_USER="USER_YOU_WANT_ORIENTDB_RUN_WITH"

配置ORIENTDB_DIR和ORIENTDB_USER。

通过执行以下命令创建一个用户,例如orientdb:

# useradd -r orientdb -s /sbin/nologin

orientdb是我们在ORIENTDB_USER行中输入的用户。

更改 /opt/orientdb的所有权:

# chown -R orientdb:orientdb /opt/orientdb

更改配置服务器文件的权限:

# chmod 640 /opt/orientdb/config/orientdb-server-config.xml

安装Systemd服务

OrientDB tarball包含一个服务文件/opt/orientdb/bin/orientdb.service。 使用以下命令将其复制到 /etc/systemd/system目录中:

# cp /opt/orientdb/bin/orientdb.service /etc/systemd/system

编辑OrientDB服务文件:

# $EDITOR /etc/systemd/system/orientdb.service

There, the [service] block should look like this:

现在修改用户,组和 ExecStart下变量服务来完成匹配安装。ExecStart 指定脚本的路径如下:

[Service]
User=ORIENTDB_USER
Group=ORIENTDB_GROUP
ExecStart=$ORIENTDB_HOME/bin/server.sh

编辑如下:

[Service]
User=orientdb 
Group=orientdb 
ExecStart=/opt/orientdb/bin/server.sh

保存并退出。

重新加载systemd守护进程服务:

# systemctl daemon-reload

启动OrientDB并确保它在启动时启动。:

# systemctl start orientdb
# systemctl enable orientdb

检查OrientDB状态:

# systemctl status orientdb

该命令应输出如下内容:

● orientdb.service - OrientDB Server
 Loaded: loaded (/etc/systemd/system/orientdb.service; disabled; vendor preset: enabled)
 Active: active (running) ...

OK,就这样! OrientDB社区版已安装并正确运行。

总结

在本教程中,我们看到了RDBMS和NoSQL DBMS的简单比较。 我们还安装并完成了OrientDB社区服务器端的基本配置。

这是部署完整的OrientDB基础架构的第一步,可以管理大型系统数据。

OrientDB 的详细介绍:请点这里
OrientDB 的下载地址:请点这里