こんにちは、「ドンピシャ印刷」開発チームです。 日本郵便の最新データ12万件をどう活用するかについてお話しした前回に続き、今回はその膨大なデータを支える「舞台裏の仕組み」についてご紹介します。

「ドンピシャ印刷」がインフラ選定にこだわる理由

私たちのサービスのモットーは、個人事業主や小規模事業者の皆様が気軽に使える「低価格・高精度」なツールであることです。 そのためには、開発者である私が「どれだけサーバー代を抑えられるか」が勝負になります。高額な月額固定費がかかるシステムを採用してしまえば、お客様に安価なバウチャーを提供することはできません。インフラ選定は、単なる技術の問題ではなく、サービスの存続に関わる経営判断なのです。

Cloud Firestoreを採用した「圧倒的なメリット」

そこで私たちが白羽の矢を立てたのが、Google CloudのCloud Firestoreです。最大の理由は、その料金体系にあります。

  • 読み書きした分だけの「従量課金」: 従来のデータベースのように「動かしているだけで毎月数千円」といった固定費が発生しません。
  • 無料枠の広さ: 1日の読み取り数に一定の無料枠があるため、アクセスが少ない初期段階では、データベース費用を実質「0円」に抑えることが可能です。

この「使った分だけ」というシステムこそが、ドンピシャ印刷の「使いたい時だけ買える」という利便性を支えるインフラ的な裏付けとなっています。

NoSQLならではの爆速検索とスモールスタートへの適合性

Firestoreは「NoSQL」と呼ばれるタイプのデータベースです。12万件のデータの中から特定の郵便番号を見つけ出すスピードは驚くほど速く、ユーザーが番号を打ち込んだ瞬間に住所を返すレスポンスを実現できます 。 また、後からデータ構造を柔軟に変えられるため、新しい帳票への対応や機能追加をスピーディーに行いたい「小さなDX」の思想にまさにうってつけのシステムでした。

直面した「500件ずつの壁」

しかし、どんなに優れたシステムにも制約はあります。Firestoreで大量のデータを一度に登録しようとすると、「1回のリクエスト(Batch Write)で書き込めるのは最大500件まで」という制限が立ちはだかります。 500件を超えて一度に書き込もうとすると、エラーが発生してすべての処理が失敗してしまいます。12万件の住所を登録するには、この「500件の壁」を何度も何度も、正確に超えていかなければならないのです。

まずは無料で「ドンピシャ」精度を体験!

コストは抑えられた。しかし……

データベースの選定により、運用のコストパフォーマンスは最高のものになりました。 しかし、最後の難関は「この12万件のデータを、どうやって一度も失敗せずに登録しきるか」でした。 そこには、Google Cloudの実行制限時間、いわゆる「タイムアウト」との壮絶な闘いが待っていたのです……。その驚きの解決策については、次回の完結編でお話しします! お楽しみに。