サービス障害のご報告 (2021年2月20日)

平素よりケンオールをご利用いただきまして誠にありがとうございます。

日本時間の2021年2月20日0時ごろよりサービス運営に利用しているパブリッククラウドにて障害が発生しており、1時ごろには全く接続ができない状況となりましたが、2時13分ごろに復旧いたしました。この度は大変ご迷惑をおかけし、申し訳ございませんでした。

時刻 (日本時間) 内容
2021年2月20日0時ごろ パブリッククラウドにて障害が発生
2021年2月20日1時4分 API接続が不可能となる (ダッシュボードは稼働)
2021年2月20日1時10分 障害の原因となっている箇所の復旧を試みる
2021年2月20日2時10分 復旧せず、問題箇所をバイパスするようDNSの設定を変更
2021年2月20日2時13分 APIサービス復旧
2021年2月20日6時ごろ 障害原因箇所が復旧
2021年2月20日9時ごろ 手動にて暫定的な変更の切り戻しを行う

現在ご提供中のスタンダードプランではSLAは設けておりませんが、今後も高い品質でのご提供を目指してシステムや体制を改善していく予定ですのでご期待ください。

ケンオール通信第1号

2/8にケンオールをリリースしてから一週間が過ぎました。たくさんの方のご登録、ありがとうございます!

我々の想像を遥かに超えた反響の大きさに驚いています。

中には、早くもケンオールを活用するためのツールを開発してくれた方もいらっしゃいました。

次に、いただいたコメントから、いくつかピックアップして解説したいと思います。

ケンオールという名前がいい!

思った以上に名前が好評で大変嬉しいです。

対応していない住所がある

ユーザの皆様から、いくつかの住所に対応していないという報告をいただきましたので、調査いたしました。

もし他にも対応していない住所を発見しましたら、お問い合わせフォームからご報告ください。

7660001 香川県仲多度郡琴平町琴平町(427番地以上、川西)

こちらの住所ですが、以下の指摘をいただきました。

  • 琴平町が二重になっているのはおかしい
  • 川西という小字は存在しない。これは単に「川の西」という意味を示しているに過ぎない

指摘と同様の内容は、 wikipediaの琴平町のページにも記載されていました。

町内には大字がある地域と無い地域が混在し、大字の無い地域では町名に続いて直接番地が来る表記となる(例えば金刀比羅宮は(琴平町)892番地1である)。大字の無い地域の郵便番号は、1~426番地(金倉川以東)が766-0002、427番地以上(金倉川以西)が766-0001となる。

元データをそのまま解析した場合、上記の結果になるのは正常な結果となります。すなわち、郵便番号データとしてはこの結果が正となります。しかし、琴平町郵便局様に電話して確認したところ、指摘内容の方が正しい住所であることがわかりました。

琴平町郵便局の方によれば、平成10年の郵便番号7桁変更の際に、もともと琴平町全体で1つの郵便番号だったものを2つに分割しなければならなくなったときの名残だろうと推測されていました。

琴平町は非常に小字の多い地域なので、2つの郵便番号の間で全ての小字を列挙するわけにいかず、しかし、当時のシステムがなぜか小字を入力することが必須だったらしく、色々苦慮した結果、「(金倉)川の西」「川の東」という仮の小字を入力したのではないか、とのことでした。

上記調査結果に基づき、今後のバージョンアップデートでは、指摘通り、「琴平町を二重出力しない」「川東、川西を出力しない」ように対応いたします。

このように、ケンオールでは、郵便番号データ上では判別できない住所については、各地の郵便局様及び自治体様に問い合わせさせていただいたり、関連書籍を調査することで、可能な限り正しい住所を返すように精度の向上に努めています。

各郵便局様、自治体様にはこの場を借りて御礼申し上げます。

4850801 愛知県小牧市大山(篠岡大山)

こちらの住所ですが、以下の指摘をいただきました。

  • 篠岡大山という小字は存在しない

実際に小牧池之内郵便局様に問い合わせさせていただいたところ、以下の回答をいただきました。

  • 小牧市には、もう一つ大山という大字が存在する。4850026 愛知県小牧市大山(小牧大山)
  • 篠岡大山、小牧大山というのは区別のために記載されているだけ

上記調査結果に基づき、今後のバージョンアップデートでは、篠岡大山、小牧大山を出力しないよう対応いたします。

7614103 香川県小豆郡土庄町甲、乙(大木戸)

こちらの住所ですが、 甲、乙 がパースされていませんでした。類似表記の 甲・乙 は対応済みだったのですが、読点区切りの表記は対応が漏れていました。今後のバージョンアップデートで対応いたします。

なお、 甲、乙 形式を使用しているのは香川県小豆郡土庄町のみで、他の自治体には存在しません。

(大木戸) の処理ですが、こちらについて土庄郵便局様に確認したところ、以下の回答をいただきました。

  • この地域において、住所は 土庄町甲XXX(番地) で送るのが通常で、大木戸などの小字は使わないし重要視していない
  • 甲、乙で住所を判断している。甲、乙が大字と考えて差し支えない

上記調査結果に基づき、 土庄町において括弧表記されている小字は出力しないように対応いたします。

0993211 北海道網走郡大空町東藻琴(北1区)

北1区 とパースされていました。今後のバージョンアップデートで修正いたします。

4411336 愛知県新城市富岡(○○屋敷)

この地域には、屋敷 大屋敷 西屋敷 中屋敷 東屋敷 などの地名があるのですが、これらをまとめてこのような表記にしています。この形式の住所表記はこの地域のみで、他の自治体には存在しません。

八名郵便局様に問い合わせしたところ、なぜこの様になっているのか全くわからないとのことでした。なお、これらの小字は飛び地になっていて、地理的にまとまっているわけではなく、なぜこのようになっているのかは不明です。

