CentOS8にRedisをインストールする

RedisはKey-Value型のデータベースです。

Key-Value型はその名の通りKey(検索するのに使う情報)とValue(実際に必要な情報の中身)で構成されます。

KeyとValueは1対1ですが、実際にはValueに区切り文字を使って、複数の情報を格納したりします。

以下はKey-Value型のデータベースに天気を格納した例です。

9/20晴れ; 32℃; 24℃; 20%
9/21曇り; 30℃; 23℃; 40%
9/22雨; 28℃; 23℃; 80%
Key-Value型のValueには区切り文字で複数の情報が格納できる

この場合、ソフトウェアでKeyである日付を指定すると、Valueにある「;」で区切られた4つの情報「天気」「最高気温」「最低気温」「降水確率」を得ることが出来ます。

あとは、ソフトウェアの側で「;」で分解した情報を利用するという案配です。

なお、Key-Value型のデータベースではValueの値を検索するのは苦手です。上記の例では「最高気温が30℃以上の日」といった検索はかなり難しいです。

前回インストールしたMariaDBのようなリレーショナルデータベースであれば「日付」「天気」「最高気温」「最低気温」「降水確率」と5列作ればそれぞれで条件を付けて検索出来て便利なのに、なぜわざわざKey-Value型のデータベースを使うのでしょうか。

これはKey-Value型の構造が単純で高速化させやすいからです。

また、Redisも含めたKey-Value型のデータベースの多くはディスクドライブ(HDDやSSD)ではなく、メモリ上にデータを保持しているので、なお早いです。

実際に天気のデータを高速に書き換えたり読み出す必要はあまりないでしょうから天気のデータをKey-Value型にする意義は薄いです。

目まぐるしく書き換える必要のある情報、例えば3Dゲームでのキャラクターの座標を扱ったりする際には使えそうですね。

実際にはWebサービスでのキャッシュ(一度読み込まれた情報を高速に呼び出すために保持しておくもの)として使われる事が多く、PHPを使ったサービスの高速化でよく使われます。勿論、Wordpressも例外ではありません。

ちなみに、Key-Value型データベースのようなリレーショナルデータベース以外のデータベースをまとめてNoSQLと言います。SQLではないということです。どれだけデータベースと言えばリレーショナルデータベースとSQLというのが浸透しているかが表れていますね。

この記事で行うこと

  1. Redisのインストール
  2. 基本的な設定
続きを読む CentOS8にRedisをインストールする

CentOS8にMariaDBをインストールする – ユーザ・データベースの作成

前回はMariaDBのインストールを行いました。

しかし、実際にアプリケーションでMariaDBを使うためにはユーザとデータベースをそれぞれ作る必要があります。

MariaDBには最初からrootというユーザが存在するので、rootを使わせる方法もあります。

しかし、rootはMariaDBの全権を持つユーザです。(CentOS8におけるrootと同じ立ち位置です)

万一、このユーザが乗っ取られでもしたらMariaDBを使う全てのアプリケーションがめちゃくちゃになります。

また、仮に全てのアプリケーションで同じデータベースを使わせると、使うテーブルの名前が被った際にこれまためちゃくちゃになります。

実際は、大抵のアプリケーションではテーブル名にプレフィックスを付けるので名前が被ることはほぼありませんが、同じデータベース内に大量のテーブルがあると管理も面倒なので、アプリケーション毎にデータベースを分けるのが普通です。

各アプリケーション用に作成したユーザに、そのアプリケーション用に作成したデータベースの権限を付けて運用を行うのが安全です。

ここではデータベースの作成・削除とユーザの作成・削除、そしてユーザへのデータベースの権限付与を行いたいと思います。

(この記事ではデータベースの中身はいじりません。もし直接データベースの中身をいじりたい場合は、SQL文について調べてみてください)

この記事で行うこと

  1. MariaDBにログインする
  2. コマンド一覧
    1. データベースの一覧確認・作成・削除
    2. ユーザの一覧確認・作成・削除
    3. ユーザへのデータベースの権限付与・権限状況確認
続きを読む CentOS8にMariaDBをインストールする – ユーザ・データベースの作成

CentOS8にMariaDBをインストールする

MariaDBはRDBMS(リレーショナルデータベースマネジメントシステム)と呼ばれるシステムです。

その名の通り、リレーショナルデータベースを管理するシステムです。

リレーショナルデータベースはExcelの表(テーブル)機能だけに特化した物と考えてください。

ネ申エクセルとかは作れないですが、Excelよりも大量のデータを格納できますし動作が速いですし、表同士の結合やVLOOKUPみたいな事が簡単に出来ます。

今のExcelの最大行数は100万行以上ありますが、RDBMSは億単位のレコード(Excelで言う行)を保持できます。

では、このRDBMSは何に使われるのかというと……大抵のシステムはRDBMSを使います。

例えば、ネットショッピングで言うと購買履歴や商品一覧、ユーザデータなどがそうでしょう。基本的に表で表せるようなデータは全部RDBMSが使われていると考えて差し支えありません。

また、WordPressの記事やコメントもRDBMSで管理されています。たとえば記事だと、日付、記事名、公開範囲だけでなく、記事そのものすらRDBMSに格納されています。

MariaDBを利用する主なアプリケーション

  • Owncloud / Nextcloud
  • WordPress

この記事で行うこと

  1. MariaDBのインストール
  2. MariaDBの起動・自動起動設定
  3. MariaDBの初期設定の実行
続きを読む CentOS8にMariaDBをインストールする