並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 18 件 / 18件

新着順 人気順

バッチ処理の検索結果1 - 18 件 / 18件

  • 1000万件オーバーのレコードのデータをカジュアルに扱うための心構え - joker1007’s diary

    自分が所属している会社のメンバーの教育用資料として、それなりの規模のデータを扱う時に前提として意識しておかなければいけないことをざっくりまとめたので、弊社特有の話は除外して公開用に整理してみました。 大規模データ処理、分散処理に慣れている人にとっては今更改めて言うことじゃないだろ、みたいな話ばかりだと思いますが、急激にデータスケールが増大してしまったりすると環境に開発者の意識が追い付かないこともあるかと思います。 そういったケースで参考にできるかもしれません。 弊社は基本的にAWSによって運用されているので、AWSを前提にした様なキーワードやサービス名が出てきます。後、句読点があったり無かったりしますが、ご容赦ください。 追記: 社内用の資料の編集なのでかなりハイコンテキストな内容だから誤解するかもしれませんが、これらはそもそもRDBの話ではありません。(関係無くは無いけど) 1000万オ

      1000万件オーバーのレコードのデータをカジュアルに扱うための心構え - joker1007’s diary
    • バッチ処理 プラクティス

      バッチ処理は既に先人の方々が多くのナレッジを公開してくれていますが、それでもなお難しさが変わらないテーマだと思っています。 この記事は、筆者がこれまでの開発経験で気づいたバッチ処理の実装ナレッジを整理し、体系化を目指して文章にしました。 ここでの内容が、より良い課題解決に貢献できれば幸いです。 自身の断片的な思考整理(メモ書き)の延長で内容を整理したため、一部書き振りが統一されておらず、読みにくいかもしれません。ご了承ください。🙏 バッチ処理の難しさバッチ処理は難しい。 人によっては簡単なテーマかもしれませんが、自分は難しいテーマだと思っています。 「難しさの根源は何か?」を考えると、1. 考慮点が多様にあること 2. 解決する課題によって答えが大きく変わること に整理できました。 この2点は、どのソフトウェア開発にも当てはまる項目ではありますが、ことバッチ処理においては顕著に現れます。

        バッチ処理 プラクティス
      • データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし

        こんにちは、id:shallow1729です。最近はインフラ寄りなお仕事をよくやっていますがこれまでにいくつかデータ移行やデータ基盤構築などのバッチ処理のお仕事をしてきました。以前にも一度そういった経験を元に記事を書いたのですが、MySQLやシステムに関する知識が以前よりも増えた今もう一度書き直したいなと思いました。 なので今回はバッチ処理を書く時のテクニック2022版という感じです。今の仕事の関係でMySQLやrailsを前提にしている話が多いですが、おそらく他のデータベースを使っている人にも役に立つ話が多いのではないかと思います。ただ、今回の記事は経験に基づくものが多く、あまりよくないアイデアもあるかもしれません。改善点や間違いなどあればご指摘ください。 冪等性を持つように 冪等性とは端的に言えばある操作を複数回実行しても一回しか実行しなかった時と同じ結果になる性質の事です。長時間かか

          データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし
        • バッチ処理について考える - Qiita

          TL;DR ひとくちにバッチといっても色々ある 夜間バッチをもう作るな オンラインバッチはSQL以前にDB設計がんばれ はじめに Twitterのタイムラインで以下のようなツイートが回ってきました。 バッチ処理をみんな舐めてかかったり、ショボイとか思ってる人多い印象なんだけれども、数十万~数千万件規模のデータを処理したことあるのかな。テンプレ通りのコードじゃ動かないよ?ネットに本にも答え載ってないよ?低レイヤも意識しないと動かないよ? 2020年1月10日 ツイートされたわだっしーさんの意図がどこにあるかは確認してないですが、極限の世界でテンプレート的な処理では対応出来ないのはあるよな、と思いつつもある程度はバッチの作法としての書き方があると思っています。 このツイートとその関連ツイートを読みながら、そういえばバッチ処理に関して書いてある記事はあまり見ないなぁ、とおもったので他のネットや本

            バッチ処理について考える - Qiita
          • レガシーとの向き合い方 〜cron から Rundeck へ〜 - DMM inside

            |DMM inside

              レガシーとの向き合い方 〜cron から Rundeck へ〜 - DMM inside
            • Pythonでいい感じにバッチを作ってみる - prefectをはじめよう - JX通信社エンジニアブログ

              JX通信社シニア・エンジニアで, プロダクトチームのデータ活用とデータサイエンスのあれこれ頑張ってるマン, @shinyorke(しんよーく)です. 最近ハマってるかつ毎朝の日課は「リングフィットアドベンチャー*1で汗を流してからの朝食」です. 35日連続続いています. 話は遡ること今年の7月末になりますが, JX通信社のデータ基盤の紹介&「ETLとかバッチってどのFW/ライブラリ使えばいいのさ🤔」というクエスチョンに応えるため, このようなエントリーを公開しました. tech.jxpress.net このエントリー, 多くの方から反響をいただき執筆してよかったです, 読んでくださった方ありがとうございます! まだお読みでない方はこのエントリーを読み進める前に流して読んでもらえると良いかも知れません. 上記のエントリーの最後で, 次はprefect編で会いましょう. という挨拶で締めさせ

                Pythonでいい感じにバッチを作ってみる - prefectをはじめよう - JX通信社エンジニアブログ
              • 【AWS】大規模なバッチ処理を支える技術選定

                ここから、表で挙げた内容をそれぞれ解説していきます。 構築難度に関しては、関数を実装するだけで済むLambdaが最も簡単で、バッチ専用に特化されたサービスであるBatchに関しては比較的バッチ構築はしやすい印象ですが、ECSに関してはバッチに特化していないため、バッチ処理を行うようにカスタマイズする必要があります。 タイムアウト制約に関して留意すべきは、Lambdaの実行時間は15分までなので、それ以上を超える処理時間のバッチは実装できないことです。 起動•実行上のオーバーヘッドに関しては、Lambdaにはコールドスタートがあるため起動時にオーバーヘッドを考える必要があり、Batchではジョブをキューに送信して、最適化のために、ある程度のジョブがキューイングしてから実行しようするので、即時性を求める処理には不向きです。 既存バッチを移行したいケースがあると思いますが、Lambdaで動かせる

                  【AWS】大規模なバッチ処理を支える技術選定
                • 冪等なデータ処理ジョブを書く - クックパッド開発者ブログ

                  こんにちは、マーケティングサポート事業部データインテリジェンスグループの井上寛之(@inohiro)です。普段はマーケティングに使われるプライベートDMP(データマネジメントプラットフォーム)の開発を行っています。本稿では、その過程で得られた冪等なデータ処理ジョブの書き方に関する工夫を紹介したいと思います。今回は、RDBMS上で SQL によるデータ処理を前提に紹介しますが、この考え方は他の言語や環境におけるデータ処理についても応用できるはずです。 まずクックパッドのDMPと、冪等なジョブについて簡単に説明し、ジョブを冪等にするポイントを挙げます。また、SQL バッチジョブフレームワークである bricolage を使った、冪等なジョブの実装例を示します。 クックパッドのDMPと冪等なジョブ クックパッドのプライベートDMPは、データウェアハウス(社内の巨大な分析用データベースで、クックパ

                    冪等なデータ処理ジョブを書く - クックパッド開発者ブログ
                  • メルペイにおける大規模バッチ処理 | メルカリエンジニアリング

                    この記事は MERPAY TECH OPENNESS MONTH の 13日目の記事です。 こんにちは、メルペイ ソフトウェアエンジニアの laughngman7743 です。 メルペイではマイクロサービスにおけるデータストアのデータや、アプリケーションのログを有効活用できるような基盤づくりをデータプラットフォームチームとして行っています。 データプラットフォームではラムダアーキテクチャに基づき、スピードレイヤとして Cloud PubSub と Cloud Dataflow を利用した仕組みに加え、バッチレイヤとして Cloud Composer と Cloud Dataflow を利用した仕組みを構築しています。 この記事ではバッチレイヤのアーキテクチャについてご紹介します。 スピードレイヤのアーキテクチャについては 「GCPでStreamなデータパイプライン始めました」 を参照くださ

                      メルペイにおける大規模バッチ処理 | メルカリエンジニアリング
                    • 形態素解析を行うだけのバッチをつくる - クックパッド開発者ブログ

                      研究開発部の原島です。今日は表題の渋いバッチをつくった話をします。 あっちでも形態素解析、こっちでも形態素解析 みなさん、形態素解析してますか?してますよね?クックパッドでもさまざまなプロジェクトで形態素解析をしています。 いや、むしろ、しすぎです。プロジェクト A でレシピを解析し、プロジェクト B でもレシピを解析し、プロジェクト C でもレシピを解析し、... といった具合です。ちなみに、形態素解析(の結果)が必要なプロジェクトとしてはレシピの分類やレコメンド、各種分散表現(e.g., word2vec)や BERT の学習などがあります。 もちろん、最終的に得たい解析結果が違うのであれば問題ありません。しかし、私が見たかぎり、ほとんどの場合は同じ(もしくは、同じにできそう)でした。であれば、 解析器をインストール(→ Dockerfile を試行錯誤) 解析対象を取得(→ SQL

                        形態素解析を行うだけのバッチをつくる - クックパッド開発者ブログ
                      • Kubernetes (EKS) で構築する
スケーラブルなジョブ実行基盤

                        Generative AI in practice: Concrete LLM use cases in Java, with the PaLM API

                          Kubernetes (EKS) で構築する
スケーラブルなジョブ実行基盤
                        • 転職会議から冪等でないバッチ処理を根絶した話 - LIVESENSE ENGINEER BLOG

                          こんにちは、かたいなかです。 最近転職会議のバッチ処理をすべて冪等にし、処理失敗時に気軽に再実行できるようにすることで運用性を向上させました。 今回の記事ではその取り組みを紹介します。 再実行すると重複送信につながるメール送信バッチ もともと、転職会議では一部のバッチ処理を除いてほとんどのバッチ処理が冪等に作られていました。しかし、残りの冪等ではないバッチ処理では、失敗するたびに毎回アドホックな対応をする必要があり運用性に課題を抱えていました 残っていたもので一番大きな問題を抱えていたのがメール送信バッチです。これは、以下の図のようなアーキテクチャで動いており、ワーカーにメールを送信するように指示するメッセージをSQSにキューイングする処理を行うものです。 このメール送信バッチのキューイング処理が途中で失敗した際に、雑に再実行してしまうと同一のユーザに重複してメールが送信されてしまう事にな

                            転職会議から冪等でないバッチ処理を根絶した話 - LIVESENSE ENGINEER BLOG
                          • ECS Scheduled Taskの管理をecscheduleでGitOps化しました - コネヒト開発者ブログ

                            こんにちは。コネヒトのテクノロジー推進グループでインフラエンジニアをしている laughk です。 今回は定期実行バッチで利用しているECS Schedule Taskの管理に Songmu/ecschedule を導入し、GitOps化した話をまとめます。 サマリ ecscheduleを導入する前の定期実行バッチの管理状況と課題 技術選定 - ecshceduleを選定した理由 導入プロセス GitOps化 導入後どうなったか ecscheduleを導入する前の定期実行バッチの管理状況と課題 コネヒトでは提供するサービスのWeb基盤にAmazon ECSをフル活用しており、定期実行バッチにおいてもECS Scheduled Taskを利用しています。ECS Scheduled TaskはECS Taskを cron のように定期実行でき、とても便利なものです。一方でその管理においては利用

                              ECS Scheduled Taskの管理をecscheduleでGitOps化しました - コネヒト開発者ブログ
                            • バッチ処理をFargateに移行した - アクトインディ開発者ブログ

                              morishitaです。 先日、いこーよを Kubernetes に移行した件を紹介しました。 tech.actindi.net いこーよは Web だけで動いているわけではなく、裏で定期的に実行されるバッチ処理も行っています。 本エントリではそのバッチ処理の実行環境を Fargate ECS に移行した件について書きます。 移行前はどうなってた? いこーよは Rails で開発しています。 バッチ処理というと、DB を集計したり、一斉に DB の値を書き換えたりするものがほとんどです。 そこで ActiveRecord のモデルを利用したいので、バッチ処理も Rails で実装しています。 つまり、Rails Runner で定期的にバッチ処理を実装したメソッドを実行しています。 移行前は、バッチ処理専用サーバがあって、crond で定期的に実行していました。 バッチ処理そのものやバッチ

                                バッチ処理をFargateに移行した - アクトインディ開発者ブログ
                              • バッチ処理の改善 〜冪等性の設計導入〜 - Timee Product Team Blog

                                前編(トランザクション範囲の最小化)へ はじめに こんにちは。タイミーのバックエンドエンジニア中野です。 前編では締めのバッチ処理におけるトランザクションの範囲を最小化した技術的改善をご紹介しました。トランザクションの範囲をバッチ処理全体から最小限の範囲に変更したことにより、バッチ処理が失敗した場合に請求レコードの処理が途中まで完了している状態が発生するようになりました。後編では、処理対象の請求レコードに対し状態を持たせることでバッチ処理全体での冪等性を担保し、バッチ処理が途中で失敗した場合でも安全に処理を再開できるようにした取り組みをご紹介します。 はじめに 締めのバッチ処理とは 現状の課題認識 実施した施策 冪等性とは 冪等性を実現する方法 バッチ処理への適用 達成できたこと 今後の課題 スループット向上とリソース最適化 まとめ 締めのバッチ処理とは まずは前編のおさらいになりますが、

                                  バッチ処理の改善 〜冪等性の設計導入〜 - Timee Product Team Blog
                                • Webのバッチ処理とオンライン処理のポイントとシステムの応答性能を学ぶ#3(社内勉強会)|TechRacho by BPS株式会社

                                  #1 処理時間とレスポンス時間 #2 バッチ処理とオンライン処理 #3 バッチ処理を設計するときの注意点(本記事) #4 オンライン処理とUXの工夫 #5 Railsのジョブ管理システムと注意点 #6 バッチ処理ですぐに使えるノウハウ、まとめ バッチ処理を設計するうえでの注意点 バッチ処理を設計する際は、処理時間がどの程度になるのかを事前に計測・見積し、その結果を元に実行計画を立てるのが重要です。少なくとも、所要時間の見通しもなくバッチ処理を作成するのは危険です。 一般的にはデータ量が増えれば処理時間も増えるので、データ量が増えたときに処理時間がどのように延びるかは予め見積もっておきます。たとえば「データが1万件のときは20分、件数が倍になると処理時間が4倍増える」といったように、データ増加に応じた処理時間を予測できるように計測やベンチマークを事前に実施しておく必要があります。 データ量と

                                    Webのバッチ処理とオンライン処理のポイントとシステムの応答性能を学ぶ#3(社内勉強会)|TechRacho by BPS株式会社
                                  • いまさらWorkManager〜概要編〜 - Qiita

                                    はじめに Android Jetpackで追加されたWorkManagerを学習してみます。 今更感がありますが、改めて確認してみると、かなり便利な機能です。 似たような機能としてJobSchedulerもあります。JobSchedulerについてはこちらの記事を確認してください。 公式サイトを見ながら必要となる技術を説明していきます。下記の表は記事を掲載するたびに更新していきます。 タイトル 内容 リンク

                                      いまさらWorkManager〜概要編〜 - Qiita
                                    • Ruby On Railsで、cronoを使って最小手順でバッチ処理を作る

                                      Ruby On Rails におけるバッチ処理の作り方 cronoを使用するには ログ出力切り替えに関して Ruby On Rails におけるバッチ処理の作り方 Railsでのバッチ処理を普通に検索すると、wheneverがヒットする。 別にこれでもいいんだけど、wheneverはcronに依存しているのが気に食わない。dockerで環境を作っていたりするとcronデーモンをキックするのに余計な手間がかかる。 次点でsidekiqを使う方法も出てくるけど、sidekiqはredisが必須要件となっていて、サーバの構成要件に口出しできない立場だったりするとそもそも導入はできない。 ということで、cronoというgemを使って実現する方法を以下に示す。 多分これが一番手数が少ない。 cronoを使用するには A time-based background job scheduler daem

                                      1