Nextjs+Vercelで個人的にWebサービスを開発しております。
イメージとしてはポケモン図鑑のようなデータカタログツールです。
データ件数が多く、今後もサイズが増える可能性のある性質のデータの扱い方に悩んでおります。
検索やデータ自体の更新の要件はなく、ただ表示用として利用するものです。
表示するデータは内容の更新頻度自体は低いため、現在はビルド時にスプレッドシートからデータを読み込み、jsonファイルとして生成したものをgetStaticPropsでシンプルにフロント側へ流す形を取っています。
TypeScript
1const Top: NextPage = (props) => { 2 const { data } = props; 3 return ( 4 <> 5 <div> 6 // データの表示処理 7 </div> 8 </> 9 ); 10}; 11 12export const getStaticProps: GetStaticProps = () => { 13 const jsonData = getData('./generated/hoge.json'); 14 return { 15 props: { 16 data: jsonData, 17 }, 18 }; 19};
質問したいこと
ただこのjsonファイルのサイズは現在500kbほど(データ件数として1000件以上)あり、
今後も件数は増える可能性があるものです。
データの更新頻度が低いこと、事前にビルドしたものを配信するだけなので高速である、という点を理由にSSGで流す方法を取っていますが、こういった、いわゆるマスタデータをSSGでフロントへ流すのは一般的に正しい手法なのでしょうか?
データ件数が少ないのであれば特に意識しなくても良さそうと感じでいますが、
今後データ件数が増えファイルの容量が増えることの懸念があるので、予め別の手法を取っておいた方が良いと思っています。
この手のデータを扱う場合、一般的にどのような方法を採用することが多いのでしょうか?
PrismaなどのORM利用を視野にいれるべきなのでしょうか。
よろしくお願いいたします。
あなたの回答
tips
プレビュー