並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 222件

新着順 人気順

information_schemaの検索結果1 - 40 件 / 222件

  • 複数の企業でデータエンジニアとして求められたスキル - yasuhisa's blog

    最近「ああ、これ前職でも前々職でもやったことあるなぁ」という仕事があった。データエンジニア(やその関連職種)として働き始めて約5年、3社でフルタイムとして働いてきて「このスキルは業界や組織規模が変わってもデータエンジニアとしてスキルを求められることが多いな」と感じたものをまとめてみることにした。棚卸し的な意味はあるが、特に転職用などではないです。 前提 どこでも必要とされたスキル データマネジメントに関する概要レベルの知識と実行力 セキュリティや法令に関する知識 事業ドメインに関する興味関心 他職種とのコミュニケーション能力 コスト管理 / コスト削減のスキル ソフトウェアエンジニアとしてのスキル DataOpsやアラートのハンドリング能力 分析用のSQLを書く力 古いテーブルやデータパイプラインを置き換えていくスキルや胆力 あるとやりやすいスキル 関連部署の動きを何となく把握しておく力

      複数の企業でデータエンジニアとして求められたスキル - yasuhisa's blog
    • あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog

      あけましておめでとうございます! 今年は異世界放浪メシのアニメが放送されるらしいので楽しみなバックエンドの原田 (tomtwinkle)です。 内部で運用しているSQLレビューチェックリストの一部を抽出し思いつきで追記して行った結果、結構な分量になってしまいました。 暇な時でも流し読みして頂けるとありがたいです。 Motivation SQLレビュー観点 大きくSQLが変更される修正の際にはEXPLAINをレビュー内容に加える 検索のキーにINDEXを使用しているか SQL発行回数がN+1(1+N)の構造になっていないか サブクエリを利用したSQLはパフォーマンス要チェック Viewの利用は基本的に禁止 CROSS JOINは禁止 WHERE句で十分に絞った検索をしているか 必要なcolumnだけSELECTしているか レコード数だけ必要な場合にCOUNT用のSQLを発行しているか 集計関

        あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog
      • MySQL 8.0 への移行が完了しました ~さようなら全ての MySQL 5.7~ - Cybozu Inside Out | サイボウズエンジニアのブログ

        こんにちは。クラウド運用チームの飯塚です。 私たちは cybozu.com 本番環境の MySQL を昨年末から順次 8.0 系へアップグレードしており、前回の定期メンテナンスにおいて全てのインスタンスのアップグレードを完了しました。この記事では、私たちが MySQL 8.0 への移行に取り組んだ理由と必要になった対応について紹介します。 なぜ MySQL 8.0 へ移行したのか GTID-based レプリケーションにおける制限の緩和 再起動時に AUTO_INCREMENT のカウンタが巻き戻る問題の解消 実際に対応が必要だった MySQL 8.0 の変更点 utf8mb4 の照合順序のデフォルト値の変更 SQL_CALC_FOUND_ROWS と FOUND_ROWS() が deprecated に Connector/J のメタデータ取得処理の性能低下 sys.innodb_lo

          MySQL 8.0 への移行が完了しました ~さようなら全ての MySQL 5.7~ - Cybozu Inside Out | サイボウズエンジニアのブログ
        • 全社員からデータ基盤への問い合わせが殺到して2人では捌けなくなったので仕組みで解決する話〜datatech-jp Casual Talks #2 登壇後記〜 - MonotaRO Tech Blog

          データ基盤グループの吉本です。 今回は先日開催されたdatatech-jp Casual Talksで登壇した内容について補足も含め紹介します。 datatech-jp.connpass.com 発表資料はこちらです。 データ基盤に関わる問い合わせ対応を仕組みで解決する from 株式会社MonotaRO Tech Team www.slideshare.net 発表内容の背景(問い合わせ対応における課題) 発表したこと 発表の反響 最後に datatech-jpは主にデータエンジニアリングやデータ活用に関わる方が参加するコミュニティで、DWHやデータマネジメント、データエンジニアリングに関わる技術、ツールなどについて知見を共有したり、輪読会やLT会のようなイベントを実施しています。 オーガナイザーとして同社同僚の吉田(id:syou6162)が参加しています。 その中でCasual

            全社員からデータ基盤への問い合わせが殺到して2人では捌けなくなったので仕組みで解決する話〜datatech-jp Casual Talks #2 登壇後記〜 - MonotaRO Tech Blog
          • データ管理に役立つメタデータに関する勉強会を社内外で開催しました - MonotaRO Tech Blog

            こんにちは、データ基盤グループの吉田(id:syou6162)です。先日、モノタロウ社内で「データ管理に役立つメタデータ」に関する勉強会を開催しました。BigQueryのINFORMATION_SCHEMAを中心とした実例を豊富に盛り込んだ内容について話したのですが、社内に限らず有用な内容であると思うので、広く公開します。 開催に至った背景 モノタロウ社内では広くデータ活用が進んでおり、GCPのプロジェクトは数百以上運用され、その中の多くのプロジェクトでBigQueryも使われています。社内に広く提供するDWHやセキュリティなど全社的なデータ基盤に関することはデータ基盤グループが運用/管理を行なっていますが、社内のGCPプロジェクト全てのデータ管理にデータ基盤グループが深く関わっていくのは工数的に困難です*1。 INFORMATION_SCHEMAなどデータ管理に役に立つメタデータのノウハ

              データ管理に役立つメタデータに関する勉強会を社内外で開催しました - MonotaRO Tech Blog
            • 【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい

              はじめに 対象イベント 読み方、使い方 Remote Code Execution(RCE) 親ディレクトリ指定によるopen_basedirのバイパス PHP-FPMのTCPソケット接続によるopen_basedirとdisable_functionsのバイパス JavaのRuntime.execでシェルを実行 Cross-Site Scripting(XSS) nginx環境でHTTPステータスコードが操作できる場合にCSPヘッダーを無効化 GoogleのClosureLibraryサニタイザーのXSS脆弱性 WebのProxy機能を介したService Workerの登録 括弧を使わないXSS /記号を使用せずに遷移先URLを指定 SOME(Same Origin Method Execution)を利用してdocument.writeを順次実行 SQL Injection MySQ

                【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
              • LambdaからRDS/RDBを利用する際に意識したいポイント5選 | DevelopersIO

                こちらの記事はRDS ProxyがGAされる前に執筆した記事です。現在はLambdaからRDSを利用する場合、間にRDS Proxyを挟むという選択肢が増えているので、まずはRDS Proxyを使う/使わないの検討をお願いします。以後で紹介しているトピックの一部はRDS Proxy利用時は考え方が変わってきます。 CX事業本部@大阪の岩田です。私が現在関わっているプロジェクトではLambda × RDSというアーキテクチャを採用して開発を進めています。開発を進める中でLambda × RDS(RDB)という構成についてある程度ノウハウが貯まってきたので、注意したいポイントやオススメの設定をTIPS的に紹介していきます。 環境 以後の説明では以下の環境の一部もしくは組み合わせを利用しています。具体的なコードやSQLの例はプログラミング言語やDBエンジンに依存しますが、根底の考え方はどの言語、

                  LambdaからRDS/RDBを利用する際に意識したいポイント5選 | DevelopersIO
                • SQL50本ノックをSQLite3 Fiddleで試す - Gマイナー志向

                  Software Design「データベース速攻入門」に「SQL50本ノック」が掲載されました - LIVESENSE ENGINEER BLOG 最近では、postgres-wasmなど、WebブラウザでDBを動かせるようになってきており、もう少しすれば、WebAssemblyを使って、ブラウザですぐにノックを始められるようになるかもしれません。もしも、また何年か後に記事を更新する機会があれば、試してみたいですね。 Web上からすぐに試せるpostgres-wasmはPagilaのデータを持っていくことが現時点で出来なさそうだったものの、SQLite3 WebAssemblyはSQLiteのデータを持っていけました。SQL50本ノックを気軽に試せそうです。 手順1 sakila-sqlite3をダウンロード まずgithubからsakila-sqlite3をダウンロードします。 gith

                    SQL50本ノックをSQLite3 Fiddleで試す - Gマイナー志向
                  • SQLを使った監視でデータ基盤の品質を向上させる - MonotaRO Tech Blog

                    こんにちは、データ基盤グループの吉田(id:syou6162)です。データ基盤グループでは安定してデータを利用できるように様々な取り組みを行なっています。本エントリでは、データ品質に問題がある場合にすぐに気付けるようにしたSQLによる監視の仕組みを紹介します。 背景 SQLを使った監視基盤の構築 実際の監視項目例 他チームがdailyで転送しているデータがバッチの失敗により遅れていないか BigQueryのエラーレートが急激に増加していないか 承認済みビューの設定が意図せず消えていないか 今後の展望 背景 データ基盤の運用をしていると、日々様々なトラブルと向き合う必要があります。例えば、以下のようなものがあります。 他チームがdailyで転送しているデータがバッチの失敗により遅れている TerraformなどのIaCで承認済みビューの権限管理を行なっているが、コードの設定ミスで意図せぬ状態

                      SQLを使った監視でデータ基盤の品質を向上させる - MonotaRO Tech Blog
                    • セキュリティガードレールを作って、非エンジニアに安心してGCPを提供できるようにした話 - MonotaRO Tech Blog

                      はじめまして、モノタロウでGCPの管理をしている吉本です。 今回はモノタロウの社内全体でデータ基盤として使っているGCPをテーマに、大規模組織におけるクラウド運用の取り組みをお話します。 データ民主化による現場主導のデータ活用 クラウドの利用拡大に伴う課題 Cloud Asset Inventoryを利用したセキュリティガードレールの構築 まとめ データ民主化による現場主導のデータ活用 最近、データの活用・推進が様々な企業で実施されるようになってきました。 特に2018年あたりからデータ民主化と呼ばれる、職種に問わず自らデータを集計・分析して意思決定をする文化が広まるようになった結果、非エンジニアがSQLを書く事例が増えています。*1 *2 モノタロウでも職種問わずデータドリブンな意思決定を推進しています。 2017年にデータ基盤をBigQueryに構築して以降、積極的にSQLなどの研修な

                        セキュリティガードレールを作って、非エンジニアに安心してGCPを提供できるようにした話 - MonotaRO Tech Blog
                      • 結合テストを書くときはコードベースを分離している

                        新規開発の設計支援や古いコードベースを甦らせて欲しいという相談をもらったときに、最初にちょろっとコードだけお手本的なコードを書いてから引き渡しているのだが、そのときに必ず結合テストを書くようにしている。 3, 4年前から僕と付き合いがある人からすると、 「「「あの sadnessOjisan がテストを書くだと!!!」」」 という感じだと思うのだが、最近はテストに思うところもあってちゃんと書いている。 そしてそのテストコードだが、基本的にはアプリケーションから分離して書いている。その話をしたい。 OGP OGP は野方ホープで海苔が分離されて出てきた時の画像だ。 アプリケーションから分離したテストとはどういうことか 最終的にはテスト対象のサーバーを Docker コンテナで固めて、そのコンテナに対して HTTP リクエストを投げてその結果や DB の中身を検証するコンテナを docker

                          結合テストを書くときはコードベースを分離している
                        • MySQLの機能でスロークエリ関連の解析を行う方法の紹介 - エキサイト TechBlog.

                          はじめに XTechグループ Advent Calendar 2021の16日目は、iXIT株式会社 エンジニアの蝦名がお送りします。 最近ハマっているものは音楽系Vtuberです。VIRTUAFREAK良かった…。 qiita.com 本題 ツールなどを導入しなくてもSlowQueryを解析できる機能がMySQLには存在するので、今回はその一部を紹介します。 ちなみに私が開発しているサービスのMySQLバージョンは5.6です。 1. mysqldumpslow 一言で言うとスロークエリーログファイルを解析して内容のサマリーを出力してくれる機能です。 前提としてスロークエリーログを出力している必要があります。 使い方 コマンド ※合計実行時間が長い順に10件のSQLを出力する mysqldumpslow -s at -t 10 /opt/fio1/slog/sp-prd-db1-slow.

                            MySQLの機能でスロークエリ関連の解析を行う方法の紹介 - エキサイト TechBlog.
                          • Amazon Aurora MySQLでテーブル再構築を伴う操作をするとテーブルが見えなくなるっぽい - GMOインターネットグループ グループ研究開発本部(次世代システム研究室)

                            2023.01.11 Amazon Aurora MySQLでテーブル再構築を伴う操作をするとテーブルが見えなくなるっぽい Amazon Aurora MySQLでテーブルの再構築を伴う操作を行うと,Readerインスタンスで瞬間的に対象のテーブルが見えなくなる場合があるので,オペレーションの実行タイミングに気をけましょう,というお話です。再構築を伴う操作には,一部のALTER TABLEやOPTIMIZE TABLEが含まれます。 こんにちは,S.T.です。Amazon Aurora MySQLで少し気になる現象を見かけたので紹介します。この現象を知っていれば回避できるので,クリティカルな影響があるということではないですが,将来直ってくれると嬉しいですね。 1.Amazon Aurora MySQLとは Amazon Aurora MySQLはAWSで利用できるマネージドのRDBです。コ

                              Amazon Aurora MySQLでテーブル再構築を伴う操作をするとテーブルが見えなくなるっぽい - GMOインターネットグループ グループ研究開発本部(次世代システム研究室)
                            • RDS Blue/Green Deployments を使ってシュッと utf8mb4 にマイグレーションした話 - カミナシ エンジニアブログ

                              こんにちは。ソフトウェアエンジニアの坂井 (@manabusakai) です。 カミナシでは RDB に Amazon Aurora MySQL 2(MySQL 5.7 互換)を使っています(以下 Aurora MySQL と略します)。 ある日、社内の Slack で「𠮷」などの文字列が登録できないのではないかという話が出ました。これを聞いて「あー」と思った方も多いでしょう。 MySQL で有名な UTF-8 の 4 バイト文字問題で、歴史的な理由から MySQL 5.7 以前では utf8 の文字セットは utf8mb4 ではなく utf8mb3 を指しています。 dev.mysql.com カミナシのアプリケーションは 4 バイトの文字列が入力された場合はシステムエラーを返す実装になっていますが、エラーの内容をユーザーにわかりやすく伝えることは難しいためユーザー体験としても良くない

                                RDS Blue/Green Deployments を使ってシュッと utf8mb4 にマイグレーションした話 - カミナシ エンジニアブログ
                              • データ基盤の管理に役立つ監視用のSQLを紹介します - 10X Product Blog

                                Analytics Engineerの吉田(id:syou6162)です。BigQueryを中心に10X社内のデータ関連の管理をしています。10Xに入社してそろそろ一年になろうかとしていますが、データ基盤を適切に管理 / 運用するためにSQLによる監視を少しずつ取り入れています。この記事では、具体的にどのようなSQLを書いて監視しているのか紹介したいと思います。 なお、SQLを使ったデータ基盤の監視自体については私の前職のTech Blogで詳細に書いていますので、そちらを参照してください。 SQLを使った監視でデータ基盤の品質を向上させる - MonotaRO Tech Blog データ管理に役立つメタデータに関する勉強会を社内外で開催しました - MonotaRO Tech Blog 本エントリはこれをベースに「dbtをフルに活用している10Xの環境向けに入れた監視」や「BigQuer

                                  データ基盤の管理に役立つ監視用のSQLを紹介します - 10X Product Blog
                                • MySQLの物理削除によるパフォーマンスの悪化とその回避策について

                                  ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめまして、Yahoo!ショッピングでシステム開発を担当している村上です。 Yahoo!ショッピングでは数億件にのぼる商品が日々更新されています。 今回はそれを支える巨大なDBの運用の中で遭遇したMySQLのアンチパターンと、回避した方法について紹介いたします。 特定のテーブルをJoinするとすごく遅くなる Yahoo!ショッピングでは商品を出品するためのツールがあります。 商品情報には「商品名」「価格」といった、任意で設定可能な項目のほか、「ブランド」「商品種別」など、製品ごとに入力する内容が決まっている項目を、マスター情報としてテーブルで管理しています。 このマスター情報を利用して、出品の際に入力情報が正確であるかどうか確か

                                    MySQLの物理削除によるパフォーマンスの悪化とその回避策について
                                  • 派生先テーブルの参照回数も考慮して安全にテーブルを撤退する - yasuhisa's blog

                                    3行まとめ テーブルの撤退時にはテーブルの参照回数を見ることが多いと思いますが、テーブル単独の参照回数を見るだけだと不十分なことが多いです 派生先のテーブルの参照回数まで考慮すると、テーブルが撤退できるか安全に判断することができます リネージ上の親子関係をWITH RECURSIVEで考慮しながら、累積参照回数をSQLで導出できるようにし、安全にテーブル撤退を判断できるようにしました 3行まとめ 背景: テーブルの撤退にはテーブル単独の参照回数を見るだけだと不十分 アイディア: 累積参照回数を計算する 実装 テーブル間の親子関係を抽出する WITH RECURSIVEでテーブルの親子関係を辿る テーブルの親子関係を考慮しながら、累積参照回数を計算する まとめ 背景: テーブルの撤退にはテーブル単独の参照回数を見るだけだと不十分 データエンジニアやアナリティクスエンジニアの仕事をしていると、

                                      派生先テーブルの参照回数も考慮して安全にテーブルを撤退する - yasuhisa's blog
                                    • 本物のウェブアクセスログを使用した、機械学習による異常検知(全データ/ソースコード公開)

                                      おまたせしました この度、ついにこの記事を完成させることができました。これは私が数年前からずっと書きたいと思っていた、ウェブのアクセスログに対する、機械学習を使った異常検知の実例です。私は事あるごとに(※1)「情報セキュリティ分野でもデータサイエンスの技術は非常に重要だ」と繰り返していますが、この記事の内容はまさにその1つの証となると思います。この記事で示される内容を見れば、「うわ、機械学習、マジでヤバイい(語彙力)んだな...」となるでしょう。以下に心当たりのあるセキュリティエンジニアはぜひ読んで、そして実践してみてください。 機械学習に興味はあるものの、どこから手を付ければよいのかイメージがわかない 本当にAIやデータサイエンス、機械学習がセキュリティの分野で役に立つのか、確信がもてない データサイエンスや機械学習は難しそうだと思っている ログ解析において、grepや単純な統計処理より

                                        本物のウェブアクセスログを使用した、機械学習による異常検知(全データ/ソースコード公開)
                                      • Aurora MySQL におけるロック競合(ブロッキング)の原因を事後調査できる仕組みを作った話

                                        こんにちは。 DBRE チーム所属の @p2sk です。 DBRE(Database Reliability Engineering)チームでは、横断組織としてデータベースに関する課題解決や、組織のアジリティとガバナンスのバランスを取るためのプラットフォーム開発などを行なっております。DBRE は比較的新しい概念で、DBRE という組織がある会社も少なく、あったとしても取り組んでいる内容や考え方が異なるような、発展途上の非常に面白い領域です。 弊社における DBRE チーム発足の背景やチームの役割については「KTC における DBRE の必要性」というテックブログをご覧ください。 本記事では、Aurora MySQL でロック競合(ブロッキング)起因のタイムアウトエラーが発生した際に根本原因を特定することができなかったので、原因を後追いするために必要な情報を定期的に収集する仕組みを構築した

                                        • 10TB超えのBigQuery巨大データを高速にS3に同期する - ZOZO TECH BLOG

                                          こんにちは。SRE部MA基盤チームの川津です。 私たちのチームでは今年サービスを終了した「IQON」の10TBを超える大規模データをBigQueryからS3へ移行しました。本記事ではデータ移行を行った際に検討したこと、実際にどのようにデータ移行を行ったかを紹介します。 データ移行の経緯 IQONは2020年4月6日をもってサービスを終了しました。そのIQONではデータ分析にBigQueryを利用していましたが、Amazon Web Services(AWS)上にもIQONに関するリソースが存在します。そのため、IQONはGCPとAWSの2つのクラウドで運用していました。 しかし、サービス終了に伴いGCP・AWSどちらかにリソースを統一する必要が出てきました。統一する意図としては、終了したサービスが利用する取引先を減らし、請求対応などの事務的なコストを減らしたい意図がありました。そのためGC

                                            10TB超えのBigQuery巨大データを高速にS3に同期する - ZOZO TECH BLOG
                                          • BigQueryでの集計結果をノーコードでSlackに定期投稿してみた - ZOZO TECH BLOG

                                            こんにちは、DATA-SREチームの塩崎です。最近気になるニュースは「ネコがマタタビを好む理由が蚊を避けるためだった1」です。 さて、皆さんはデータ基盤で集計した結果をどのようにして確認していますか。LookerやPower BIなどのBIツールを使って綺麗なダッシュボードを作成している方も多いかと思います。しかし、全員が毎日確認すべき数値はSlackなどの全員が日常的に目にする場所へ掲げたいです。本記事ではBigQueryとSlackを連携させる機能をノーコードで作成する方法を紹介します。 従来手法 BigQueryで集計した結果をSlackに通知するためにはGoogle Apps Script(以下、GAS)を用いるやり方が現在では主流です。GASの文法はJavaScriptとほぼ同じであり、普段分析をメインで担当している人たちには馴染みの薄い言語です。また、Cloud Functio

                                              BigQueryでの集計結果をノーコードでSlackに定期投稿してみた - ZOZO TECH BLOG
                                            • Amazon RDS ブルー/グリーンデプロイを利用してMySQLのアップグレードをした話 - Pepabo Tech Portal

                                              こんにちは。技術部プラットフォームグループのharukinです。 この記事では、私たちが提供するネットショップ作成・運用のためのECプラットフォーム「カラーミーショップ」のデータベースを、Amazon RDSのブルー/グリーンデプロイを利用し、MySQLのバージョン5.7.38から8.0.35へアップグレードした経験についてご紹介します。カラーミーショップにおいてはこれが初の試みでした。Amazon RDS固有のファーストタッチレイテンシーの解除方法や、ダウンタイム時間の計測についてもお伝えします。 Amazon RDSのブルー/グリーンデプロイを活用するメリットは、本番環境に準ずるステージング環境を構築し事前検証が可能であることです。ステージング環境は約1分で本番環境に昇格させることができ、昇格時に許容ダウンタイムを超えたり、レプリケーションやインスタンスの問題が生じた場合は、自動的にプ

                                                Amazon RDS ブルー/グリーンデプロイを利用してMySQLのアップグレードをした話 - Pepabo Tech Portal
                                              • スプレッドシートを活用して組織横断的にテーブル・カラムの説明文を入力した話 - High Link テックブログ

                                                こんにちは。株式会社High Link で業務委託として働いている、データエンジニアのikki(@ikki_mz)です。 私たちデータチームでは、「データの民主化」を推進しており、全社員がデータ利活用を行えるように、dbtを用いた分析基盤の整備に取り組んでいます。 tech.high-link.co.jp データの民主化を推進していくにあたり、テーブル・カラムの説明文は非常に重要な役割を占めます。テーブルやカラムが何を意味しているかの説明は、分析をする上ではとても重要です。 しかし、このテーブルやカラムの説明はなかなか厄介で、データベースを開発した開発エンジニアとコミュニケーションをとらないと、説明文を正確に書くことができません。 そこで私たちは、dbt・スプレッドシートを使って、テーブルやカラムの説明文の入力をするという、組織横断的なプロジェクトを実施しました。 背景と課題 dbt de

                                                  スプレッドシートを活用して組織横断的にテーブル・カラムの説明文を入力した話 - High Link テックブログ
                                                • MySQLのcollationの動作を体系的に理解する - shallowな暮らし

                                                  はじめに collationとは二つの文字の間の順序を定義するものです。こう言われるととても単純に聞こえるのですが、MySQLのcollationの詳細な動作は実は結構複雑です。 この記事はcollationの挙動に関する体系的な解説と様々な具体例を元にcollationに対する理解を深め、collationの問題のトラブルシューティングの筋道を立てる事を目的としています。なお、この記事は大まかなcollationの動作の説明を目的としており、全てを網羅しているわけではありません。詳細な動作はMySQLの公式ドキュメントの方が丁寧ですので実際のトラブルシューティングではドキュメントもご活用ください。 なお、この記事での検証はMySQL8.0.31を利用しています。 collationの基礎 collationは冒頭で説明したように二つの文字の順序関係や同値関係を決めるものです。collat

                                                    MySQLのcollationの動作を体系的に理解する - shallowな暮らし
                                                  • MySQLで全文検索機能を使う際のパフォーマンスについて調査してみた - iimon tech blog

                                                    こんにちは、CTOの森です。iimonは今回が初のアドベントカレンダー参加です! 本記事はiimonアドベントカレンダー1日目の記事となります。 はじめに 検証した環境 MySQL/mecabのインストール 大量のデータを入れる 1レコードのINSERTにかかった時間 検索してみる 検索文字列が「出来事」の場合 インデックスなし N-gram(bi-gram) IN NATURAL LANGUAGE MODE IN BOOLEAN MODE MeCab IN NATURAL LANGUAGE MODE IN BOOLEAN MODE 検索文字列が「チューリングはロンドンのリッチモンドに住み」の場合 まとめ 参照したサイト 最後に はじめに 今回はMySQLで全文検索機能を使う際のパフォーマンスについて書こうと思います! 全文検索をちゃんと使うのであればElasticsearchやSolrな

                                                      MySQLで全文検索機能を使う際のパフォーマンスについて調査してみた - iimon tech blog
                                                    • データカタログ特集 データ利活用に向けたアーキテクチャ6選 - Findy Tools

                                                      整備したデータ基盤を、事業部や会社全体で活用に持っていく中で「データカタログ」の必要性が増々注目を集めています。 今回は、データカタログを導入し、データ利活用に挑んでいる6社に、アーキテクチャの工夫ポイントからデータカタログ導入によって得られた効果などを伺いました。 ◆目次 株式会社10X 株式会社ビットキー 株式会社エブリー 株式会社Luup Sansan株式会社 株式会社ZOZO 株式会社10X 事業内容 10Xでは「10xを創る」をミッションとし、小売向けECプラットフォーム「Stailer」の提供を通じて、スーパーやドラッグストア等のオンライン事業立ち上げ・運営支援を行っています。Stailerでは業務構築におけるコンサルティングから、必要な商品マスタやお客様アプリ・スタッフ向けのオペレーションシステム等の提供、配達システムの提供、販売促進の支援など、データを分析しながら一気通貫で

                                                        データカタログ特集 データ利活用に向けたアーキテクチャ6選 - Findy Tools
                                                      • 実例で学ぶ MySQL/MariaDB デバッグ - nayuta-yanagisawa's blog

                                                        この記事では、MySQL/MariaDB のバグを修正するための典型的な手順を、具体例を通して解説する。次の MariaDB のバグを例として取り上げるが、基本的なデバッグの手順は MySQL でもまったく同様である。 MDEV-24868: Server crashes in optimize_schema_tables_memory_usage after select from information_schema.innodb_sys_columns なお、MySQL/MariaDB のデバッグ方法についての包括的な解説を与えるのは、この記事のスコープ外である。デバッグ手法の詳細を知りたい場合は、以下の一連の記事を参照してほしい。 Debugging MySQL/MariaDB (1): Build and Test Debugging MySQL/MariaDB (2): DBU

                                                          実例で学ぶ MySQL/MariaDB デバッグ - nayuta-yanagisawa's blog
                                                        • Amazon Aurora MySQL バージョン 2 (MySQL 5.7 互換) からバージョン 3 (MySQL 8.0 互換) へのアップグレードのチェックリスト、パート 1 | Amazon Web Services

                                                          Amazon Web Services ブログ Amazon Aurora MySQL バージョン 2 (MySQL 5.7 互換) からバージョン 3 (MySQL 8.0 互換) へのアップグレードのチェックリスト、パート 1 本記事は、Amazon Aurora MySQL version 2 (with MySQL 5.7 compatibility) to version 3 (with MySQL 8.0 compatibility) upgrade checklist, Part 1 を翻訳したものです。 Amazon Aurora MySQL 互換エディション バージョン 2 (MySQL 5.7 互換)は 2024 年 10 月 31 日に標準サポートの終了が予定されています。Amazon Aurora MySQL バージョン 2 の標準サポートの終了タイムラインについて

                                                            Amazon Aurora MySQL バージョン 2 (MySQL 5.7 互換) からバージョン 3 (MySQL 8.0 互換) へのアップグレードのチェックリスト、パート 1 | Amazon Web Services
                                                          • BigQueryで時を遡って過去のテーブルを再構成する - ZOZO TECH BLOG

                                                            はじめに こんにちは、データシステム部データ基盤ブロックSREの纐纈です。 本記事では、過去に遡ってBigQueryのデータを参照する方法(以下、タイムトラベルと呼びます)をご紹介します。また、この機能はBigQueryが提供している、変更または削除されたデータにアクセスするタイムトラベルとは異なることをご了承ください。 開発背景 この機能は過去データを日次スナップショットより細かい粒度で見たい、また障害対応時に障害発生前などピンポイントで時間指定して参照したいという要望を受け、開発することになりました。 さらに、BigQueryからこの機能を作るのに役立ちそうなテーブル関数という機能がリリースされたのもきっかけとなりました。 cloud.google.com テーブル関数とは、事前にパラメータを使って定義したクエリをエイリアスのようにテーブルとして保存して、そのテーブルに対して関数を実行

                                                              BigQueryで時を遡って過去のテーブルを再構成する - ZOZO TECH BLOG
                                                            • 第122回 DockerでMySQLをもっと便利に活用してみる | gihyo.jp

                                                              本連載でも、何回かMySQLをDockerで扱う方法に関して簡単に説明をしてきました。今回は、DockerでMySQLを使う上でもっと便利に扱う方法を紹介してみたいと思います。特に、初期値のロードやコンテナ内にあるmysqlクライアントを使った時に文字化けする問題に対応していきます。 検証環境 今回はMacでDocker for Macを利用して検証を行っております。また、MySQLのDockerイメージは8.0.20で確認を行います。検証のデータには、第2回 MySQLにはじめてのデータを入れてみるで紹介されたKEN_ALL.CSVを利用します。 初期値のロードを自動化したい 第113回 anemoeaterを使ってスローログを可視化してみるでは、以下のように--secure-file-privを起動時に設定して起動していました。--secure-file-privは、指定されたディレク

                                                                第122回 DockerでMySQLをもっと便利に活用してみる | gihyo.jp
                                                              • BigQuery Scriptingの便利な使い方をまとめてみた - yasuhisa's blog

                                                                背景 & Disclaimer 自分自身はこれまでBigQuery Scriptingをほぼ使っていませんでした BigQuery自体は3年くらいの利用歴 SQL単発で済ませるのが苦しそうな場合は、Pythonなどのプログラミング言語 + ワークフローエンジンの組み合わせで戦っており、自分としては特に困っていなかった 社内で他の方が使うケースをぼちぼち見ることがある 自分は困っていなくても、社内のBigQueryユーザーでBigQuery Scriptingを使っていて困っている人がそれなりにいる 著者はそれなりのBigQueryユーザーがいる企業のデータ基盤の人間です さすがに「使ったことないので、分からないですねー」で済ませるわけにはいかなくなってきた そもそもどんなユースケースで便利なのかすらも分かっていない状態なので、便利そうに思える場合をまとめてみることにしました というわけで、

                                                                  BigQuery Scriptingの便利な使い方をまとめてみた - yasuhisa's blog
                                                                • ZOZOTOWNにおけるマーケティングメール配信基盤の構築 - ZOZO TECH BLOG

                                                                  はじめに こんにちは、MA部の松岡(@pine0619)です。MA部ではマーケティングオートメーションシステムの開発・運用に従事しています。 ZOZOTOWNでは、マーケティングオートメーションシステム(以下、MAシステム)を使い、メールやLINE、アプリプッシュ通知といったチャネルへのキャンペーンを配信しています。 MA部では、複数のMAシステムが存在しており、MAシステムそれぞれに各チャネルへの配信ロジックが記述されていました。これにより、現状の運用保守ならびに今後の改修コストが高いかつ、使用している外部サービスのレートリミットの一元管理が出来ていないなどの問題を抱えていました。そのため、外部サービスへのリクエスト部分をチャネルごとにモジュールとして切り出し、複数のMAシステムから共通で使える配信基盤を作成しました。 また、社内の他チームの持つシステムからのキャンペーン配信の要望があっ

                                                                    ZOZOTOWNにおけるマーケティングメール配信基盤の構築 - ZOZO TECH BLOG
                                                                  • pt-online-schema-changeの導入時に検討したこと、およびRailsアプリとの併用について - freee Developers Hub

                                                                    おはこんばんちは、Database Reliability Engineer (DBRE) の橋本です。今回は、pt-online-schema-changeというデータベースのスキーマ変更ツールを社内の運用に持っていくための過程や、freeeにおける運用上の工夫を紹介します。pt-online-schema-changeはある程度枯れた技術なので、いくつか事例が紹介されており、すでに運用に乗せている組織もあるかと思われますが、これから新規に導入する方などの参考になると幸いです。 背景 freeeではほぼ毎月ペースで深夜に定期メンテナンスを行なっており、おもにインフラの更新作業やアプリケーションの機能追加に伴うデータベースのスキーマ変更が行なわれます。 ここで少し寄り道をして、スキーマ変更を行なうためのMySQL(ストレージエンジンにInnoDBを使っている前提で進めます)のDDLのパター

                                                                      pt-online-schema-changeの導入時に検討したこと、およびRailsアプリとの併用について - freee Developers Hub
                                                                    • 入社4ヶ月でBigQueryの課金額を減らすために考えたこと - 弁護士ドットコム株式会社 Creators’ blog

                                                                      データ分析基盤室の otobe(𝕏@UC_DBengineer) です。 事業規模が拡大し、大規模なデータの管理が必要になるにつれて、SnowFlake や BigQuery のようなハイパワーな DWH サービスでデータを加工するケースは多いです。 その際、想定外な高額請求が起こる原因のひとつに、クエリが最適化されておらずスキャン量が増大しているケースがあります。 そのため、クエリのスキャン量を監視・管理することが課金額を減らすうえで有効な手段となることがあります。 本記事では、前半で BigQuery で課金されるスキャン量を監視・管理するまでのプロセスを振り返り、 後半で BigQuery の課金額を減らすために簡単にチェックできることについてお話しします。 BigQuery クエリにおけるスキャン量を監視・管理するに至った理由 BigQuery の課金額が想定より大幅に増加してい

                                                                        入社4ヶ月でBigQueryの課金額を減らすために考えたこと - 弁護士ドットコム株式会社 Creators’ blog
                                                                      • BigQuery上のデータマートをクラスタ化したらクエリコストが9割カットできた話 - エムスリーテックブログ

                                                                        こんにちは、エンジニアリンググループ、データ基盤チームの木田です。 最近我が家では手作りピザがブームになっており、週末になると度々生地をこねては家庭内ピザパーティーを開催しております。 息子が盛り付けた手作りピザ (本文とは特に関係ありません) さて、エムスリーではBigQueryをメインのデータウェアハウスとして活用していますが、費用最適化の取り組みの 1つとして一部のデータマートでクラスタ化テーブルの活用を始めました。本日はその導入効果をご紹介できればと思います。 この記事は【データ基盤チーム ブログリレー4日目】です。データ基盤チーム設立の経緯についてはブログリレー1日目の鳥山の記事をぜひご覧ください。 www.m3tech.blog はじめに 費用最適化のアプローチ クラスタ化テーブルとは クラスタ化テーブルの作成方法 実際に速く・安くなるのか 複合キーによるクラスタリング クラス

                                                                          BigQuery上のデータマートをクラスタ化したらクエリコストが9割カットできた話 - エムスリーテックブログ
                                                                        • ActiveRecord::LockWaitTimeout, ActiveRecord::Deadlocked, ActiveRecord::ConnectionTimeoutError が起きた時に原因調査に役立つ情報を表示する gem を作った

                                                                          それなりの規模のサービスを運用していると、不可解なエラーに遭遇することはよくあるものです。その中でもデータベース関連のエラーは一見難解な問題に見えるかもしれませんが、原因調査に役立つ情報をさえ出力すればたいていの場合は容易に原因を特定できるものです。というわけで、Rails でよく遭遇するエラーの調査に役立つ情報を出力する gem を作成しました。 activerecord-debug_errors 現在次のエラーをサポートしています。 ActiveRecord::LockWaitTimeout (MySQL のみ) ActiveRecord::Deadlocked (MySQL のみ) ActiveRecord::ConnectionTimeoutError 以下、具体的な例を用いてどのような情報が表示されるか説明します。 ActiveRecord::LockWaitTimeout Ac

                                                                            ActiveRecord::LockWaitTimeout, ActiveRecord::Deadlocked, ActiveRecord::ConnectionTimeoutError が起きた時に原因調査に役立つ情報を表示する gem を作った
                                                                          • Amazon RDS for MySQLでMySQLエンジンバージョンを5.5から5.7へアップグレードする方法 | Amazon Web Services

                                                                            Amazon Web Services ブログ Amazon RDS for MySQLでMySQLエンジンバージョンを5.5から5.7へアップグレードする方法 Amazon Web Servicesでは、フルマネージド型のリレーショナルデータベースサービスとして、Amazon Relational Database Service (Amazon RDS) および Amazon Aurora を提供しています。Amazon RDS for MySQLを利用することで、AWSクラウド上でMySQLを容易にデプロイし、運用管理を行うことができるようになります。 Amazon RDSでは、定期的にメジャーまたはマイナーエンジンバージョンの廃止を行います。メジャーバージョンについては、コミュニティ版の対象バージョンがEOLを迎え、ソフトウェアの修正やセキュリティアップデートが行われなくなった場合

                                                                              Amazon RDS for MySQLでMySQLエンジンバージョンを5.5から5.7へアップグレードする方法 | Amazon Web Services
                                                                            • BigQuery クエリ - pokutuna

                                                                              BigQuery 関連: Colaboratory 標準 SQL 語彙の構造  |  BigQuery  |  Google Cloud リテラル等の仕様 その場でデータを作ってクエリする 動作確認に便利 code:struct.sql SELECT MIN(status) FROM UNNEST([ STRUCT('unexamined' AS status), STRUCT('unexamined' AS status), STRUCT('ng' AS status) ]) 型ほしい時は型を書く code:complex_struct.sql SELECT * FROM UNNEST( ARRAY<STRUCT<count INT64, time TIMESTAMP>>[ STRUCT(3, TIMESTAMP "2020-07-01 10:00:00"), STRUCT(5, TIM

                                                                                BigQuery クエリ - pokutuna
                                                                              • とあるテーブルの中身を一括更新した話から学ぶPITR - Qiita

                                                                                この記事は本番環境でやらかしちゃった人のアドベントカレンダー9日目の記事です。 https://qiita.com/advent-calendar/2020/yarakashi-production 去年に引き続き、今年も参加させてもらいました。 ※去年の記事はこちら→ データ移行をしただけなのに…(起こってしまったメール誤配信) 今年のネタも15年くらい前の事で、且つ自分が直接関わった事案ではないのですが、「そういやあの事件、今MySQLだったらどうするかな」と思い書くことにしました。 何があったか もうタイトルで出落ちしていますが本番でUPDATE文を実行する際にWHERE句を付け忘れたという事故です。 当時の状況を整理するとこんな感じだったと思います。 対象サービス: 年商10億円くらいの自社サービス 作業内容: 仮登録されている顧客の情報を指定された情報で更新する 作業環境: DB

                                                                                  とあるテーブルの中身を一括更新した話から学ぶPITR - Qiita
                                                                                • 全社データ活用基盤をTreasureDataからBigQueryへ移行しました - Leverages データ戦略ブログ

                                                                                  はじめに こんにちは。データエンジニアリンググループの森下です。今回は、私がプロジェクトマネージャーとして約3年間かけて実施した、TreasureDataからBigQueryへの全社データ活用基盤移行プロジェクトについてお話します。このプロジェクトは、全社で1日あたり数千件のクエリが実行されるデータ基盤を移行するという大規模なもので、関係者の数は200〜300人に上りました。プロジェクト期間中は、データ活用基盤の技術調査から始まり、関係者への説明や調整、データ移行、クエリ移行、ETLやReverse ETLに使用する各種ツールの導入など、本当に多くのタスクがありました。 プロジェクト背景: TreasureData導入とその課題 TreasureData導入の背景 2024年時点ではGoogle BigQueryを使用していますが、その前の環境が導入された背景を説明します。 2018年12

                                                                                    全社データ活用基盤をTreasureDataからBigQueryへ移行しました - Leverages データ戦略ブログ