99円でWordPress!

このサイトはWordPress(SQLite)+ロリポエコノミープランで動いています

WordPress によるSQLite公式サポートについて

Image Credits: Fikret Tozak / Unsplash
Image Credits: Fikret Tozak / Unsplash

SQLiteを使ってみたくなったきっかけ

このブログを書く直接のきっかけになったのは、WordPressが公式でSQLiteをサポートするという2022年9月のこのニュースです。

ブログシステム「WordPress」が「SQLite」の正式サポートを模索

ブログシステム「WordPress」の開発チームは9月12日(日本時間)、「WordPress」で「SQLite」を正式にサポートする計画を発表した。すでに実績のある実装の1つをコアに取り込むことが検討されている。

2022年9月14日 06:45 窓の杜

私は普段、個人的なメモ書き用途のCMSとして、WordPressを使っているのですが、自分しか使わないようなものは、MySQL等も不要な、手軽なものが良いと感じていましたので、このニュースにワクワクしました。

そしていろいろ記事を読むと、既にドロップインという手法で実現できることも分かりました。今回はこのニュースを詳しくチェックしてみたいと思います。

「Let’s make WordPress officially support SQLite」(WordPress を公式で SQLite に対応させましょう)

上記ニュースのさらに元となったWordPress.orgの公式ブログ「Let’s make WordPress officially support SQLite」(WordPress を公式で SQLite に対応させましょう)を細かく読んでみることにしました。

作者のAri Stathopoulosさんは Yoast というSEO関連のプラグインを開発する会社の技術者で、WordPressコアコントリビューターの一人のようです。

内容は技術的なものだけでなく、「必要性」「なぜこれがプラグインではなくコアに組み込む必要があるのか」「SQLiteの利点は何か」「理想的なシナリオと折衷案」「次に何をすべきか」といったもので、歴史的な流れや市場のニーズも踏まえた綿密な内容となっており、感心しました

WordPressの利用例

WordPressは全世界のウェブサイトの43%を占めており、その使い方は多岐にわたります。このブログではその使用例として以下の6つを挙げています。

  1. シングルページのランディング サイト
  2. 数ページしかないシンプルな企業サイト。これらのサイトは通常、めったに更新されず、基本的に管理的な側面を持つ静的なサイトです。
  3. シンプルなシングルユーザーブログ
  4. 複雑なニュース サイト
  5. 電子商取引サイト
  6. 本格的なCMSソリューション

軽いものから順番に、最後が最も重く複雑なサイトとしてソートされています。WordPressが成功したのは、軽いものから複雑で大規模なものまで、どんなサイトでも対応できる柔軟性や拡張性があったと作者は分析しています。

ただ、軽いものであっても、MySQL /MariaDB のインストールが必要であることに疑問を投げかけます。

ブログ、企業ページ、数千のユーザーや投稿数がないサイトなど、小規模で単純なサイトは多数あります。これらの Web サイトは、必ずしも MySQL/MariaDB のような複雑なものを必要とするわけではありません。

(ウェブサーバーに加え)専用の MySQL サーバーが必要なため、ホスティング コストが増加し、インストールが複雑になります。ローエンドサーバーでは、同じ「ボックス」がPHPサーバーと MySQL/MariaDB サーバーの両方に対応する必要があるため、パフォーマンスも低下します。

一言で言えば、「軽いサイトにMySQL要らないし、その方が良いんじゃないの?」といったところでしょう。

理想的なシナリオと折衷案

Ari Stathopoulosさんによれば、理想はインストール時にデータベースの種類を選択できるようにすることで、いろいろなデータベースに対応させることだとしています。ただ、現状では作業が膨大になり、難しいため、折衷案として、まずはSQLiteに取り組むべき、としています。

小規模なサイトには完璧にフィットするSQLite

筆者は「小規模なサイトにはSQLiteが完璧にフィットする」と伝えています。その理由が以下となります。

  • 世界中で最も広く使用されているデータベースである
  • クロスプラットフォームで、どのデバイスでも実行できる
  • これは、(明示的に無効にしない限り) すべての PHP インストールにデフォルトで含まれている。
  • よってWordPress を動かすサーバーの最小要件は、データベース サーバーを別に必要としない、単純な PHP サーバーにできる。
  • SQLite のサポートにより、ローエンド サーバーのホスティング コストの削減、エネルギー消費の削減、パフォーマンス コストの削減が可能になる。

個人的にはこの最後の部分に惹かれ、このブログを書き始めました。WordPressを作成するには、そこそこの(と言ってもロリポップであれば月額220円程度ではありますが)コストがかかると思っていたものが、実は半額以下で出来るんだ、という気付きが得られました。

WordPressのSQLite化は既に簡単に実現が可能

Ari Stathopoulosさんはさらに以下の通り続けます。

WordPress で SQLite を使用するのは簡単です。8 年以上存在し、進化し続けている実装があります。これらは徹底的にテストされ、シームレスに動作することが証明されています。wp-content/db.phpこれらの実装は、ユーザーがインストールに追加できるドロップイン ファイルです。使い方は難しくありません。

これが、当サイト「99円でWordPress!」でも紹介しているものです。初心者の私でもすぐにできました。サーバーへのアップロード時間を除けば、数分で実現できる作業です。

公式によるサポートは2023年中?

この筆者の投稿から遡ること3か月、2022年6月には、WordPressの創始者であるMattがSQLiteの導入について意欲的な発言をしており、公式としての大きなモチベーションになっているとも思われます。

WordPress.orgによる公式コミュニティでは、SQLiteをコア、つまりドロップインやプラグイン無しで動かせるようにすることを目指しています。

この筆者は既にプラグインとしてリリースをしており、使える状態になっているようです。説明書きには上記の通りコアに取り込むことを目指すと記載されていますが、まだそこにはいつ頃公式が入れるか、といった言及はありませんでした。

さらに、公式では サイトのパフォーマンスの向上に焦点を当てたモジュールのβ版コレクション「Performance Lab プラグイン」にも同じくSQLite Integrationが同梱されており、こちらでも準備が進んでいます。

WordPressサイト内にある「Roadmap 2023」にはSQLiteの統合に関する言及があり、優先事項であるとも明記されていますので、2023年中の導入は十分期待できます。

まとめ

ここまで、WordPress によるSQLite公式サポートについて細かく見てみましたが、いかがでしたでしょうか?当サイト「99円でWordPress!」同様、ぜひ気軽に試してみると面白いと思います。


投稿日

カテゴリー:

投稿者:

タグ: