廣瀬 の検索結果:

SQL ServerのCDCを用いた加熱商品の販売イベントにおける負荷軽減の取り組み

…んにちは、SRE部の廣瀬です。 本記事では、ZOZOTOWNでカートに商品を入れる際に使われているデータベース群の内、SQL Server(以降、カートDBと呼ぶ)にフォーカスします。ZOZOTOWNでは数年前から、人気の商品(以降、加熱商品と呼ぶ)が発売された際、カートDBがボトルネックとなる問題を抱えています。様々な負荷軽減の取り組みを通じて状況は劇的に改善されていますが、未だに完璧な課題解決には至っていません。 そこで今回は、加熱商品の発売イベントにおける負荷軽減の取り…

SQL ServerのChange Tracking機能をプロダクション環境で運用した際に生じた問題と対応策

…んにちは、SRE部の廣瀬です。 弊社のシステムには、基幹DBであるSQL ServerからBigQueryへと低遅延でデータを同期する「リアルタイムデータ連携基盤」が存在します。詳しい仕組みについて以下の記事で紹介されているので、よろしければご覧ください。 techblog.zozo.com 上記の記事の中でも紹介されていますが、SQL Server側のテーブルの変更を検知するために「Change Trakcking」という機能を使用しています。本記事では、このChange …

SQL Serverのバージョンアップ時に必要なクエリ互換性に関する検証精度を向上させた話

…にちは。技術戦略部の廣瀬です。 弊社ではサービスの一部にSQL Serverを使用しています。SQL Serverの各バージョンにはMicrosoftのサポート期間が設定されています。直近ではSQL Server 2012のサポートが、2022年7月12日に終了します。サポートが切れる前にSQL Serverのバージョンを上げる必要がありますが、既存環境で実行中のSQLがバージョンアップ後も正常に動作するか事前検証が必要です。 本記事では、このクエリ互換性に関する検証精度を向…

SQL Serverにおけるスナップショット分離レベルに関するトラブルシューティング

…は、アーキテクト部の廣瀬です。 弊社ではサービスの一部にSQL Serverを使用しています。以前の記事でSQL Serverのスナップショット分離レベルを導入した事例を紹介しました。 techblog.zozo.com この段階で、スナップショット分離レベルの導入によってデータ基盤連携の課題は解決できていました。しかし、今度はスナップショット分離レベル特有の問題が発生しました。本記事では、そこで発生した問題と、どのように調査・対応していったのかを紹介します。 発生した問題 …

トラブルの原因特定率を劇的に向上させるSQL Serverロギングの仕組み作り

…は。アーキテクト部の廣瀬です。 私は2021年7月に、Data PlatformカテゴリにおいてMicrosoft MVPを受賞しました。昨年に続き2度目の受賞です。これからも受賞し続けられるように引き続きがんばります。 弊社ではサービスの一部にSQL Serverを使用しています。以前テックブログでSQL Serverの障害調査フローをご紹介しました。その中で動的管理ビュー(Dynamic Management View:以下、DMV)と拡張イベントの情報を保存(ロギング)…

SQL Serverのスナップショット分離レベル導入によるデータ基盤連携の課題解決

…は。アーキテクト部の廣瀬です。 弊社ではサービスの一部にSQL Serverを使用しており、BigQuery上のデータ基盤へテーブルを連携しています。連携の仕組みは非常によくできているものの、データ不整合や遅延が発生し得るという課題を抱えていました。しかし、SQL Serverのスナップショット分離レベルを導入することでそれらを解決できました。本記事では、抱えていた課題および解決までの流れと、スナップショット分離レベルを導入する際に気を付ける点を紹介します。 データ基盤連携の…

SQL Serverの障害調査フローと事例のご紹介~原因不明な障害の調査から解決まで~

…プラットフォーム部の廣瀬です。 弊社ではサービスの一部にSQL Serverを使用しています。今回は2020年度に発生していたSQL Serverに関連する障害について、調査から対策実施までの流れを紹介したいと思います。これまでも弊社テックブログにて、SQL Serverに関するトラブルシューティングをいくつか紹介してきました。 techblog.zozo.com techblog.zozo.com techblog.zozo.com これらの記事と今回の記事の最大の相違点と…

SQL Serverにおけるデータベースの秘密情報取扱いルールの実装について

…プラットフォーム部の廣瀬です。 先日公開したテックブログ「データベースの秘密情報取扱いルールに関する取り組みのご紹介」では、データベースに保存している秘密情報の取扱いルールについてご紹介しました。そこでは、秘密情報の取扱いフローの策定として、次の5つのフローの整備を行いました。 新しく追加されるデータの取扱い 既存データで秘密情報に該当する項目の洗い出し 秘密情報にアクセスできるアカウントの制限 権限のないアカウントからのアクセス制限 権限保持者の大幅な削減による運用負荷増へ…

データベースの秘密情報取扱いルールに関する取り組みのご紹介

