你應(yīng)該知道的主流開源數(shù)據(jù)庫
在軟件系統(tǒng)中,數(shù)據(jù)被格式化地組織和存儲,通過數(shù)據(jù)庫可以以電子方式訪問它們。因為數(shù)據(jù)已經(jīng)成為一種非常重要的資產(chǎn),對我們來說,掌握當(dāng)今使用的各種數(shù)據(jù)庫的基本知識是非常重要的。
我們要看的第一個數(shù)據(jù)庫是 MySQL。
MySQL
MySQL 是使用最廣泛的開源數(shù)據(jù)庫管理系統(tǒng)之一。它由甲骨文公司Oracle Corporation所有。它可以在大多數(shù)主流操作系統(tǒng)上運行,如 Windows、MacOS、Linux 等。MySQL 既適用于小型應(yīng)用,同時也能勝任大型應(yīng)用。
優(yōu)點
- 適配各種操作系統(tǒng)
- 適配多種編程語言,如 PHP、C、C++、Perl 等
- 開源、免費
- 它支持高達 8 百萬 Tb 的巨大數(shù)據(jù)量
- 可定制化
- 比其他數(shù)據(jù)庫快得多
要在基于 Ubuntu 的計算機上安裝并使用 MySQL,使用下面的命令:
$sudo apt update
$sudo apt install mysql-server
$sudo systemctl start mysql.service
MariaDB
MariaDB 是一款由 MySQL 的開發(fā)人員開發(fā)的開源關(guān)系型數(shù)據(jù)庫,因其優(yōu)秀的性能和與 MySQL 良好的兼容性而廣受歡迎。它是當(dāng)今大多數(shù)主要云產(chǎn)品的一部分,對其穩(wěn)定性和性能起到重要作用。最近通過使用 Galera Cluster 技術(shù),MariaDB 新增了集群功能。另外 MariaDB 還與 Oracle 數(shù)據(jù)庫有(一定的)兼容性。
優(yōu)點
- 安裝方便
- 支持大數(shù)據(jù)操作
- 高可擴展性
- 易于導(dǎo)入數(shù)據(jù)
要在基于 Ubuntu 的計算機上安裝并使用 MariaDB,請使用以下命令:
$sudo apt update
$sudo apt install mysql-server
$sudo systemctl start mysql.service
RethinkDB
RethinkDB 是一個開源、免費、分布式、基于文檔的 NoSQL 數(shù)據(jù)庫。它由 RethinkDB 公司開發(fā)。(LCTT 譯注:RethinkDB 公司已于 2016 年倒閉。RethinkDB 數(shù)據(jù)庫現(xiàn)作為開源項目繼續(xù)維護。消息來源)它可以存儲具有動態(tài)模式的 JSON 文件。更重要的是,它可以將查詢結(jié)果的實時更新推送給應(yīng)用程序。由于它的分布式特性,它具有高度可擴展性。RethinkDB 提供了豐富的內(nèi)置函數(shù),使其成為一個高可用性的數(shù)據(jù)庫。由于它是當(dāng)今流行的數(shù)據(jù)庫,學(xué)習(xí)如何使用它是很重要的。
優(yōu)點
- 適合于 Web 應(yīng)用
- 易于擴展
- 內(nèi)置函數(shù)多,可用性高
- 基于 JSON 動態(tài)文檔
要在基于 Ubuntu 的計算機上使用 RethinkDB,下面的命令會有幫助:
# 添加軟件倉庫源
source /etc/lsb-release && echo "deb https://download.rethinkdb.com/repository/ubuntu-$DISTRIB_CODENAME $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
# 下載并安裝 RethinkDB 的 GPG 密鑰
$wget -qO- https://download.rethinkdb.com/repository/raw/pubkey.gpg | sudo apt-key add -
$sudo apt update
$sudo apt-get install rethinkdb
$sudo systemctl start rethinkdb
OrientDB
OrientDB 是一個基于 Java 的開源 NoSQL 數(shù)據(jù)庫管理系統(tǒng)。它支持多種數(shù)據(jù)模型,比如文檔、字典、對象和圖。它以圖數(shù)據(jù)庫的形式存儲關(guān)系。下面的命令可以幫助你在 Ubuntu 機器上使用 OrientDB:
$sudo apt-get update
$wget -O orientdb-community-2.2.20.tar.gz http://orientdb.com/download.php?file=orientdb-community-2.2.20.tar.gz&os=linux
$tar -zxvf orientdb-community-2.2.20.tar.gz
$sudo mv ~/orientdb-community-2.2.20 /opt/orientdb
CouchDB
CouchDB 是用 Erlang 開發(fā)的開源 NoSQL 數(shù)據(jù)庫。它使用多種協(xié)議和格式來傳輸、處理和共享數(shù)據(jù)。它使用 JSON 格式存儲數(shù)據(jù),支持 MapReduce,并用 JavaScript 作為查詢語言。
優(yōu)點
- 可以存儲任何類型的數(shù)據(jù)
- 支持 MapReduce,可以高效地處理數(shù)據(jù)
- 整體結(jié)構(gòu)非常簡單
- 索引和檢索速度快
下面的命令可以幫助你在 Ubuntu 機器上使用 CouchDB:
$echo "deb https://apache.bintray.com/couchdb-deb focal main" >> /etc/apt/sources.list
$sudo apt-get update
$sudo apt install apache2 couchdb -y
Firebird
Firebird 是一個開源關(guān)系型數(shù)據(jù)庫。它兼容所有操作系統(tǒng),如 Linux、Windows 和 MacOS。它最初是從開源數(shù)據(jù)庫 Interbase 派生而來的。
優(yōu)點
- 數(shù)據(jù)庫功能不受限制
- 非常穩(wěn)定,功能強大
- 配置和使用簡單
以下命令可以幫助你在 Ubuntu 機器上使用 Firebird:
$sudo apt-get update
$sudo apt-get install firebird2.5-superclassic
Cassandra
Cassandra 是一個 Apache 基金會旗下的 NoSQL 數(shù)據(jù)庫。它具有高度可擴展性、分布式、高性能的特點,可以很好地處理大量數(shù)據(jù)。其分布式的特性,使它沒有單點故障。
優(yōu)點
- 高性能
- 高可擴展性
- 采用點對點架構(gòu)
以下命令可以幫助你在 Ubuntu 機器上使用 Firebird:
$curl https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -
$sudo apt-get update
$sudo apt-get install cassandra
$sudo systemctl enable cassandra
$sudo systemctl start cassandra
PostgreSQL
如今,PostgreSQL 是最流行的開源關(guān)系數(shù)據(jù)庫管理系統(tǒng)之一。它易于擴展,同時還與 SQL 兼容。這個數(shù)據(jù)庫管理系統(tǒng)經(jīng)過了 30 多年的積極開發(fā)。
優(yōu)點
- 與 MySQL 相比,Postgres 可以存儲更多種類的數(shù)據(jù)
- 支持幾乎所有的 SQL 特性
- 高度可擴展
下面的命令可以幫助你在 Ubuntu 機器上使用 PostgreSQL:
$sudo apt-get update
$sudo apt apt install postgresql postgresql-contrib
CockroachDB
CockroachDB 是一個為可靠性而生的數(shù)據(jù)庫。它可以像蟑螂cockroach一樣在災(zāi)難性的情況下頑強生存、蓬勃發(fā)展。它可以處理大量的數(shù)據(jù)。還可以構(gòu)建多集群數(shù)據(jù)庫。
優(yōu)點
- 很容易部署
- 高一致性
- 分布式事務(wù)
- 高可用性
- 兼容 SQL
Redis
Redis 是一個基于鍵值的開源 NoSQL 數(shù)據(jù)存儲數(shù)據(jù)庫。它支持各種類型的鍵,使用非常方便。
結(jié)語
我們已經(jīng)瀏覽了最知名和最流行的開源數(shù)據(jù)庫管理系統(tǒng)。了解這些不同的數(shù)據(jù)庫非常有趣。嘗試不同的選擇,發(fā)現(xiàn)最適合你需求的數(shù)據(jù)庫。另外,一定要查看這些數(shù)據(jù)庫的官方文檔。