明治初期に4年だけ存在した半原藩の藩邸が大屋敷に存在していたので、おそらく屋敷というのはこの半原藩の藩邸だと思うのですが、確実なことは分かっていません。

いずれにせよ、現在の出力では 屋敷 のみを出力しているのですが、これだけを出力してもあまり価値がないと思われるので、一旦出力しないように修正いたします。

9390321 富山県射水市流通センター流通センター(青井谷1、2丁目)

青井谷1丁目のみ出力されていなかったので、今後のバージョンアップデートで修正いたします。

9480012 新潟県十日町市新座(第1、2)

とだけパースされていました。今後のバージョンアップデートで修正いたします。

サービスレベルについて

ケンオールのサービスレベルについて何件かお問い合わせをいただきました。現在のところ、ケンオールではサービルレベルの保証 (SLA) は定義しておりません。ベストエフォートでの対応となりますので、ご了承ください。

急激なアクセスが発生しないような一般的なサービスで利用する分には、特に問題なく利用できるかと思います。もし、ECサイト等でのご利用で、急激なアクセスが想定されるサービスに適用をご検討の場合には、こちらのフォームからお問い合わせください。

ケンオールについて

ケンオールは、多くの開発者にとって悩みだった郵便番号住所検索機能をメンテナンス不要で簡単に使えるようにするためのAPIサービスです。

以下のリンクからサービスを利用することができます。

kenall.jp

この記事はShodo (https://shodo.ink) で執筆されました。

郵便番号APIサービス、ケンオールをリリースしました。

f:id:moriyoshi:20210206002717j:plain Photo by Yu Kato on Unsplash

prtimes.jp

Webエンジニアの中には、郵便番号を住所に変換する機能を実装したことがある方は少なくないのではないでしょうか。

そして、実装のたびに、以下のようなことを感じた方も多くいるのではないかと思います。

  • KEN_ALL.CSVの中身を覗いて (ウッ) となった経験

    郵便番号データとしてよく利用されるのが、日本郵便の「郵便番号データダウンロード」ページよりダウンロードできる KEN_ALL.CSV ですが、このファイルがかなりの曲者で、一見CSVという形式ではあるものの、同じ郵便番号のデータが複数行に渡って収録されているなど、単純に読み込んで利用することが難しいものとなっています。また、地域によっては住所の重要な構成要素となっている部分 (例えば京都市の住所に見られる「通り名」) が、データとして独立した形で収録されておらず、「町域」の中にカッコ書きで列挙されているなど、機械的に一貫して取り扱うのが難しいデータとなっている特徴があります。

  • どの郵便番号変換ライブラリを使えばいいのか毎回調べてしまう

    GitHubなどを覗いてみても、KEN_ALL.CSVをプログラムから使いやすいように変換してオープンソースのライブラリ化したものがいくつもありますが、適切にメンテナンスされていなかったり、使っている技術が古くて自分のプロジェクトにフィットしないものもあったりするため、都度調べる必要に迫られたりします。

  • ライブラリを使い始めたがデータの更新をサボっていて、いつの間にか数年前のデータで運用されており、たまに住所が見つからないと苦情を受ける

    ライブラリの中に郵便番号データが含まれている場合、郵便番号データの更新のためにはライブラリそのものを更新する必要がありますが、そのための動作チェックなど、やることが少なくないので、ついサボってしまいがちになります。一方で、郵便番号は毎月更新されています。

上記のようなこともあり、開発者自身も (誰かがデファクトとなるサービスをリリースしてくれないかな...) などと思ってきました。しかし、自分が使いやすいと思えるサービスが現時点では見つからなかったため、きっと他の方々も同じに違いないと思い企画したのがこのケンオールというサービスです。

そうして軽い気持ちで開発作業を始めてみましたが、KEN_ALL.CSVの中身についてや住所について調べれば調べるほど、なかなかすごいところに首を突っ込んでしまったな、と思うことが多くありました。

KEN_ALL.CSVのデータをただそのまま返すだけのサービスを作るのであれば難しいことはないのですが、できるだけ幅広いニーズに応えようと周りのサービス運営者たちに色々ヒアリングしてみると、上で述べたような困ったデータ構造や不完全なデータにより、様々な問題が発生していることがわかりました。その中には、顧客に郵送物がうまく届かないことが多くある、など、ビジネス上のKPIに直結する課題もありました。

これらをなんとか解決できないものかと、弊社のデータ解析班はKEN_ALL.CSVのアマゾンの奥地まで切り開き、まだまだ改良する余地はありますが、下記のようにパースしてAPIとしてデータを返却しています。

KEN_ALL.CSV ケンオール
東京都 江戸川区 西瑞江(3丁目、4丁目3~9番) 東京都 江戸川区 西瑞江
東京都 江戸川区 西瑞江 3丁目
東京都 江戸川区 西瑞江 4丁目
京都府 京都市上京区 栄町(大宮通一条上る西入、大宮通中立売下る、智恵光院通一条上る東入) 京都府 京都市上京区 栄町
京都府 京都市上京区 大宮通一条上る西入 栄町
京都府 京都市上京区 大宮通中立売下る 栄町
京都府 京都市上京区 智恵光院通一条上る東入 栄町

現時点でもかなり満足のいく変換結果をご提供できている自負はあるものの、同時にまだカバーできていない住所があることも把握しております。今後は、以下のような機能の拡充を予定しています。

  • カッコ書きで表現される小字や丁目情報の抽出精度の向上
  • 精度の高い住所変換を提供する地域の拡大
  • 住所から郵便番号を引く逆引き機能のご提供

今後も、ケンオールのアップデートにご期待ください!

kenall.jp

f:id:moriyoshi:20170430235850j:plain

Photo by Vista Wei on Unsplash