データベースは必要? データの持ち方を整理して、記事を1本1ファイルにした【96NEKO LAB開発記録 #19】
- #Claude Code
- #AI活用
- #サイト設計
- #記事管理
はじめに
AIニュース、朝の株チェック、ポケカの価格、SNS の投稿案……。作るものが増えるにつれて、サイトの中で扱う情報も増えてきました。
ふと、自分でも全体像が分からなくなっていることに気づきました。
「どんな情報がいつ取得されて、どこに保存されて、いつサイトに反映されて、いつ削除されるのかを整理したい」
情報の流れを一覧にしてもらった
Claude Code にサイトのファイルを読んでもらい、情報ごとに「いつ取る・どこから・どこに置く・いつ出る・いつ消える」を表にまとめてもらいました。
整理すると、大きく4種類に分かれました。
- 自動で取って保存するもの(AIニュース、朝の株チェック)
- 手で書いて保存するもの(記事、お知らせ、ポケカのカード一覧)
- 保存せずに、その場で取るもの(ポケカの販売価格、note の新着)
- サイトの外に置かれるもの(訪問者のブラウザに残るゲームの記録、アクセス解析、お問い合わせ)
ポケカの販売価格を保存していないのは、楽天の規約で、取得したデータの保存が原則禁止されているためです。
決めていなかったことが見つかった
一覧にしたことで、「消すタイミングを決めていない」ものがいくつか見つかりました。
- 株チェックの控えのファイルが、毎日1つずつたまり続けている
- お問い合わせの内容を、いつまで残すか決めていない
- これから載せるショップの買取価格に、「いつの価格か」を示すルールがない
どれもすぐに困るものではありません。ただ、気づかないまま放っておくと、あとで面倒になる種類のものです。
データベースは必要?
ここで、ずっと気になっていたことを聞いてみました。
「データベースや JSON で残したほうがいいのか、サイトに直接書いている状態で問題ないのか、判断ができない」
答えは「今の規模なら、データベースはまだ要らない」でした。
データベースが必要になるのは、たとえば訪問者が書き込んだ内容を他の人と共有するときや、サイトを作り直すよりも速いペースでデータを更新したいときです。今のサイトは、データを書くのが自分と AI だけで、更新のたびにサイトを作り直す仕組みなので、どちらにも当てはまりません。
ファイルで持っておけば、変更の履歴が残り、お金もかからず、壊れにくいという利点もあります。
記事を1本1ファイルに移した
ただし、記事の置き方だけは直したほうがいい、という指摘がありました。
これまで記事は、全部を1つのプログラムのファイルにまとめて書いていました。1,500行を超えていて、カッコを1つ書き間違えるだけでサイト全体の作り直しが失敗します。AI が記事を足すたびに読み込む量も増えていきます。
そこで、記事を1本ずつのファイルに分け、見出しや箇条書きを記号で書く形式(Markdown)にしました。人が読んでも、そのまま文章として読める形です。
1つの大きなファイルに全記事
↓
記事ごとに1ファイル(冒頭にジャンル・タグ・公開日、その下に本文)移し替えで心配だったのは、記事の中身が変わってしまうことです。そこで、19本すべてについて、移す前と後でデータが完全に一致するかを機械的に比べてもらいました。
さらに、記事ページの文章を本番のサイトと1本ずつ比べてもらい、違いがないことも確かめています。
やってみて感じたこと
「データベースを使ったほうがちゃんとしている」という思い込みがありましたが、必要になる場面を具体的に聞くと、今は要らないことがはっきりしました。
逆に、記事のファイルのように、今のうちに直しておかないとあとで困るものも見えました。全体を一覧にしてから判断する、という順番がよかったと思います。
次回は、この記事のファイルの形を使って作った、広告とアフィリエイトの出し分けの話です。