並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 345件

新着順 人気順

クエリの検索結果1 - 40 件 / 345件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

クエリに関するエントリは345件あります。 SQLDBデータベース などが関連タグです。 人気エントリには 『MySQLでIN句の中に大量の値の入ったクエリがフルスキャンを起こす話 - freee Developers Hub』などがあります。
  • MySQLでIN句の中に大量の値の入ったクエリがフルスキャンを起こす話 - freee Developers Hub

    こんにちは、freee Developers Advent Calendar 2021、19日目のid:shallow1729です。昨日はtdtdsさんで【マジで】サイバー演習シナリオの作り方【怖い】でした!障害訓練後に攻撃方法を解説された時はリアリティの高さに驚きました。 僕はMySQLを使っていて発生した不思議な挙動の調査の話をしようと思います。 今回問題となったクエリ 今回話題にするクエリは以下のようなシンプルなものです。 SELECT * FROM hoge WHERE id IN (...) MySQLのパラメーター次第ですが、デフォルトの設定だとこのIN句の中の値の数が数万になると適切なインデックスが用意されていてもフルスキャンが発生する事がありました。このクエリがテーブルのほとんどのレコードを網羅するような場合や高速でレコードを大量にinsertして統計情報が追いつかないケー

      MySQLでIN句の中に大量の値の入ったクエリがフルスキャンを起こす話 - freee Developers Hub
    • SQLの達人への道: MySQLでの高速・効率的クエリ作成術 - Qiita

      データベースとテーブルの作成 テスト用のデータベースtestdbを作成し、パフォーマンスチューニングを検証するためのcompanyおよびpersonテーブルを定義します。 CREATE DATABASE testdb; USE testdb; CREATE TABLE company ( company_id INT AUTO_INCREMENT PRIMARY KEY, company_name VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE person ( person_id INT AUTO_INCREMENT PRIMARY KEY, company_id INT, person_name VARCHAR(255) NOT NULL, email VARCH

        SQLの達人への道: MySQLでの高速・効率的クエリ作成術 - Qiita
      • WindowsのChromeやEdgeでネットにつながりにくくなる現象、一部の家庭用ルーターが原因かも? DNSの“TCPクエリ”うまく扱えない機種も存在。ChromeのTCPクエリ送信が引き金に

          WindowsのChromeやEdgeでネットにつながりにくくなる現象、一部の家庭用ルーターが原因かも? DNSの“TCPクエリ”うまく扱えない機種も存在。ChromeのTCPクエリ送信が引き金に
        • 型キャストの場所のせいで、秒で終わっていたクエリに1時間超かかるようになってしまった話 - SmartHR Tech Blog

          SmartHRで届出書類という機能を担当しているプロダクトエンジニアのsato-sと申します。 今日は、以前私が調査にとても苦労したパフォーマンス上の問題の話を紹介したいと思います。 TL;DR PostgreSQLのアップグレードを実施した アップグレード後、今までは問題のなかった特定のクエリの実行に1時間超かかり、DBのCPU使用率がピッタリ100%に張り付くようになった 色々調査した結果、PostgreSQL上の型キャストの場所のせいで、良くないクエリプランが選択されることが原因だった 型キャストの場所には気をつけよう PostgreSQLのアップグレードと挫折 SmartHRでは基本的にWebアプリケーションのデータベースとしてGoogle CloudのCloudSQLによって提供されるPostgreSQLを利用しています。 私の担当している届出書類機能では、利用中のPostgre

            型キャストの場所のせいで、秒で終わっていたクエリに1時間超かかるようになってしまった話 - SmartHR Tech Blog
          • 高効率なSQLクエリの書き方 - Qiita

            概要 この記事では、SQLクエリをより効率的に記述するためのベストプラクティスとテクニックに焦点を当てています。データベースのクエリはシステム全体のパフォーマンスに直結するため、最適な書き方を知ることは重要です。インデックスの効果的な活用方法、適切な結合の選択、そして条件の効果的な書き方など、SQLの最適化に関する具体的な手法を解説します。各SQL文に関する実行計画の結果も掲載していますので、ぜひご確認ください。 なお、Oracle19cとOracle12cでの利用実績がありますが、他のデータベースやバージョンにおいての検証は行っておりません。 新しい情報は随時追加されますので、お楽しみにしてください。 SQLの最適化に関連する基本的なアイデア 以下の通りと考えています。 1.インデックスの利用 2.正しいJOINの選択 INNER JOIN、LEFT JOIN、RIGHT JOINなど、

              高効率なSQLクエリの書き方 - Qiita
            • MySQLで階層構造を扱うための再帰的なクエリの実装方法と実用例

              1.はじめに RDBでの階層構造の関係を持つデータを扱う上で、 効率的なデータの持ち方や抽出方法について検証を行っています。 結論から先に 階層構造を扱う方法として下記の種類があります。 隣接リスト 経路列挙 入れ子集合 閉包テーブル 再帰クエリ(WITH RECURSIVE)を使うと階層データを扱う上でのパフォーマンスが得られます。 検索性、更新量、データ量など加味すると隣接リストで再帰クエリを用いるのがよさそう。 2.階層構造を持つデータの概要 階層構造を持つデータとは 複数の要素(データ)が親子関係で結びついている構造を持つデータ 1つの要素が複数の要素の親になることができ、 また、1つの要素が複数の子要素を持つこともあります。 ある要素を親として、細分化された子要素であったり、 類似する要素を抽象化したものを親要素とするようなデータ。 階層構造を持つデータの例 組織における事業部、

                MySQLで階層構造を扱うための再帰的なクエリの実装方法と実用例
              • SQLクエリを実行、クエリ結果を可視化できるウェブアプリ「SQLPad」を試してみた | DevelopersIO

                こんにちは!DA(データアナリティクス)事業本部 サービスソリューション部の大高です。 SQLクエリをローカル環境でウェブアプリとして実行できるものが無いか少し探していたのですが、「SQLPad」というアプリケーションを見つけたので実際に試してみたいと思います。 SQLPadとは SQLクエリを実行、クエリ結果を可視化できるセルフホスティング型のウェブアプリケーションです。2022年1月現在では以下の15個のデータベースに対応しており、ODBCにも対応しているのでODBC接続を利用すれば、これ以外のデータベースにも接続可能なようです。 Postgres MySQL SQL Server ClickHouse Crate Vertica Trino Presto Pinot Drill SAP HANA Snowflake BigQuery SQLite TiDB 公式サイトでの解説は以下の

                  SQLクエリを実行、クエリ結果を可視化できるウェブアプリ「SQLPad」を試してみた | DevelopersIO
                • もう人間がクエリを書く時代じゃない!SQLクエリの組み立てを自動化するSlack botを開発・導入しました - Pepabo Tech Portal

                  こんにちは。SUZURI事業部の@kromiiiと申します。 私のメインの業務はWebアプリケーションの開発ですが、大学院時代のスキルを活かして並行してデータ分析業務も行っています。 データ分析業務ではデータベースのクエリを書くことが多いのですが、私自身SUZURI事業部に配属されたばかりで、テーブルの名前やリレーションを覚えるのが大変でした。そこでクエリの設計を自動化するツールをSlackに導入しました。 その名も tbls-ask bot です。どのようなものか先に見てみましょう。 ユーザーはSlackでメンションする形で、どのようなクエリを実行したいのか自然言語で入力します。 メンションされるとSlack botが起動し、どのDBスキーマを利用するかを尋ねます。 ユーザーがDBスキーマを選択すると、自然言語からSQLクエリを生成し、Slackに返答します。 今回はパブリックに公開する

                    もう人間がクエリを書く時代じゃない!SQLクエリの組み立てを自動化するSlack botを開発・導入しました - Pepabo Tech Portal
                  • BigQueryでクエリ一撃で29万円溶かしたけど助かった人の顔

                    SolanaのPublic DataをBigQueryで取得したかった# えー、お笑いを一席. ブロックチェーンSolanaのデータがGoogle Cloud BigQueryで使えるようになったというニュースをたまたまネット推薦記事でみかけた1. おや, 面白そうだ. ちょっとやってみようかな… BigQueryはさわるのが1年以上つかってないかも, どうやるんだっけ… とりあえずカラムとかサンプルでちょっとデータをみたいよな, こんな感じだっけか? とりあえず動かしてみよう, ポチッとな. … 5秒でレスポンスが帰ってくる. おー、速い. えーっと, あれ課金データ309TB?! いちげきひっさつ、ハサンギロチン2. BigQueryでクエリ一撃5 秒で29万円溶かした人の顔# 話題の画像生成AI, DALL・Eをつかって BigQueryでお金溶かした人の顔を表現してもらった3. あ

                    • GraphQL Pokémon を使って楽しく学ぶ GraphQL クエリ - kakakakakku blog

                      GraphQL クエリを学ぶ場合,気軽に使える API があると便利だと思う.よく見るのは GitHub GraphQL API や Star Wars API だけど,個人的に Star Wars の映画を観たことがなく,データの理解が難しいため,良さそうな API を探していた.すると,GitHub で公開されている「GraphQL Pokémon」を発見した.GraphQL で「ポケモン(第一世代)」のポケモンを検索することができる.これは楽しそう!さっそく試してみた. github.com クエリ環境 GraphQL Pokémon には GraphiQL コンソールがあり,ブラウザから簡単にクエリを実行できる. https://graphql-pokemon.now.sh/ https://graphql-pokemon2.vercel.app/ 個人的には GraphQL Pl

                        GraphQL Pokémon を使って楽しく学ぶ GraphQL クエリ - kakakakakku blog
                      • 競走馬の血統をSQLで再現できる! 再帰クエリ徹底活用してみた - asoview! Tech Blog

                        アソビュー! Advent Calendar 2022の10日目です。 8月に入社しアソビューでバックエンドエンジニアをしている長友です。 みなさま再帰クエリ使っていらっしゃるでしょうか! 最近アソビューではmysqlの8系へのバージョンアップを行った為、再帰クエリの利用が可能となりました。 そこで本日は、アソビュー競馬部にも所属しておりサラブレッドの血統好きな私が再帰クエリを使ってツリー構造の血統表を作成してみるというお話です。 血統表とは ~ 本稿の目的 再帰クエリについて mysqlにおける再帰クエリの構文 再帰クエリとナイーブツリー構造 血統表作成における再帰クエリ 血統表のデータ構造 血統表を作成するクエリ ポイント1. 世代を表すgenerationを0で初期化し、各再帰の中でインクリメントする ポイント2. 世代内での配置を表すpositionを初期値1で定義し、再帰で取得す

                          競走馬の血統をSQLで再現できる! 再帰クエリ徹底活用してみた - asoview! Tech Blog
                        • クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する

                          SQL実行の流れ まずはSQLがどのような流れで実行されるのかを見ていきます。 SQL実行の流れは大まかに捉えると以下のようになります。 パーサ パーサでは、ユーザーから送信されたクエリを受け取り、その文法的な正確さを検証します。SQLクエリが正しくフォーマットされているか、必要な構文要素が全て含まれているかをチェックし、例えばFROM句で指定されたテーブルが存在するかどうかも確認します。 文法的なエラーがある場合、例えばカンマの欠落や存在しないテーブルの参照など、クエリはエラーとして返されます。 エラーがない場合は、クエリは「抽象構文木」というデータ構造に変換されます。これにより、データベースはクエリをより効率的に解析し、次の処理ステップに進めることができます。 オプティマイザ SQLクエリがパーサを通過した後、次にクエリの最適化を行うのが「オプティマイザ」です。オプティマイザの主な役割

                            クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する
                          • MySQLでNested Loopなクエリはインデックスをどう辿っているか - $shibayu36->blog;

                            タイムライン的なものをSELECTだけで実装しようと思った時に、Nested LoopなクエリでUsing temporary; Using filesortが出るようなそこそこ遅いクエリになる。その時にMySQLがインデックスをどう辿っているかを知りたかったので調べてみた。MySQLバージョンは8.0.33。 あまり自信はないので、もし間違った話をしていたら教えて欲しい。 どのようなクエリを検証するか タイムラインの取得ができるような、ユーザー・フォロー関係・投稿の3つのテーブルを作る。スキーマは次の通り。 CREATE TABLE users ( id INTEGER PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL ); CREATE TABLE follows ( id INTEGER PRIMARY KEY AUTO_I

                              MySQLでNested Loopなクエリはインデックスをどう辿っているか - $shibayu36->blog;
                            • MySQL のインデクスが利用されないクエリ等を自動検出する ExplainPolice の運用について

                              LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog LINE 株式会社 B2B Platform 開発担当フェローの Matsuno です。 LINE の Business Platform ではメインのデータベースとして MySQL を利用しています。MySQL は非常に高速に動く OSS の RDBMS なので、とても便利に利用させていただいております。 MySQL はとても高速なのですが、うっかり index を使わないクエリを発行した場合に実行がとても遅くなってしまうことがあります。LINE の Business Platform はとても多くのお客様が利用されるので、B2B としては異例なほどトラフィックが多く、少し遅いクエリが発生した結果としてサイト全体がダウンして

                                MySQL のインデクスが利用されないクエリ等を自動検出する ExplainPolice の運用について
                              • Amazon Aurora MySQLの不具合でローカルディスクが枯渇しクエリが実行出来なくなった話 - Kaizen Platform 開発者ブログ

                                SRE Group Managerをしている前田です。今回の記事は当社で遭遇したAmazon Aurora MySQLの不具合の話になります。 3行まとめ Amazon Aurora MySQLのローカルストレージが異常な速度で消費、枯渇しクエリを実行するとエラーが発生するようになった 原因調査とAWSサポートへの問い合わせの結果、Aurora MySQL 2.10.0 の不具合と判明し、2.10.2へバージョンアップで解消 Auroraのローカルストレージは自動拡張されないので、残容量の監視をしましょう 事象発生と解決までを時系列で記載。 2021年10月、Auroraに対してクエリが実行出来なくなる 社内メンバーよりBIツールからAurora MySQLに対してのクエリがエラーになるとのことで、クエリに limit 100 を付けると実行出来、 limit 1000だと Error w

                                  Amazon Aurora MySQLの不具合でローカルディスクが枯渇しクエリが実行出来なくなった話 - Kaizen Platform 開発者ブログ
                                • GoでSQLの複雑なクエリのテストを書いてみた - ZOZO TECH BLOG

                                  はじめに こんにちは。ブランドソリューション開発本部FAANSバックエンドブロックの佐野です。普段はサーバーサイドエンジニアとして、FAANSのバックエンドシステムを開発しています。 FAANSとは、弊社が2022年8月に正式ローンチした、アパレル店舗で働くショップスタッフの販売サポートツールです。例えば、コーディネート投稿機能や成果確認機能などを備えています。投稿されたコーディネートはZOZOTOWNやWEAR、Yahoo!ショッピング、ブランド様のECサイトへの連携が可能です。成果確認機能では、投稿されたコーディネート経由のEC売上やコーディネート閲覧数などの成果を可視化しています。 本記事では、成果データの集計処理におけるBigQueryのクエリ実行処理のユニットテストをGoで実装した取り組みと、その際の工夫についてご紹介します。 目次 はじめに 目次 成果データの集計処理とは 抱え

                                    GoでSQLの複雑なクエリのテストを書いてみた - ZOZO TECH BLOG
                                  • AWS、DynamoDBをSQLで操作可能に。SQL互換のクエリ言語「PartiQL」対応を発表

                                    AWSはNoSQLデータベースサービスのDynamoDBが、SQLで操作可能になるSQL互換のクエリ言語「PartiQL」に対応したことを発表しました。 You now can use PartiQL (a SQL-compatible query language) to query, insert, update & delete table data in DynamoDB. PartiQL makes it easier for you to interact with DynamoDB & run queries in the AWS Management Console. https://t.co/qlRwzYZCPC pic.twitter.com/pVaX5xlEDu — DynamoDB (@dynamodb) November 23, 2020 DynamoDBはキーバ

                                      AWS、DynamoDBをSQLで操作可能に。SQL互換のクエリ言語「PartiQL」対応を発表
                                    • 列指向、行指向データベースの特性を木構造を用いた集計クエリから理解する

                                      この記事は毎週必ず記事がでるテックブログ "Loglass Tech Blog Sprint" の 34 週目の記事です! 1 年間連続達成まで 残り 19 週 となりました! 株式会社ログラスの龍島(りゅうしま)です。最近はもっぱら新生姜をガリにしてクラフトビールのつまみにする毎日を送っています。今日はデータベースとデータ構造の話です。 この記事でやること データ集計の高速化のため、多くの場合、列指向データベースが選ばれます。列指向が大量のデータ操作を効率的に処理できるためです。行指向のデータベースを利用している状況で、データ集計のパフォーマンス向上のため列指向データベースへの移行をすることはよくある例です。しかし、行指向データベースで有効なデータ構造やクエリが列指向で同様に優れているとは限りません。この記事では、行指向のPostgreSQLと列指向のBigQueryを使って、それぞれに

                                        列指向、行指向データベースの特性を木構造を用いた集計クエリから理解する
                                      • より信頼できるクエリを書くために、SQLでもテストを書く - ハヤオキスルフクロウ

                                        はじめに こんにちは、久しぶりに技術系の記事を書きます、株式会社カンムで機械学習エンジニアをしている fkubota です。 今日はSQLについてです。 弊社に入社してから毎日のようにSQLのクエリを書いてきました。 クエリを書き始めてからもう3年が経とうとしています。 日々クエリを書きながら少しずつ自分のスタイルが出来上がってきているのを日々実感しています。 僕は 正確で 読みやすく 再利用しやすいクエリを 高速に 生み出すための工夫を重ねてきました。 結果的にテスト駆動開発ぽいスタイルが生まれたので今日は紹介してみようと思います。 似たような記事がないので少しドキドキですが温かい気持ちで読んでもらえると嬉しいです。 対象読者 対象読者は、分析のためにクエリを書いている人とします。 プロダクトに乗せるクエリというより、ビジネス的になにか示唆を得たいときにクエリを書く人を想定します。 痛み

                                          より信頼できるクエリを書くために、SQLでもテストを書く - ハヤオキスルフクロウ
                                        • GraphQL API を悪意あるクエリから守る手法 - yigarashiのブログ

                                          実サービスで GraphQL API をインターネットに公開する際は、悪意あるクエリに対する防衛が欠かせません。この記事における「悪意あるクエリ」とはサービスに意図的に負荷をかけるクエリのことです。GraphQL では 、木構造や再帰的な構造を利用して、一回のクエリで容易に数百万・数千万件のデータを取得することができます。そのようなクエリを実行してしまうと、アプリケーションサーバーや、その後ろにいる別のサービスに甚大な負荷がかかります。これは攻撃者からしてみれば恰好の的で、なんらか対策を講じる必要があります。 幸いこうした問題はよく知られており、クエリを静的に解析するライブラリがいくつか存在します。しかし、そうしたライブラリをどう使うかといったことはあまり議論されておらず、効果的な対策を行うのは依然として難しい状況だと感じます。この記事では、典型的な負荷の高いクエリとその具体的な対策を紹介

                                            GraphQL API を悪意あるクエリから守る手法 - yigarashiのブログ
                                          • AWSのデータストアやフォーマットに依存しない問い合わせが可能に。オープンソースとして公開されたSQL互換クエリ言語「PartiQL」を触ってみた | DevelopersIO

                                            AWSのデータストアやフォーマットに依存しない問い合わせが可能に。オープンソースとして公開されたSQL互換クエリ言語「PartiQL」を触ってみた 先日、SQL互換の新しい問い合わせ言語およびそのリファレンス実装となる「PartiQL」がオープンソースとして公開されました。 Announcing PartiQL, one query language for your relational and non-relational data: https://t.co/ykrFrrOFEO pic.twitter.com/VN2FLJkvqN — AWS Open Source (@AWSOpen) August 1, 2019 PartiQLの概要及び技術的な仕組みの詳細解説は下記エントリ群を参照頂くとして、 公式サイトにてPartiQLのチュートリアルが公開・展開されていますので、当エント

                                              AWSのデータストアやフォーマットに依存しない問い合わせが可能に。オープンソースとして公開されたSQL互換クエリ言語「PartiQL」を触ってみた | DevelopersIO
                                            • MySQLに投げられたすべてのSQLクエリをロギングする - モヒカンメモ

                                              概要 クエリビルダやORMが生成するクエリを確認したいなどの理由で、MySQLに投げられたクエリを確認したくなることがある そういうときは、MySQLのクエリログ (general_log) と言う設定をONにすることによって、すべてのクエリをログに吐かせることができる dev.mysql.com 5.2.3 一般クエリーログ 一般クエリーログは、mysqld の実行内容の一般的な記録です。サーバーは、クライアントが接続または接続解除したときに情報をこのログに書き込み、クライアントから受け取った各 SQL ステートメントをログに記録します。一般クエリーログは、クライアント側でエラーが疑われるとき、クライアントが mysqld に送信した内容を正確に知りたい場合に非常に役立つことがあります。 やってみる 1. 現在の設定を確認する mysql> select version(); +----

                                                MySQLに投げられたすべてのSQLクエリをロギングする - モヒカンメモ
                                              • CSSの新機能、メディアクエリの新しいクエリ「update」がChrome 113で使用できるようになりました

                                                2023年5月4日にリリースされたChrome 113で、CSSの@mediaで新しいメディアクエリが使用できるようになったので、紹介します。 新しいクエリはupdateで、WebサイトやアプリのUIをデバイスのリフレッシュレートに最適化させることができます。 CSS update Media Query 下記は各ポイントを意訳したものです。 ※元サイト様のライセンスの元、翻訳しています。 はじめに 「update」クエリの基礎知識 新しいメディアクエリ「update」を使用したデモ リソース はじめに CSSのメディアクエリは、Webサイトやアプリを表示されているデバイスに基づいて外観をコントロールできる強力なツールです。メディアクエリを使用すると、さまざまなスクリーンサイズや向きなどに対してレイアウトを最適化できます。 updateクエリは、デバイスのリフレッシュレートに適応することが

                                                  CSSの新機能、メディアクエリの新しいクエリ「update」がChrome 113で使用できるようになりました
                                                • 読みやすく、再利用しやすいSQL分析クエリを書くコツ

                                                  こんにちは、Wantedlyでデータサイエンティストをしている樋口です! 自分は過去、分析のためにSQLを書いているとき、以下のようなミスをしていました。 メール開封率を集計したら何故か100%を超えてしまった。でもどこが原因かがわからない メール開封率を集計したのち、クリック率も追加で依頼を受けたが、再利用できるクエリになっておらず、一から書き直した クエリのレビューを依頼したら、複雑すぎると言われてしまった こういった経験がある方は自分以外にもいるのではないでしょうか...! SQLは非常に自由度が高く便利である反面、書き方が個人に委ねられ、複雑・難解になりやすいと感じています。 そこで本記事では、自分が実務で学んだ、読みやすく、再利用しやすいSQLクエリの書くコツを紹介したいと思います。個人の経験によるものなので、より良い書き方・考え方もあるかもしれないです。ご了承ください🙏 読み

                                                    読みやすく、再利用しやすいSQL分析クエリを書くコツ
                                                  • ワンライナーで CSV に対して SQLite クエリを実行する - アルパカの徒然文

                                                    One-liner for running queries against CSV files with SQLite という記事で紹介されていた、ワンライナーを使って CSV ファイルに対して SQL クエリを実行する方法。 $ sqlite3 :memory: -cmd '.mode csv' -cmd '.import taxi.csv taxi' \ 'SELECT passenger_count, COUNT(*), AVG(total_amount) FROM taxi GROUP BY passenger_count' ソース元に記述されてる通り、taxi.csv を GitHub からダウンロードして試すことができる。7z で圧縮されていて解凍する必要がある。 SQLite は通常ストレージディスク(SSD とか)上に保存して利用するのが一般的だが、SQLite 側で用意さ

                                                      ワンライナーで CSV に対して SQLite クエリを実行する - アルパカの徒然文
                                                    • 検索クエリからファジーにキーワードを抽出する(スミス・ウォーターマン法に基づく実装) - Giftmall Inside Blog

                                                      TL;DR 表記揺れがふくまれる検索クエリにマッチしたコンテンツを表示するための手法として、スミス・ウォーターマン法に基づくあいまい検索を実装して検索精度を向上しました。この手法は機械学習システムを使わないためメンテナンスコストが低く、その一方で速度面でも実用的な性能を持ちチューニングしやすいのが特長です。 はじめに こんにちは、ギフトモールで検索エンジンなどを開発している @samayotta です。 私たちギフトモールはプレゼントに特化したECサービスを提供しています。ギフトECにおいても、ユーザのニーズにマッチする商品を探すための検索機能は重要となります。例えば、弊社が運用しているギフトECサービスの一つであるギフトモールは、ユーザが入力する文字列の検索クエリから関連するキーワードを検出し、そのキーワードに紐づいているコンテンツ(商品、記事、etc.)を提示する検索機能を持っています

                                                        検索クエリからファジーにキーワードを抽出する(スミス・ウォーターマン法に基づく実装) - Giftmall Inside Blog
                                                      • Amazon S3のデータを直接検索できる「MongoDB Atlas Data Lake」正式リリース。データベースへの転送不要、MongoDBのクエリ言語を直接実行

                                                        Amazon S3のデータを直接検索できる「MongoDB Atlas Data Lake」正式リリース。データベースへの転送不要、MongoDBのクエリ言語を直接実行 MongoDBは、Amazon S3に保存されているデータをそのままデータベースへ転送することなく、直接MongoDBのクエリ言語で検索可能にするクラウドサービス「MongoDB Atlas Data Lake」の正式リリースを発表しました。 発表は同社がオンラインで開催したイベント「MongoDB.Live 2020」で行われました。 通常、データベースで検索や分析の対象となるデータはデータベース内に保存されているデータであるため、ファイルサーバやオブジェクトストレージなどに保存されているJSONデータやCSVファイルなどは、何らかの方法でデータベースへインポートする必要があります。 MongoDB Atlas Data

                                                          Amazon S3のデータを直接検索できる「MongoDB Atlas Data Lake」正式リリース。データベースへの転送不要、MongoDBのクエリ言語を直接実行
                                                        • 毎月約500万本のクエリが投げられる BigQuery の運用とデータマネジメント / BigQuery and Data Management

                                                          毎月約500万本のクエリが投げられる BigQuery の運用とデータマネジメント / BigQuery and Data Management

                                                            毎月約500万本のクエリが投げられる BigQuery の運用とデータマネジメント / BigQuery and Data Management
                                                          • SQLiteが「大量の小さなクエリ」の処理を得意とする理由とは?

                                                            MySQLやPostgreSQLといったクライアント・サーバー型のデータベースで大量のクエリを発行すると、クライアントとサーバー間の通信が大きなボトルネックとなることがあります。一方、軽量データベースのSQLiteは、その設計上「大量の小さなクエリ」の処理が得意であるとのこと。なぜSQLiteが効率的に大量のクエリを処理できるのかについて、SQLiteが説明しています。 Many Small Queries Are Efficient In SQLite https://sqlite.org/np1queryprob.html SQLiteの利用方法を記したページによると、SQLiteでは1つのウェブページにつき200クエリが適切であるとのこと。この記述について、開発者からしばしば「1つのページにつき200クエリなんて、ばかげている」と指摘されることがあるそうです。 SQLiteは開発者か

                                                              SQLiteが「大量の小さなクエリ」の処理を得意とする理由とは?
                                                            • NTTドコモ、データ分析基盤にBigQueryを導入、クエリーの約7割をRedshiftからBigQueryに移行 | IT Leaders

                                                              IT Leaders トップ > テクノロジー一覧 > BI/BA/DWH > 事例ニュース > NTTドコモ、データ分析基盤にBigQueryを導入、クエリーの約7割をRedshiftからBigQueryに移行 BI/BA/DWH BI/BA/DWH記事一覧へ [事例ニュース] NTTドコモ、データ分析基盤にBigQueryを導入、クエリーの約7割をRedshiftからBigQueryに移行 2021年9月7日(火)日川 佳三(IT Leaders編集部) リスト NTTドコモが自社のデータ分析基盤に「Google BigQuery」を導入した。オンプレミスとAWS(Amazon Web Services)で構成していた既存のデータ分析基盤にBigQueryを追加し、2021年7月から本格稼働を開始している。現在、高い処理性能を要求するユースケースなどユーザークエリーの6~7割をBigQ

                                                                NTTドコモ、データ分析基盤にBigQueryを導入、クエリーの約7割をRedshiftからBigQueryに移行 | IT Leaders
                                                              • 特定ドメインに対する大量の DNSクエリを DROP する - Pepabo Tech Portal

                                                                ホスティング事業部MREチームでインフラエンジニアをやっている原口です。 先日、弊社の DNSサービスに対し、軽めの DDoS攻撃が来たので、その際に対応した手順を簡単にご紹介します。 DNSサービスに対する DDoS攻撃への対応について DNSサービスに対する DDoS攻撃は昔からあり、弊社でも対策を行っております。 拠点や回線を分け、冗長化を行うのはもちろんですが、各拠点で「DDoS軽減装置」と言われるアプライアンスを導入しています。これは、不正なパケットを DROP をするものですが、一般的なファイアウォールのようなルールベースではなく、学習結果をもとに、通常とは異なる傾向のアクセスがあると動作するものになっています。 今回紹介する対応は、この DDoS軽減装置をすり抜ける程度の、軽めの DDoS攻撃に対して行ったものです。 DNSサービスの構成 今回 DDoS攻撃が来たサービスでは

                                                                  特定ドメインに対する大量の DNSクエリを DROP する - Pepabo Tech Portal
                                                                • 【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい

                                                                  【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい by nao · 2022年6月25日 前書き:sqlcとは 本記事は、kyleconroy/sqlcの基本的な情報を紹介します。 sqlcは、DBスキーマ(DBテーブル定義)、SQLクエリ定義、設定ファイルの3点をインプットとして、型安全なCRUDコード + DBテーブルに対応したモデル(構造体)を自動生成します。ここでのモデルの自動生成には、複数テーブルをJOINしたクエリ用の構造体も含まれます。 個人的な視点では、sqlcは「SQLクエリを検証してから、そのクエリを実行するGolangコードを書いて、クエリ結果を受け取るための構造体を書くのが大変」という課題を解決するツールです。独自のDSL(Domain Specific Language)は殆ど登場しないので、SQLをゴリゴリ書ける

                                                                    【golang】sqlcコマンドで「SQLクエリから型安全なGoコードを生成」し、生産性を上げたい
                                                                  • Rails 6.1で `created_at > ?` みたいなクエリをいい感じに生成する - かみぽわーる

                                                                    Rails 6.1の目玉機能として以下のように書けるwhere拡張を入れてたんですが、いろいろあって6.1からはrevertされてしまいました🥲 posts = Post.order(:id) posts.where("id >": 9).pluck(:id) # => [10, 11] posts.where("id >=": 9).pluck(:id) # => [9, 10, 11] posts.where("id <": 3).pluck(:id) # => [1, 2] posts.where("id <=": 3).pluck(:id) # => [1, 2, 3] github.com github.com なんですが、そんなことで引き下がる僕ではないので、6.1ではpredicate生成に干渉できる拡張ポイントを用意しており、以下のようなコードを適当に読み込まれるところに

                                                                      Rails 6.1で `created_at > ?` みたいなクエリをいい感じに生成する - かみぽわーる
                                                                    • MySQLで大量のシンプルなクエリを高速化する - Qiita

                                                                      どんなに軽いクエリでも、たとえばWebサーバーとMySQLの間のRTTが5msあって20クエリを実行したらRTTだけで100msかかってしまいます。 たくさんのデータをinsertするときは bulk insert (VALUES の後に複数の行を書くクエリ) を使うテクニックは有名です。しかしこのテクニックは次のような場合に使えません。 複数のテーブルに1行ずつINSERTしたい 複数のUPDATEやSELECTをまとめたい たとえば弊社のある案件で次のような場面がありました。 新規ユーザー作成時に大量のテーブルにINSERTしたい ログイン時に大量のテーブルにSELECTしたい こういった場面を高速化するために multiple statements と multiple result sets を利用しました。 Multiple Statements 複数のクエリを ; で区切って一

                                                                        MySQLで大量のシンプルなクエリを高速化する - Qiita
                                                                      • エンジニアなら解けるかも?プログラミング経験ゼロでもSQLを無料で学べるpaizaのプログラミングゲーム「エンジニア騎士とクエリの魔女 DBエンジニア、魔法使いになる」で遊んでみた

                                                                        仕事や趣味でプログラミングを勉強する場合、ウェブサイトや市販の教本を見て学習するのが一般的。プログラミング経験があれば、ある程度勉強のやり方が身についていますが、まったくの未経験だと何から手をつけていいのかわからず、モチベーションが続かないこともあります。ITエンジニア向け転職・就活・学習サービスのpaizaがリリースした「エンジニア騎士とクエリの魔女 DBエンジニア、魔法使いになる」は、「異世界に勇者パーティそして召喚された新人ITエンジニアの男女。目覚めるとそこは、剣(コード)と魔法(SQL)が支配する世界だった。騎士と魔法使いの冒険が、いま始まる。」というオープニングで始まる異世界転生プログラミングゲームで、SQLやプログラミングの問題を解くことで、ゲーム内で使えるパーツや衣装などのアイテムをゲットできるとのこと。そこで、プログラミング経験が皆無の超初心者である編集部員がプログラミン

                                                                          エンジニアなら解けるかも?プログラミング経験ゼロでもSQLを無料で学べるpaizaのプログラミングゲーム「エンジニア騎士とクエリの魔女 DBエンジニア、魔法使いになる」で遊んでみた
                                                                        • [速報]GitHub Copilotが外部ツールと統合可能に。DBのクエリ性能の状況もフィーチャーフラグの状態もCopilotが答えてくれる。GitHub Universe 2023

                                                                          GitHubの年次イベント「GitHub Universe 2023」が米サンフランシスコで開幕。1日目の基調講演で、GitHub Copilotがサードパーティの開発者向けツールやオンラインサービスなどと統合可能になることが発表されました。 例えば、Copilot Chatのチャットで、Datastax社が提供するNoSQLデータベース「Cassandra」の現在のクエリ性能に問題がないかを質問し、回答を得ることができます。 また、Cassandraの性能を改善するにはどうすればいいか、といったサードパーティ製品が備えるナレッジもCopilotに提供され、回答できるようになります。 Copilotとサードパーティ製品との統合はパートナープログラムを通して行われ、第一段としてDatastax、LaunchDarkly、Postman、Hashicorp、Datadogなどを含む25社以上が

                                                                            [速報]GitHub Copilotが外部ツールと統合可能に。DBのクエリ性能の状況もフィーチャーフラグの状態もCopilotが答えてくれる。GitHub Universe 2023
                                                                          • 年末だしRedashのクエリ棚卸しでもしましょう (調査用サンプルクエリ付き) - エムスリーテックブログ

                                                                            これはエムスリー Advent Calendar 2023の9日目の記事です。 前日の記事はSREチーム後藤の「共有会をより効果的にするために考えたあれやこれ」でした。 エムスリーエンジニアリンググループ データ基盤チームの木田です。 師走です。12月といえば年末に向けて大掃除の季節です。 古来日本では12月に宮中で「煤払い」という行事を行う風習があったことが、今日年末の時期に大掃除をする由来とされているそうです。 私の自宅はまだ何も手をつけられていませんが、せめてBIツールの中だけでもということでRedashのクエリ棚卸しをした話*1をご紹介します。 エムスリーにおけるRedashの活用状況 長年の運用の結果起きた性能問題 問題の特定と発生原因 Workerの増設 クエリの棚卸しと改善 使われていない定期実行クエリの停止 サンプル1 直近参照なしかつ定期実行クエリ クエリの実行時間改善

                                                                              年末だしRedashのクエリ棚卸しでもしましょう (調査用サンプルクエリ付き) - エムスリーテックブログ
                                                                            • FirebaseのFirestoreに便利なクエリ「array-contains-any」「where-in」ってのができたからサンプルサイトとともに解説するぞ! - フロントエンドの地獄

                                                                              前から噂されていた便利クエリarray-contains-anyおよびwhere-inがついにJSのSDK等に入ったので早速使ってみます! SDK入りたてでできたてホヤホヤのため、まだ公式ドキュメントには影も形もありません笑(2019/10/30現在) ※ 11/3追記 : 更に同じくwhereでのInクエリも発行できるようになっていたので、それについても追記しました! array-contains-any ってどんなの 今までwhereにarray-containsを指定すると、arrayに特定の値が入っているdocumentを検索できました。 実際のコードはこんな感じで、blogsコレクションの中で「tagsフィールドの中に"tech"が入っているドキュメント」を検索できます。 firebase .firestore() .collection("blogs") .where("tag

                                                                                FirebaseのFirestoreに便利なクエリ「array-contains-any」「where-in」ってのができたからサンプルサイトとともに解説するぞ! - フロントエンドの地獄
                                                                              • 【Excel】毎日集計のCSVファイルもクエリ機能で一発自動更新

                                                                                ExcelでCSV/テキストファイルを読み込む 拡張子が「.csv」のタブ区切りファイルを読み込むと、正しくセルに読み込めないことがある。毎回、セルに正しく値を読み込ませるために区切り記号を置換するなどしていないだろうか。CSV/テキストファイルを効率よく読み込む方法を解説する。 カンマ区切りファイル形式(以下、CSV:Comma Separated Values)やタブ区切りのテキストファイルは、さまざまなプログラムで出力形式としてサポートされている。そのため、これらの形式のファイルを「Microsoft Excel(エクセル)」で読み込んで、集計するといった作業が比較的広く行われている。 CSVファイルなどは、デフォルトでExcelと関連付けされているため、エクスプローラーでこれをダブルクリックして開いている人も少なくないだろう。しかし、CSVファイルなどをエクスプローラーでダブルクリ

                                                                                  【Excel】毎日集計のCSVファイルもクエリ機能で一発自動更新
                                                                                • SQLは口ほどにものを言うーRedashによるクエリ共有、監視、データ連携によるチーム効率化ー - LayerX エンジニアブログ

                                                                                  こんにちは。DX事業部の花村(@naomasabit)です。先日の投稿でユーザーの利用状況確認のためにAWSのQuickSightを利用していると書きましたが、並行して分析ツールのRedashも利用しています。Redashの良い点としてクエリベースでの分析、監視アクション、スプレッドシートとのデータ連携が存在します。 SaaSチームの運営において、これらを活用したユースケースについて伝えていきます。 アドホックな分析クエリの共有によるコミュニケーション効率化 監視アクション設定によりデータ不整合にすぐ気づける体制整備 複数チームからのデータソース連携によるヘルススコアダッシュボード作成 最後に - Redashと他の分析ダッシュボードツールの併用について アドホックな分析クエリの共有によるコミュニケーション効率化 Redashでは、まずクエリベースでアドホックな分析クエリの共有が可能です。

                                                                                    SQLは口ほどにものを言うーRedashによるクエリ共有、監視、データ連携によるチーム効率化ー - LayerX エンジニアブログ

                                                                                  新着記事