NoSQL: 如何在 Ubuntu 16.04 上安裝 OrientDB
說明 - 非關係型資料庫(NoSQL)和 OrientDB
通常在我們提及資料庫的時候,想到的是兩個主要的分類:使用用於用戶和應用程序之間進行對接的一種被稱為結構化查詢語言(Structured Query Language ,縮寫 SQL)的關係型資料庫管理系統(Relational Data base Management System,縮寫 RDBMS) 以及非關係型資料庫管理系統(non-relational database management systems 或稱 NoSQL 資料庫)。
這兩種模型在如何處理(存儲)數據的方面存在著巨大的差異。
關係資料庫管理系統
在關係模型中(如 MySQL,或者其分支 MariaDB),一個資料庫是一個表的集合,其中每個表包含一個或多個以列組織的數據分類。資料庫的每行包含一個唯一的數據實例,其分類由列定義。
舉個例子,想像一個包含客戶的表。每一行相當於一個客戶,而其中的每一列分別對應名字、地址以及其他所必須的信息。
而另一個表可能是包含訂單、產品、客戶、日期以及其它的種種。而這個資料庫的使用者則可以獲得一個滿足其需要的視圖,例如一個客戶在一個特定的價格範圍購買產品的報告。
非關係型資料庫管理系統
在非關係型資料庫(或稱為 不僅僅是資料庫 )管理系統中,資料庫被設計為使用不同的方式存儲數據,比如文檔存儲、鍵值對存儲、圖形關係存儲以及其他方式存儲。使用此種形式實現的資料庫系統專門被用於大型資料庫集群和大型 Web 應用。現今,非關係型資料庫被用於某些大公司,如谷歌和亞馬遜。
文檔存儲資料庫
文檔存儲資料庫是將數據用文檔的形式存儲。這種類型的運用通常表現為 JavaScript 和 JSON,實際上,XML 和其他形式的存儲也是可以被採用的。這裡的一個例子就是 MongoDB。
鍵值對存儲資料庫
這是一個由唯一的 鍵 配對一個 值 的簡單模型。這個系統在高速緩存方面具有高性能和高度可擴展性。這裡的例子包括 BerkeleyDB 和 MemacacheDB。
圖形關係資料庫
正如其名,這種資料庫通過使用 圖 模型存儲數據,這意味著數據通過節點和節點之間的互連進行組織。這是一個可以隨著時間的推移和使用而發展的靈活模型。這個系統應用於那些強調映射關係的地方。這裡的例子有 IBM Graphs、Neo4j 以及 OrientDB。
OrientDB
OrientDB 是一個多模式的非關係型資料庫管理系統。正如開發它的公司所說的「它是一個將圖形關係與文檔、鍵值對、反應性、面向對象和地理空間模型結合在一起的可擴展的、高性能的資料庫」。
OrientDB 還支持 SQL ,經過擴展可以用來操作樹和圖。
目標
這個教程旨在教會大家如何在運行 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
這裡下載的是一個包含預編譯二進位文件的壓縮包,所以我們可以使用 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 伺服器,安裝程序還會顯示一些提示信息,以及提醒你設置 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]
從現在開始,我們需要用第二個終端來與 OrientDB 伺服器進行交互。
若要強制停止 OrientDB 執行 Ctrl+C
即可。
配置守護進程
此時,我們可以認為 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
下載系統守護進程服務
OrientDB 的壓縮包包含一個服務文件 /opt/orientdb/bin/orientdb.service
。我們將其複製到 /etc/systemd/system
文件夾下:
# cp /opt/orientdb/bin/orientdb.service /etc/systemd/system
編輯該服務文件:
# $EDITOR /etc/systemd/system/orientdb.service
其中 [service]
內容塊看起來應該是這樣的:
[Service]
User=ORIENTDB_USER
Group=ORIENTDB_GROUP
ExecStart=$ORIENTDB_HOME/bin/server.sh
將其改成如下樣式:
[Service]
User=orientdb
Group=orientdb
ExecStart=/opt/orientdb/bin/server.sh
保存並退出。
重新載入系統守護進程:
# 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) ...
流程就是這樣了!OrientDB 社區版成功安裝並且正確運行在我們的伺服器上了。
總結
在這個指導中,我們看到了一些關係型資料庫管理系統(RDBMS)以及非關係型資料庫管理系統(NoSQL DBMS)的簡單對照。我們也安裝 OrientDB 社區版的伺服器端並完成了其基礎的配置。
這是我們部署完全的 OrientDB 基礎設施的第一步,也是我們用於管理大型系統數據的起步。
via: https://www.unixmen.com/nosql-install-orientdb-ubuntu-16-04/
作者:Giuseppe Molica 譯者:a972667237 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive