午前4時、ひっそりとした時間にはじめること

2025年05月30日

私のRyzenマシンの空調ファンがうねりをあげている。空冷式であり、かつでかいファンが4つもついている。CPU温度が50度近くを保っているので、冷却効果がなければもっと高いのであろう。いつからかCPUはコア数をあげることであげるようになってきた。さらにCPUだけでなく、グラフィックを担うGPUの高性能化、高速化がゲームや映像を中心とした世界を牽引している。

ゴールデンウイーク中からはじめた法人データ550万件に対しての緯度経度付与のバッチは、いよいよ西へ。いま広島県を処理しています。

膨大な量のデータに対して、処理を行うためには、いくつか考えなければならないことがある。

まず、1度に取り扱う処理対象件数。まさか550万件のループとかできるメモリ量があるマシンで処理できればそれでもよいが、処理始まるまでにどんだけ無駄時間かかるのか。現実的には、サーバ側で処理する場合のメモリ量をどれだけ確保して実行するのかというところでもある。

今どきは自分のマシンは64GBメモリであるが、この処理を行うサーバ側のメモリは4GBです。

そのうえ、PHP+Laravelのバッチとしてつくられていて、制限として512MBというリミッターをつけてあったので、このバッチをを実行する時には、オプションでより大きなメモリ量をプロセスが使いますよと要求するようにしている。そのサイズは3倍の1.5GB。

対象を抽出して処理をするときには、すでに処理したものは対象外にしたうえで、1度の処理件数は10万件としている。さらにそれをチャンクで分割している。

オプションで、都道府県も指定できるようになっているので、バッチが終了したときには、次の実行は、その終了している都道府県を再度実行することで、開始までの時間短縮を見込んでいる。また、これはその都道府県の処理残りがないことも判定できる。

緯度経度がふられていないものを対象に処理するので、あたまから再度やると、毎回ふられていない法人に対して、緯度経度が取得できないとなる。ここは、処理しないようにというTODO。

これとは、別に、鉄道路線の駅に対しての都道府県判定と緯度経度をふるというバッチも動いている。この話は、また別な機会に。

なんなんだ。バッチ屋か。

最新のお知らせ

thumb
2026年4月10日
【概念解説】マッチングアプリの魔法を解き明かす:一方向型マッチングの共通構造

1. はじめに:見かけは違えど、心臓は同じ 世の中には、新し...

No Image
2026年4月9日
心を揺さぶる名曲の正体:初心者のための作曲技法入門ガイド

1. はじめに:なぜ「あの曲」は心地よいのか? サザンオ...

thumb
2026年4月5日
見積もり:Laravel構造化見積もりエンジンの開発と要件

Estimates: Laravel Structured Estimating Engine Development...

thumb
2026年4月2日
MDXレンダリング最適化および高機能コンポーネント実装要件定義書

1. プロジェクトの背景と戦略的意義 モダンなWebフロントエ...

No Image
2026年4月2日
Next.js App Router × MDX 導入・完全ワークフロー

Next.js エバンジェリストの視点から、MDXをプロジェクトに...

thumb
2026年4月2日
【新常識】MarkdownとReactが融合する「MDX」の世界:記事の中でアプリが動く魔法

1. はじめに:なぜ今、MDXが必要なのか? プログラミン...

thumb
2026年4月1日
多拠点展開の「正解」がここにある。次世代ポータル基盤『Plus1 Community』から学ぶ5つの設計思想

1. イントロダクション:多拠点管理の「カオス」を解き明か...

thumb
2026年3月31日
アイプラスワンのホームページトップに、ECサイト基盤とコミュニケーションサイト基盤をのせたい

いいですね、その方向はかなり“刺さる”構成になります。今やる...

thumb
2026年3月30日
WindowsでのDocker開発を劇的に変える、5つの「戦略的」最適化術と真実

WindowsプラットフォームにおけるDocker開発の歴史は、仮想化技...

thumb
2026年3月29日
1つの方程式で、あらゆる「つながり」を。マッチング基盤設計に学ぶ、究極の再利用戦略

1. イントロダクション:マッチングサイト乱立時代の「車輪...