タグ

atsuizoのブックマーク (3,720)

  • BigQueryでSaaSのjsonデータを処理するSQLサンプル集 - 下町柚子黄昏記 by @yuzutas0

    この記事の概要 SaaSのデータをBigQueryに統合することで業務改善を促進できる。 しかし、SaaSのデータの中身を見ると、BigQueryの関数では対応しにくい形式になっていることがある。 そこで、稿では「こういうデータ形式だったらこういうSQLを書く」というサンプル集を掲載する。 目次 この記事の概要 目次 宣伝 実現したいこと SaaSデータの処理方法 SQLサンプル1: 純粋な配列だけのケース SQLサンプル2: 配列内にハッシュマップがあるケース SQLサンプル3: 配列宣言ナシでカンマ区切りのハッシュマップが突如始まるケース SQLサンプル4: 配列とハッシュが入り乱れるケース SQLサンプル5: JSONの中に親子構造があるケース SQLサンプル6: Objectを定義したくなるケース 最強のJSONパースの関数は作れるか jsonデータの処理をどこで行うか 最後に

    BigQueryでSaaSのjsonデータを処理するSQLサンプル集 - 下町柚子黄昏記 by @yuzutas0
    atsuizo
    atsuizo 2022/01/04
    JSONってデータ基盤、分析基盤側からするとマジ厄介なシロモノ。こういうノウハウ開示してくれるのすごく助かる。
  • Debezium

    Debezium is an open source distributed platform for change data capture. Start it up, point it at your databases, and your apps can start responding to all of the inserts, updates, and deletes that other apps commit to your databases. Debezium is durable and fast, so your apps can respond quickly and never miss an event, even when things go wrong. Try our tutorial Stream changes from your database

    Debezium
    atsuizo
    atsuizo 2022/01/03
    KafkaをベースにしたChangeDataCaptureデータ転送プラットフォーム
  • PostgreSQL の auto_explain のパフォーマンスへの影響 - ぱと隊長日誌

    概要 PostgreSQL の auto_explain モジュールはスロークエリの実行計画をログ出力する手段を提供します。このモジュールを有効化することでパフォーマンスにどの程度影響を与えるのか、PostgreSQL に同梱されている pgbench で検証を行いました。 対象バージョン 検証には PostgreSQL 14.1 を用いました。 ただし、日語ドキュメントは現時点の最新である 13.1 を参照しています。 事前調査 マニュアル auto_explain のマニュアルでパフォーマンスに関して特に目を引くのが以下の2点でした。 より一般的な使用方法は、postgresql.confのsession_preload_librariesまたはshared_preload_librariesにauto_explainを含めて、特定のまたはすべてのセッションで事前にロードしておくこと

    PostgreSQL の auto_explain のパフォーマンスへの影響 - ぱと隊長日誌
  • 熊谷で風任せ 右手に便所サンダル、左手にほうれん草〜新幹線の駅にひとり置き去り〜

    わたしを置き去りにした新幹線の鼻先が、小さく遠くに引っ張られていって小指の先ほどになり、とうとう見えなくなった。 振り返れば、ちらほらとあったはずの人影は消え、がらんどうのホームの向こう、憎らしいほどに空が青い。 ※この記事は年末年始とくべつ企画「新幹線の駅にひとり置き去り」の中の一です。 駅で日向ぼっこしているおじさんに行き先を決めてもらう 東京駅発、新潟行きの新幹線に乗りますと、発表されたのは前日の朝だった。 新潟は雪が降ったらしい。 あわてて予定よりも一つ大きなリュックを選び、長を奥底に忍ばせ、ダウンジャケットを新調した。 雪国どんと来い、の気持ちで臨んだのだけど わたしが置き去りにされたのは熊谷市だった。 平らな土地、とにかく暑い夏。 東京駅からたった40分。つくばの我が家よりも近いぞ、埼玉県熊谷市。 まじか〜 ピカピカに磨かれた床は誰に踏まれることもなく、どこからかピーン、ポ

    熊谷で風任せ 右手に便所サンダル、左手にほうれん草〜新幹線の駅にひとり置き去り〜
    atsuizo
    atsuizo 2021/12/30
    夏場に熊谷に行ったら、お店ごとのオリジナルの「雪くま(かき氷)」をおすすめする。「さわた」も扱ってるけど、その向かいの「茶の西田園」がおすすめ。
  • OID 別名型を使って PostgreSQL の内部情報を取り出す - Qiita

    こちらは PostgreSQL Advent Calendar 2021 の 21 日目の記事です。 今回は、PostgreSQL の内部情報を調べるときに役立つ、regclass や regnamespace などの OID 別名型 を紹介します。 PostgreSQL では、テーブルやスキーマなど、すべてのオブジェクトには OID と呼ばれる識別子が割り振られていて、システムカタログと呼ばれる内部情報が入ったテーブルでは、この OID が至るところに出てきます。 例えば、システムカタログ pg_class にはテーブルやインデックスなど、リレーションの情報が入っています。 =# SELECT oid, relname, relnamespace, relowner FROM pg_class; oid | relname | relnamespace | relowner ------

    OID 別名型を使って PostgreSQL の内部情報を取り出す - Qiita
  • 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
  • Oracle Database から PostgreSQL への接続を試す - Qiita

    この記事は JPOUG Advent Calendar 2021 16 日目の記事です。 昨日は ora_gonsuke777 さんの「CMAN(Oracle Connection Manager) と ロールベース・サービス/NLB で OCI DBCS Data Guard構成 の Primary接続 をシングル・エンドポイント化してみる。(Oracle Database, Oracle Cloud Infrastructure)」でした。明日は tomo さんの記事です。 Oracle Database Gateway for ODBC の機能により、ODBC ドライバーを使って PostgreSQL データベースに接続する DATABASE LINK を作成します。 Oracle Database Gateway for ODBC Oracle Database Gateway f

    Oracle Database から PostgreSQL への接続を試す - Qiita
  • PUBLICロールにREVOKEってるやついる? - Qiita

    (ネタとしてはもう古い・・・) 記事はPostgreSQL AdventCalenderの16日目の記事です。 はじめに 記事はPostgreSQL 15develを対象に確認した結果を使用しています。開発中のものであるため、リリース時には挙動が変わっている可能性がある点にご注意ください。 元々はROLEの設計について書こうと思っていたのですが、定義済みロールに見かけない子(pg_database_owner)がいたので気になって調べていたら、皆様ご存知のPUBLICロールへのREVOKEがPostgreSQL 15からは不要になるという話があったので確認してみたという話になります。 (割とインパクトのある変更なので、既にご存知の方も多いかもですが汗。) 環境 CentOS 7 PostgreSQL 14.1 15devel(2021/12/8時点) 定義済みロール(Predifine

    PUBLICロールにREVOKEってるやついる? - Qiita
    atsuizo
    atsuizo 2021/12/16
    「public使うなよ」とは言ってるけどrevokeは徹底してなかったな。
  • Log4jの脆弱性対策としてAWS WAFのマネージドルールに「Log4JRCE」が追加されました | DevelopersIO

    AWSチームのすずきです。 2021年12月11日、 AWS の Managed Ruleとして提供されている AWSManagedRulesKnownBadInputsRuleSetに新しい保護ルール「Log4JRCE」が追加されました。 Apache Log4j2 Issue (CVE-2021-44228) Log4j の脆弱性(CVE-2021-44228)対策として、AWS WAFの有効性を確かめる機会がありましたので、紹介させていただきます。 AWS Managed Rule Known bad inputs 新しいルール 「Log4JRCE」 が追加されました。 試してみた WAF(ACLs)設定 AWSManagedRulesKnownBadInputsRuleSet のみ設定した WebACLを用意しました。 BadInputsRuleSetのバージョンはデフォルト、検証

    Log4jの脆弱性対策としてAWS WAFのマネージドルールに「Log4JRCE」が追加されました | DevelopersIO
  • 第9章 速習yacc

    概要 パーサとスキャナ プログラム言語のパーサの書きかたは昔からしつこく研究されてきており、 かなりしっかりした定石がある。よほど変な(または曖昧な)文法でない 限り、定石にのっていけば解決できるものだ。 まず最底辺には文字列を単語(トークンとも言う)の列に切り出す部 分がある。これをスキャナ(scanner)とかレクサ(lexer)と言 う。日語で言うと字句解析器だが、言いにくいのでスキャナと呼ぼう。 スキャナというものが出てくる根底にはそもそも「単語の区切りには空白ある でしょ」という常識がある。そして実際にたいていのプログラミング 言語はそういう仕様になっている。そのほうが楽だからだ。 例えば古いFortranでは空白が意味を持たなかった。つまり空白を入れても 単語区切りとは限らないし、変数の途中で何の前触れもなく空白を挿入したり することもできた。ところが解析が恐ろしく面倒なもの

    atsuizo
    atsuizo 2021/11/10
  • AWS Aurora MySQL Parallel Query の基礎研究 | 外道父の匠

    AWS Aurora MySQLには、高性能を期待できる Parallel Query という機能があります。 実際、良いモノっぽいのですが、非常に情報が少ないので私めがいつものように掘り下げて、お役に立てればという徳を積む行為であります。 目次 Parallel Query とは リンク集 速度比較 費用の仕組み 設定による有効・無効 有効にできない条件 Parallel判定されるクエリ 結合クエリ innodb_buffer_pool_size との関係 その他 実践では Parallel Query とは 詳しくは下記リンクを見たほうがいいのですが、頑張って要約してみます。 通常のDB処理は、データを可能な限りメモリ上に置いておいて処理しようとしますが、オンメモリじゃないデータはストレージから取得する必要があり、データ取得後はDB体における1スレッドがクエリ処理を行います。 Aur

    AWS Aurora MySQL Parallel Query の基礎研究 | 外道父の匠
  • 第154回 スロークエリログに出力される項目とlog_slow_extra | gihyo.jp

    連載ではこれまでスロークエリログについて、いくつか紹介してきました。 第7回 スロークエリーログを使って遅いクエリを収集する 第113回 anemoeaterを使ってスローログを可視化してみる 第131回 mysqldumpslowを使ってスロークエリログを解析してみる これらの記事では、スロークエリログを出力する方法であったり、スロークエリログの可視化やツールを使っての解析などを紹介しています。今回は、MySQL 8.0から追加されたスロークエリログの出力項目の拡張機能log_slow_extra)や出力される項目について紹介したいと思います。 スロークエリログを出力するための設定方法や、それらのオプションについての説明は省きますので、上記の記事を先に目を通していただけると、より理解は深まると思います。使用しているMySQLのバージョンはMySQL 8.0.26です。 MySQL 5

    第154回 スロークエリログに出力される項目とlog_slow_extra | gihyo.jp
  • ルービックキューブは解ける! 私の人生を変えた、奥深き立体パズルの世界 #それどこ - ソレドコ

    まずは、こちらの動画をご覧ください。 6面を揃える所要時間:8.4秒ーー。 ***皆さん、「ルービックキューブ」は知っていますか? 恐らく一度は触ったことがある、少なくとも見たことがあるんじゃないかと思います。 ルービックキューブは解くのが難しい、というイメージがあるかもしれませんが、実は解き方やコツを覚えれば、6面を揃えることは案外簡単なのです。 所有しているキューブ(立体パズル)たち 私、さじーは中学3年生の頃にルービックキューブを格的に始め、現在はルービックキューブの6面を揃えるまでの時間を競う「スピードキューブ*1」という競技にハマり、かれこれ10年以上やっております。冒頭の動画は、大会での試技のひとコマです。 この記事では、そんな私のこれまでの経歴や体験を踏まえながら、ルービックキューブ(立体パズル)の面白さについてお話ししていこうと思います。 ルービックキューブの6面は揃えら

    ルービックキューブは解ける! 私の人生を変えた、奥深き立体パズルの世界 #それどこ - ソレドコ
  • MySQLに初めてINSERTするとアクセスが発生するファイルは何かという質問をどう調べるのか - oranie's blog

    yokuo825さんのカッコいいインタビュー記事を t.co 読んで、この部分ですね ──例えばどのような話をしましたか? 「インストールされたばかりのMySQLがあるとして、特定テーブルに1件のレコードを最初にINSERTした場合、アクセスが発生するファイルとその理由をすべて教えてください」と質問されたのを覚えています。 具体的にどのような理由でどのファイルにアクセスするか、一連の流れを片っ端から答えていくと、彼らがすごく楽しそうにしてくれて。「そうか、LINEの環境だと○○の設定が最初から○○になっているので、そのファイルへのアクセスは考えていなかったです。確かにそれもありますね」などと答えてくれました。 でこんなツイートしたんですが 全国のDBAは「特定テーブルに1件のレコードを最初にINSERTした場合、アクセスが発生するファイルとその理由をすべて教えてください」これ明日から職場で

    MySQLに初めてINSERTするとアクセスが発生するファイルは何かという質問をどう調べるのか - oranie's blog
  • オフィス退去時の原状回復費用を圧縮するためにできること|TechRacho by BPS株式会社

    背景:素のまま使っていた30坪オフィスに400万円の原状回復費 皆さまこんにちは。BPS渡辺と申します。コロナでオフィスを移転したり複数あるオフィスを一部解約した方も多いのではないでしょうか?弊社も2020年1月に契約したオフィスをわずか3ヶ月程度で解約申請しました。全社的なリモートワークへの転換を機に、これ以外にも都内にあったオフィスをいくつか解約しています。 さて、オフィスのグレード、原状回復の指定業者さんも様々ですが、解約をしたオフィスの中で1件、30坪くらいのオフィスなのに原状回復費として400万円以上の見積もりをあげてきた指定業者さんがいました。 結果として僕たちは2割くらいの費用にまで下がったので、今後の自分たちや、同じ用に怖い想いをしている方々のために、検討の流れや気付きの情報を残しておきます。 高いけど、まともな会社さんが見積もってるからこんなもんじゃない? からの言葉で

    オフィス退去時の原状回復費用を圧縮するためにできること|TechRacho by BPS株式会社
  • AWS SCT および AWS DMS を使用した移行後のデータベースオブジェクトの検証 | Amazon Web Services

    Amazon Web Services ブログ AWS SCT および AWS DMS を使用した移行後のデータベースオブジェクトの検証 データベースの移行は複雑なタスクになりかねません。移行には、ソフトウェアプラットフォームの変更、ソースデータの複雑性の把握、データ損失チェック、既存機能の詳細なテスト、アプリケーションパフォーマンスの比較、およびデータの検証といったあらゆる課題が伴います。 AWS では、移行前チェックリストと移行評価を提供するツールとサービスをいくつかご用意しています。AWS Schema Conversion Tool (AWS SCT) は、既存のデータベーススキーマをひとつのデータベースエンジンから別のデータベースエンジンに変換するために使用できます。AWS Database Migration Service (AWS DMS) は、リレーショナルデータベース、

    AWS SCT および AWS DMS を使用した移行後のデータベースオブジェクトの検証 | Amazon Web Services
  • 4Kディスプレイのサイズと解像度の関係を改めて調べてみた。 - 谷本 心 in せろ部屋

    皆さんこんにちは、調べてみましたブログです。 要約 先に文の内容をまとめておくと、こんな感じです。 4KディスプレイをPCディスプレイとして利用する場合、通常は4Kネイティブではなく拡大して利用する 21〜23インチの4Kディスプレイは、1920 x 1080(200%拡大)で利用する人が多い 27インチの4Kディスプレイは、2560 x 1440(150%拡大)で利用する人が多い 32インチの4Kディスプレイは、Macなら3008 x 1692、Windowsなら3072 x 1728(125%拡大)で利用する人が多い 41インチぐらいなら4Kネイティブで利用できる Retinaディスプレイは、実解像度の1/2の疑似解像度で使うのがベスト 21.5インチは、4K(3840 x 2160)を1920 x 1080(200%拡大)で使うのがベスト 27インチは、5K(5120 x 2880

    4Kディスプレイのサイズと解像度の関係を改めて調べてみた。 - 谷本 心 in せろ部屋
    atsuizo
    atsuizo 2021/07/13
    すばらしいまとめだった。根拠なく4Kディスプレイに憧れてたけど考え直そう。
  • システムの作り方を知らないのは、教わっていないから。:プロジェクトマジック:オルタナティブ・ブログ

    を1冊出すとなると、自分たちが書いた原稿を何度も何度も読み返すことになる。 僕の場合は編集さんに最初の原稿を渡すまでに、6回から20回くらいは読む(章による)。読んでその度に直しているし、その後ゲラができてからも、当然誤字脱字をチェックする。 そうやって読み返している最中、しみじみと思ったことがある。 かなり傲慢なことを承知で、それを書いておく。 お客さんのプロジェクトについて、相談にのっていると、 1) 「もう○○は済んでいます」とおっしゃるのだが、現物を見せていただくと、全然違うことをやっている。例えば「業務課題の洗い出しは済んでいるとおっしゃっても、その資料を見せていただくと「現行システムで使いづらいこと一覧」だったりする。 2) ○○を全く検討してないのに、それよりずっと後でやるべき××を一生懸命検討している。一番典型的なのは、将来どんな業務にしたいのかをほとんど考えていないのに

    システムの作り方を知らないのは、教わっていないから。:プロジェクトマジック:オルタナティブ・ブログ
    atsuizo
    atsuizo 2021/07/12
    "○○を全く検討してないのに、それよりずっと後でやるべき××を一生懸命検討している。" SIerの10年20年選手がこのレベルだったりする(先日の現実
  • PostgreSQLで排他制約がめっちゃ便利!! - そーだいなるらくがき帳

    中国地方DB勉強会っていう控えめに言っても最高の勉強会があるんだけどそこで排他制約について教えてもらいました。 ikkitang1211.hatenablog.jp 排他制約って雑に説明すると重なりを拒否する制約です。 僕は使った事なかったのですが勉強会の中で事例紹介を受けて、めっちゃ便利だったのでここでご紹介します。 どんなときに使うの? 実際にはどんなときに重なりを制御したいかというとよく使うのは次の2つ。 図面の重なり 時間の重なり 1つ目は幾何学的な図面を表現するときです。 実際にPostgreSQLは円や四角をSQLで表現できます。例えば地図上で特定の座標から半径100メートルの円を書き、その中に特定の円(場所)があればErrorにするような制約が書けます。 そもそもSQLで位置計算もめっちゃ便利なので是非使ってみてください。 soudai1025.blogspot.jp そして

    PostgreSQLで排他制約がめっちゃ便利!! - そーだいなるらくがき帳
  • MySQL で使用するメモリサイズの見積もり - 元RX-7乗りの適当な日々

    最近、MySQLのパラメータの調整をする機会があったのですが、特定のパラメータを変更した際に、メモリの消費量にどう影響するのか、というのを調査する際に、インターネッツを彷徨ったところ、サイトによって書いてあることにバラつきがあったので、自分でもまとめてみることにした。 結論から書くと、参考にしたのは以下のオライリーの書籍「MySQLトラブルシューティング」で、記述が一番わかりやすく書かれていた。 このエントリは、この書籍の 「3.9.3 オプションの安全値を計算する」 にて記載がある内容をまとめたものになる。 MySQLトラブルシューティング 作者:Sveta SmirnovaオライリージャパンAmazon 著者について Sveta Smirnova(スヴェータ・スミルノヴァ): OracleMySQLサポートグループ・バグ検証グループの主席テクニカルサポートエンジニアとして毎日MySQ

    MySQL で使用するメモリサイズの見積もり - 元RX-7乗りの適当な日々
    atsuizo
    atsuizo 2021/06/21
    原則としてはこの通りですごくよくまとまってるんだけど、max_connectionsに余裕をもたせるととトンデモナイ大きさのメモリが必要になる計算結果になりがちなのが悩み。