…プラットフォーム部の廣瀬です。 ZOZOテクノロジーズでは、お客様の氏名や住所をはじめとする秘密情報を保護するための様々な取り組みを行っています。本記事ではその中の一部である、データベース(以下、DB)に保存している秘密情報の取扱いルールについてご紹介したいと思います。なお、今回の内容は特定の製品の機能に関する話ではなく、取り組みの基本的な考え方についての話となっています。 背景 何も対策を講じない場合、開発者がDBの秘密情報を権限的には閲覧することが可能な状態となり得ます。…

Microsoft MVPの受賞報告と、受賞のためにしたこと

…ZOテクノロジーズの廣瀬です。 私は2020年8月に、Microsoft MVPをData Platformカテゴリにおいて受賞しました。本カテゴリにおける現在の日本の受賞者は私で10人目となります。本記事ではMicrosoft MVPの概要と、受賞するためにどのようなことを意識して、どのような行動をとっていたのかについてご紹介します。 Microsoft MVPとは Microsoft MVPとは、Microsoftに関連する技術コミュニティにおいて大きく貢献した人物を表彰…

SQL Serverで断続的に発生するクエリタイムアウトの原因を調査した話

…ZOテクノロジーズの廣瀬です。 弊社ではサービスの一部にSQL Serverを使用しています。先日、「普段は数10ミリ秒で実行完了するクエリが、たまに5秒間実行され続けて最終的にタイムアウトするので調査して欲しい」という依頼を受けました。調査方法を整理して最終的に原因の特定とタイムアウト発生の防止まで実現できたので、一連の流れとハマった点、今回のようなケースでの調査に使える汎用的な調査手法をご紹介したいと思います。 SQL Server以外のRDBMSをお使いの方にも、「SQ…

ZOZOTOWNの冬セール負荷対策で実施したDBサーバーのCPUボトルネック調査手法

…部基幹SREチームの廣瀬です。 弊社のサービスではDBMSとしてMicrosoft社のSQL Serverを使用している箇所があります。本記事では、2020年1月1日からスタートしたZOZOTOWN冬セールにおける負荷対策の一環で実施した、SQL ServerのCPUチューニングについてご紹介します。内容としては主に「どうやってプロダクション環境においてCPUボトルネックなクエリを見つけ出すか」についてです。 そのため、SQL Server以外のDBMSをお使いの方にも、「S…

PASS Summit 2019参加レポート:最新のSQL Server/SQL Databaseに関するセッションまとめ

…部基幹SREチームの廣瀬です。 2019年11月4日から8日にかけてシアトルでPASS Summit 2019が開催され、参加してきました。 初めての海外カンファレンスで少し緊張しましたが、得るものはとても多かったため、その内容をレポートしたいと思います! PASS Summit 2019 PASSとは「Professional Association for SQL Server」の略です。 SQL Serverに限らず、Microsoftのデータプラットフォームを使ってい…

SQL Serverにおけるインデックスの再構成と再構築の性能比較

…部基幹SREチームの廣瀬です。 弊社では、システムの一部にSQL Serverを使用しています。 本記事では、SQL Serverにおけるインデックスのメンテナンス方法である再構成と再構築について、それぞれを実行した場合のクエリ性能の比較結果をご紹介したいと思います。 比較を実施するに至った背景の前に、まずはインデックスの再構成と再構築について説明したいと思います。 インデックスの再構成と再構築 インデックス SQL Serverのインデックスについて簡単にご紹介します。下図…

ZOZOTOWNのバックオフィスシステムのレスポンスが突発的に低下する問題を解決した話

こんにちは。開発部の廣瀬です。 本記事では、ZOZOTOWNを裏側から支えているバックオフィスシステムにおけるトラブルシューティング事例をご紹介したいと思います。 尚、今回の話題はバックオフィスシステムで使用しているVBScript言語がメインとなります。WebサーバーはIIS、DBMSはSQL Serverを使っている環境です。 ZOZOTOWNのバックオフィスシステムについて ZOZOTOWNのバックオフィスシステム(以後、BOと呼ぶ)では、顧客管理や物流管理などを行って…

ZOZOTOWNで最大級のトラフィックを記録する福袋発売イベントで実施した負荷対策

こんにちは。開発部の廣瀬です。 本記事では、昨年障害が発生してしまったZOZOTOWNの福袋発売イベントについて負荷対策を実施し、今年の福袋イベント期間を無傷で乗り切った話をご紹介したいと思います。 大規模サイトの障害に関する生々しい話はあまり公開されていないように思いますので、長くなってしまいましたが詳細に書いてみました。尚、今回のお話は弊社のサービスで使用しているDBMSの1つである、SQL Serverに関する話題がメインです。 福袋イベント「ZOZO福袋2019」とは…

トラブルシューティングから学ぶSQL Server統計情報の更新タイミング

…zoバックエンド部の廣瀬です。 弊社のサービスではDBMSとしてMicrosoft社のSQL Serverを使用している箇所があります。 本記事では、過去に経験したSQL Server関連のトラブル及びその調査内容をご紹介し、最後にトラブルシューティングを通して策定した統計情報の更新に関する方針をまとめます。 トラブル発生 ある日突然、SQL Serverが稼働しているサーバーのCPU使用率が高騰し、100%に張り付く状態が一定期間続きました。 CPU使用率のグラフを見ただけ…

カテゴリー