並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 69件

新着順 人気順

sql server update join queryの検索結果1 - 40 件 / 69件

  • 論理削除という技術的負債、それでも僕たちは使い続ける - じゃあ、おうちで学べる

    はじめに 「論理削除?deleted_atカラム追加すればいいでしょ」この一言から始まる地獄を、何度見てきただろうか。 最初は簡単に見える。カラムを1つ追加するだけ。しかし、その「簡単さ」こそが罠だ。 論理削除は技術的負債の温床だ。WHERE句への条件追加忘れ、認知コストの増大、テストの複雑化、パフォーマンス劣化。すべては「最初にドメインを考えなかった」ツケである。 しかし現実として、サービスを運用していくと論理削除が必要になる場面は確実に訪れる。 論理削除の本質は、「このレコードは存在するが、存在しないことにしてほしい」という矛盾だ。この矛盾を解消するか、受け入れて安全に管理するか。本記事ではその両方のアプローチを解説する。 なお、私はDBのスペシャリストではないので、ここで紹介する方法が唯一の正解というわけではない。あくまで一つのアプローチとして参考にしてほしい。データベース設計は文脈

      論理削除という技術的負債、それでも僕たちは使い続ける - じゃあ、おうちで学べる
    • すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる

      あなたがさっきまで読んでいた技術的に役立つ記事は、10年後も使えるでしょうか。ほとんどの場合でいいえ この問いに真正面から殴られたのは数か月前、リリース前夜の「とりあえずこれで走らせよう」が翌朝に別サービスを巻き込む事故になったときでした。Slackで「なんで昨日の変更でメトリクスが暴れてるのか」と聞かれ、胃がキリキリしたまま休日をつぶす羽目に。目先のテクニックだけで乗り切った仕事は、想像より早く自分を噛みに来る。だから設計そのものの筋肉を付けたい、という切実さを忘れないうちに本を開きました。 ただし、先に言っておきます。Design Patternsは設計そのものではありません。 パターンを知っているだけで良い設計ができるわけではない。10年前の「RESTが正義」という原則は、GraphQLやgRPCによって相対化されました。原則も陳腐化します。それでも原則を学ぶ価値があるとすれば、「不

        すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる
      • 【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問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
        • Repro で遭遇した Aurora MySQL にまつわるトラブル 5 選 - Repro Tech Blog

          こんにちは、Platform Team の荒引 (@a_bicky) です。前回は続・何でも屋になっている SRE 的なチームから責務を分離するまでの道のり 〜新設チームでオンコール体制を構築するまで〜という話を書いたんですが、今回は Repro の運用に 7 年以上携わる中で私が遭遇して印象的だった Aurora MySQL 絡みのトラブルについて紹介します。 Aurora MySQL が詰まってデータ処理のスループットが下がるとか、API のレスポンスが遅くなるとか、ALTER TABLE する度にアプリケーションエラーが発生するとか、胃が痛くなる胸が熱くなる話が多いので、Aurora MySQL を利用していなくても楽しんでいただけるのではないかと思います。Aurora MySQL を利用している方であれば参考になる情報もあるでしょうし、通常の MySQL にも適用可能な話もあります

            Repro で遭遇した Aurora MySQL にまつわるトラブル 5 選 - Repro Tech Blog
          • 【2022年】AWS全サービスまとめ | DevelopersIO

            こんにちは。サービスグループの武田です。このエントリは、2018年から公開しているAWS全サービスまとめの2022年版です。 こんにちは。サービスグループの武田です。 このエントリは、2018年から毎年公開している AWS全サービスまとめの2022年版 です。昨年までのものは次のリンクからたどってください。 AWSにはたくさんのサービスがありますが、「結局このサービスってなんなの?」という疑問を自分なりに理解するためにまとめました。 今回もマネジメントコンソールを開き、「サービス」の一覧をもとに一覧化しました。そのため、プレビュー版など一覧に載っていないサービスは含まれていません。また2021年にまとめたもののアップデート版ということで、新しくカテゴリに追加されたサービスには[New]、文章を更新したものには[Update]を付けました。ちなみにサービス数は 223個 です。 まとめるにあ

              【2022年】AWS全サービスまとめ | DevelopersIO
            • Ultimate Guide to Improving MySQL Query Performance

              Have you ever waited far too long for a MySQL query to finish and wondered if there’s a better way? If you manage a MySQL database or build apps that depend on one, you know how slow queries can grind everything to a halt. Users get frustrated, response times creep up, and suddenly you’re dealing with support tickets instead of focusing on new features. Maybe you’re seeing queries that used to fly

                Ultimate Guide to Improving MySQL Query Performance
              • タイミーで蓄積された Aurora MySQL 運用ナレッジ─ 障害・チューニング・実践知を特別公開 - Timee Product Team Blog

                はじめに タイミーで SRE 業務を担当している徳富(@yannKazu1)です。 日々、数千万件のデータと向き合う中で、Aurora MySQL の運用をより良くするための改善を積み重ねています。 本記事では、その中で経験してきた “机上ではわからないリアルな気づきや学び” を、できるだけ具体的にまとめました。 これから Aurora を本気で運用したい方や、同じような課題に悩んでいる方のヒントになれば嬉しいです。 (この記事はTimee Product Advent Calendar 2025の3日目の記事です。) 1. オンラインDDLでも「ゼロロック」ではない ─ ALTER TABLE 実行時の落とし穴 「MySQL のオンラインDDLなら、日中でもサッと ALTER できるよね?」 ──そんなふうに思ってしまうこと、ありますよね。 たしかにオンラインDDLはとても便利で、データ

                  タイミーで蓄積された Aurora MySQL 運用ナレッジ─ 障害・チューニング・実践知を特別公開 - Timee Product Team Blog
                • Consider SQLite

                  If you were creating a web app from scratch today, what database would you use? Probably the most frequent answer I see to this is Postgres, although there are a wide range of common answers: MySQL, MariaDB, Microsoft SQL Server, MongoDB, etc. Today I want you to consider: what if SQLite would do just fine? For those who are unfamiliar, SQLite is a implementation of SQL as a library — this means t

                  • “Tao of Node - Design, Architecture & Best Practices” 日本語翻訳

                    私が働いているAniqueという会社では、1年前に全てのソフトウェアでTypescriptを採用することにしました。私たちが開発している進撃の巨人のNFTサービス “Attack on Titan: Legacy” でも採用しています。 TypescriptではNestJSという素晴らしいAPIフレームワークを利用することができ、生産性高く開発を続けることができます。また、私たちはフロントエンドでNext.jsを利用しています。言語レベルでのコンテキストスイッチを抑えることで、一人のエンジニアがフロントエンドとバックエンドのどちらもの機能を開発する環境が作れました。 しかし、Nodeならではの作法や設計について、Web上にはたくさんの情報があるものの、あまりにも情報が多すぎて、まとまったプラクティスになかなか出会うことができませんでした。そのため、最初はチーム内での共通認識を作るのに苦労し

                      “Tao of Node - Design, Architecture & Best Practices” 日本語翻訳
                    • 開発/Stg環境のための本番DBマスキングと継続的リストアの仕組みを作りました | ランサーズ(Lancers)エンジニアブログ

                      SREチームの安達(@adachin0817)です。今回はMENTA、Lancers Creative、Lancers Agencyでマスキングした本番環境のデータをStgや開発環境のMySQLコンテナへ毎週リストアする仕組みを実装しました。実際にここらへんは運用をしていく中で一苦労されている方も多いのではないでしょうか。それではまず背景と、実装するに当たっての活動含めてご紹介できればと思います。 背景 今回はMENTAを例にしています。各サービスの開発環境はDockerを利用しており、本番とStg環境はTerraformで管理しています。カラム追加ではマイグレーションを実行することでサンプルのスキーマファイルを投入して開発をしているのですが、たまに開発環境で動いていたソースがStgや本番で動かないといったことで開発効率が下がることが見受けられます。開発メンバーにとってはより本番環境に近い

                        開発/Stg環境のための本番DBマスキングと継続的リストアの仕組みを作りました | ランサーズ(Lancers)エンジニアブログ
                      • 「ログ」から学んだ PostgreSQL のアーキテクチャの基本 - PLEX Product Team Blog

                        こんにちは、Plex Job 開発チームの高岡です。 先日 PLEX TechCon 2025 が開催されました。 惜しくも登壇機会を得られなかったため、本記事にて発表する予定だった内容をまとめてみました。 来年こそは登壇を勝ち取ります 🔥 ▼ 当日の様子はこちら PLEX TechCon 2025 レポート - PLEX Product Team Blog はじめに PostgreSQLの構成 プロセス構成(全体図の赤の要素) メモリ構成(全体図の黄色の要素) 調査した3つのログ 1. チェックポイント処理のログ📝 概要 チューニングポイント 2. 自動バキューム処理のログ 🧹 概要 チューニングポイント 3. TEMP落ちのログ 💣 概要 チューニングポイント work_memを増強してみた Railsによる実装 実行計画で見てみる まとめ 参考 はじめに 以前のプロジェクトで

                          「ログ」から学んだ PostgreSQL のアーキテクチャの基本 - PLEX Product Team Blog
                        • みんなで書くGoのエンドポイントテスト - daisuzu's notes

                          Webアプリケーションサーバーに何か大きな変更をしたいけど、既存のテストだと心許なかったので各エンドポイントにHandlerからのテストを追加することにした。 ただ全部のテストを自分1人で作っていくのはボリューム的に現実的ではなかったので、どうしたらチーム全員が書きやすいテストになるか考えて色々と整備してみた。 テストの書き方がある程度決まっている 期待する結果(want)を全て書かなくても良い テストの前後で必要な処理がわかる 具体例 テストの書き方がある程度決まっている エンドポイントごとにスタイルがバラバラだと都度どう書くか考えなければいけなくなってしまうため、基本的にはリクエストとレスポンスだけテーブルに指定するスタイルが良さそうだと考えた。 簡略化すると以下のような形式。 func TestFoo_Get(t *testing.T) { tests := []struct { n

                            みんなで書くGoのエンドポイントテスト - daisuzu's notes
                          • TinyBase

                            (Baffled by all these logos? Check out our architectural options guide to make sense of it all!) Start with a simple key-value store.Creating a Store requires just a simple call to the createStore function. Once you have one, you can easily set Values in it by unique Id. And of course you can easily get them back out again. Read more about using keyed value data in The Basics guide. import {create

                              TinyBase
                            • Announcing .NET 10 - .NET Blog

                              Today, we are excited to announce the launch of .NET 10, the most productive, modern, secure, intelligent, and performant release of .NET yet. It’s the result of another year of effort from thousands of developers around the world. This release includes thousands of performance, security, and functional improvements across the entire .NET stack-from languages and developer tools to workloads-enabl

                                Announcing .NET 10 - .NET Blog
                              • OWASP ZAP の finding を Rust/Axum の handler に戻して直す - じゃあ、おうちで学べる

                                はじめに vulnerable-app に ZAP の full scan を回すと、High finding が並びます。XSS、SQL Injection、Path Traversal。alert 名を眺めて、ふと気づく。これは「危険です」の一覧ではない。handler への差し戻し指示書だ。 OWASP ZAP を実行すると、HTML、Markdown、JSON のレポートが出ます。そこには Cross Site Scripting (Reflected)、SQL Injection、Path Traversal のような名前が並びます。ただ、alert 名だけを見ても修正は始まりません。必要なのは、finding を実際の handler、SQL、HTML 出力、ヘッダ設定に戻すことです。 OWASP ZAP は OSS の web 脆弱性スキャナで、HTTP リクエストを投げて挙

                                  OWASP ZAP の finding を Rust/Axum の handler に戻して直す - じゃあ、おうちで学べる
                                • Welcome to Wildebeest: the Fediverse on Cloudflare

                                  The Fediverse has been a hot topic of discussion lately, with thousands, if not millions, of new users creating accounts on platforms like Mastodon to either move entirely to "the other side" or experiment and learn about this new social network. Today we're introducing Wildebeest, an open-source, easy-to-deploy ActivityPub and Mastodon-compatible server built entirely on top of Cloudflare's Super

                                    Welcome to Wildebeest: the Fediverse on Cloudflare
                                  • 缶つぶし機とソフトウェア移行技術 - Refactoring to Rust の読書感想文 - じゃあ、おうちで学べる

                                    はじめに ——あるいは、「知っている」と「理解している」の間 Rustのことは、知っていた。学習もしていた。実務でも使っていた。 でも、それは知っているつもりだった。 知ってるつもり 無知の科学 (ハヤカワ文庫NF) 作者:スティーブン スローマン,フィリップ ファーンバック早川書房Amazon 日々Rustで開発し、BoxとRcとArcを使い分け、tokio::spawnでタスクを生成し、?演算子を当たり前のように書いている。FFI?PyO3使えばいいでしょ。WebAssembly?wasm-bindgenがあるじゃない。技術的には、確かに「使える」レベルにはあった。 でも、心のどこかで感じていた違和感があった。 オートバイのエンジンを分解できる人と、エンジンが動く原理を理解している人は違う。コードが動くことと、なぜそう書くべきかを理解することも違う。私は前者だった。メカニックではあった

                                      缶つぶし機とソフトウェア移行技術 - Refactoring to Rust の読書感想文 - じゃあ、おうちで学べる
                                    • 【PGlite】WebAssemblyでPostgreSQLを軽量に - RAKUS Developers Blog | ラクス エンジニアブログ

                                      はじめに PGliteの概要 PGliteの特徴 PGliteを試す ブラウザで使う PGliteの速度計測 まとめ はじめに こんにちは!エンジニア2年目のTKDSです! 今回はPGliteについて調べてみました! 概要・使い方・速度実験・まとめの内容で記事は構成されています。 使ってみた結果として、軽量高速であり色々使いみちがありそうなツールだと感じました。 ぜひ最後まで読んでいただけると幸いです。 PGliteの概要 PGliteは、PostgreSQLをWebAssembly(WASM)にコンパイルした軽量なデータベースエンジンです。 これにより、ブラウザ、Node.js、Bun、DenoなどでPostgreSQLの機能を利用でき、開発者はローカルやサーバーレス環境でデータベース操作を行うことが可能です。 PGliteは、インメモリデータベースやファイルシステム(Node.jsやB

                                        【PGlite】WebAssemblyでPostgreSQLを軽量に - RAKUS Developers Blog | ラクス エンジニアブログ
                                      • D1: We turned it up to 11

                                        We’re not going to bury the lede: we’re excited to launch a major update to our D1 database, with dramatic improvements to performance and scalability. Alpha users (which includes any Workers user) can create new databases using the new storage backend right now with the following command: $ wrangler d1 create your-database --experimental-backend In the coming weeks, it’ll be the default experienc

                                          D1: We turned it up to 11
                                        • OpenAI: Scaling PostgreSQL to the Next Level

                                          At the PGConf.dev 2025 Global Developer Conference, Bohan Zhang from OpenAI shared OpenAI’s best practices with PostgreSQL, offering a glimpse into the database usage of one of the most prominent unicorn company. At OpenAI, we utilize an unsharded architecture with one writer and multiple readers, demonstrating that PostgreSQL can scale gracefully under massive read loads. — PGConf.dev 2025, Bohan

                                            OpenAI: Scaling PostgreSQL to the Next Level
                                          • Skip the API, Ship Your Database

                                            Skip the API, Ship Your Database Author Name Ben Johnson @benbjohnson @benbjohnson Image by Annie Ruygt With Fly.io, you can get your app running globally in a matter of minutes, and with LiteFS, you can run SQLite alongside your app! Now we’re introducing LiteFS Cloud: managed backups and point-in-time restores for LiteFS. Try it out for yourself! My favorite part about building tools is discover

                                              Skip the API, Ship Your Database
                                            • Mastodon: Ruby on Rails Open Source Web App

                                              The product https://joinmastodon.org Mastodon is a free, open-source social network server based on ActivityPub where users can follow friends and discover new ones. On Mastodon, users can publish anything they want: links, pictures, text, and video. All Mastodon servers are interoperable as a federated network. Open source The project is open source at https://github.com/mastodon/mastodon License

                                                Mastodon: Ruby on Rails Open Source Web App
                                              • FractalDB:内製分散DBaaSに対する最適化ヒント句の実装(インターンレポート)

                                                はじめに こんにちは。筑波大学情報学群情報科学類3年の浅田睦葉と申します。 私は2024年9月に行われた8日間のサマーインターンシップで、内製分散データベースシステム FractalDB の開発業務に参加しました。この記事では、インターンシップ中の課題とその取り組みについて紹介します。 FractalDB FractalDBとは、LINEヤフー内製で開発・運用されている分散データベースシステムです。現在、同じ分散データベースシステムであるApache Cassandraは、各サービス向けに独立にデータベースを構築し運用されています。 内部では分散型のキーバリューストアであるFoundationDBが使用されており、Cassandraクライアントから送信されるパケットをパースしてCQLを受け取り、FoundationDBへの操作に変換しています。したがって、これまでCassandraを利用し

                                                  FractalDB:内製分散DBaaSに対する最適化ヒント句の実装(インターンレポート)
                                                • A can of shardines: SQLite multitenancy with Rails

                                                  There is a pattern I am very fond of - “one database per tenant” in web applications with multiple, isolated users. Recently, I needed to fix an application I had for a long time where this database-per-tenant multitenancy utterly broke down, because I was doing connection management wrong. Which begat the question: how do you even approach doing it right? And it turns out I was not alone in this.

                                                  • Stop Re-Rendering. TanStack DB, the Embedded Client Database for TanStack Query | TanStack Blog

                                                    Stop Re-Rendering. TanStack DB, the Embedded Client Database for TanStack Query by Kyle Mathews and Sam Willis on July 30, 2025. Your React dashboard shouldn't grind to a halt just because one TODO turns from ☐ to ☑. Yet every optimistic update still kicks off a cascade of re-renders, filters, useMemos and spinner flashes. If you’ve ever muttered “why is this still so hard in 2025?”, same. TanStac

                                                      Stop Re-Rendering. TanStack DB, the Embedded Client Database for TanStack Query | TanStack Blog
                                                    • 歴史・年表でみるAWS全サービス一覧(参考資料編) -アナウンス日、General Availability(GA)の参考URL- - NRIネットコムBlog

                                                      小西秀和です。 歴史・年表でみるAWS全サービス一覧 -アナウンス日、General Availability(GA)、AWSサービス概要のまとめの記事で参考にしたURLが多すぎるため、こちらに別記事としてまとめました。 AWSサービスの概要など「歴史・年表でみるAWS全サービス一覧」のメインコンテンツは本編を御覧ください。 ただ、見方によってはこの記事の方が面白いかもしれません。 [English Edition] AWS History and Timeline - Almost All AWS Services List, Announcements, General Availability(GA) AWS全サービスの歴史年表に記載したアナウンス日・GA日(一般提供開始日)の参考URL 「What's New」のURL(例:https://aws.amazon.com/about-

                                                        歴史・年表でみるAWS全サービス一覧(参考資料編) -アナウンス日、General Availability(GA)の参考URL- - NRIネットコムBlog
                                                      • Rails 8.0 Changelog(全項目リンク付き)|TechRacho by BPS株式会社

                                                        【速報】Rails 8.0.0がリリースされました Rails 8.0(v8.0.0タグ)は、7.2.0リリースから半年後のリリースということもあり、メジャーリリースとしてはChangelogの変更件数が少なめなのが特徴です。機能面では、Strong Parametersのexpect追加や、MySQL 5.5のサポート廃止が目につきます。大きなbreaking changesも今のところ見当たりません。 rails/rails at v8.0.0 以下、Rails 8.0のChangelogを件数の多い順に見ていきます。なお、原則として削除のChangelogは、その項目が非推奨化されたときのプルリク情報にリンクしています。 なお、以下の機能にはChangelogがありません。 Action Mailbox Action Mailer 🔗 Active Record(56件) Rail

                                                          Rails 8.0 Changelog(全項目リンク付き)|TechRacho by BPS株式会社
                                                        • Building data-centric apps with a reactive relational database

                                                          Building apps is too hard. Even skilled programmers who don’t specialize in app development struggle to build simple interactive tools. We think that a lot of what makes app development hard is managing state: reacting and propagating changes as the user takes actions. We’re exploring a new way to manage data in apps by storing all app state—including the state of the UI—in a single reactive datab

                                                            Building data-centric apps with a reactive relational database
                                                          • How to turn Claude Code into a domain specific coding agent

                                                            Authored by: Aliyan Ishfaq Coding agents are great at writing code that uses popular libraries on which LLMs have been heavily trained on. But point them to a custom library, a new version of a library, an internal API, or a niche framework – and they’re not so great. That’s a problem for teams working with domain specific libraries or enterprise code. As developers of libraries (LangGraph, LangCh

                                                              How to turn Claude Code into a domain specific coding agent
                                                            • 【2025年】AWS全サービスまとめ | DevelopersIO

                                                              こんにちは。サービス開発室の武田です。 このエントリは、2018年から毎年公開している AWS全サービスまとめの2025年版 です。昨年までのものは次のリンクからたどってください。 AWSにはたくさんのサービスがありますが、「結局このサービスってなんなの?」という疑問を自分なりに理解するためにまとめました。 今回もマネジメントコンソールを開き、「サービス」の一覧をもとに一覧化しました。そのため、プレビュー版など一覧に載っていないサービスは含まれていません。また2024年にまとめたもののアップデート版ということで、新しくカテゴリに追加されたサービスには[New]、文章を更新したものには[Update]を付けました。ちなみにサービス数は 250個 です。 まとめるにあたって、次のドキュメントや、弊社の多数のブログを参考にしました。 コンピューティング Amazon EC2 正式名称は Amaz

                                                                【2025年】AWS全サービスまとめ | DevelopersIO
                                                              • Against SQL

                                                                TLDR The relational model is great: A shared universal data model allows cooperation between programs written in many different languages, running on different machines and with different lifespans. Normalization allows updating data without worrying about forgetting to update derived data. Physical data independence allows changing data-structures and query plans without having to change all of y

                                                                • PostgreSQL 15にMERGE文UPSERTがやってくる | DevelopersIO

                                                                  UPSERT とは データベースにレコードを反映する際、100%新規データを扱うのであれば、テーブルにINSERTするだけですみます。 更新データも存在する場合、新規の場合は INSERT 、更新の場合は UPDATE というように処理を振り分ける必要があります。 このように、データの状態によって UPDATE と INSERT を使い分けることを、UPDATE と INSERT をくっつけて UPSERT と呼びます。 PostgreSQL は9.5で INSERT を試し、制約違反が発生すれば UPDATE する INSERT ... ON CONFLICT 構文の UPSERT に対応しました。 PostgreSQL 以外にも、MySQLやSQLiteがこの方式のUPSERTに対応しています。 INSERT INTO target(tid, val) VALUES(123, 10)

                                                                    PostgreSQL 15にMERGE文UPSERTがやってくる | DevelopersIO
                                                                  • Efficient MySQL Performance を読んだ

                                                                    とても良い本だった。 MySQL の初級・上級の本は既刊であるが、その間を埋めるものがないので書かれたというもので、難易度を 1 ~ 5 で表すと 4 くらい、難易度 5 は 実践ハイパフォーマンスMySQL とのことだった。 あくまで深堀りしたいアプリケーションエンジニア向けの本で、DBA 向けではないと明記されていた。実際 MySQL (InnoDB) の実装詳細の説明が適度に打ち切られていて、ただし必要十分なトピックはカバーされていて、学習効率が良い。 筆者は Hack MySQL を運営していたり、過去に Percona で数々のツールを作ってきた実績 もあり、信頼が置ける。 1. Query Response Time まず North Star Metrics としてクエリのレスポンスタイムを定義し、その改善に必要な項目を体系立てて説明している。この構成がかなり良くて、明確な指

                                                                      Efficient MySQL Performance を読んだ
                                                                    • Apache Arrowの統計情報を使ったログ検索の爆速化 - KaiGaiの俺メモ

                                                                      PostgreSQLにはBRINインデックス(Block Range Index)という機能があり、ログデータに付属するタイムスタンプ値など、近しい値を持ったデータが物理的に近接するという特徴を持っているとき、検索範囲を効率的に絞り込むために使用する事ができる。 この機能はPG-Stromでも対応しており、その詳細は以前のエントリでも解説している。 kaigai.hatenablog.com かいつまんで説明すると、時系列のログデータのように大半が追記(Insert-Only)であり、かつタイムスタンプ値のように近しい値同士が近接している場合、1MBのブロック((pages_per_rangeがデフォルトの128の場合、8kB * 128 = 1MB))ごとにその最小値/最大値を記録しておくことで『明らかに検索条件にマッチしない範囲』を読み飛ばす事ができる。 例えば以下の例であれば、WHE

                                                                        Apache Arrowの統計情報を使ったログ検索の爆速化 - KaiGaiの俺メモ
                                                                      • DocumentDB: Open-Source Announcement | Microsoft Open Source Blog

                                                                        We are excited to announce the official release of DocumentDB—an open-source document database platform and the engine powering the vCore-based Azure Cosmos DB, built on PostgreSQL. NoSQL databases have historically provided cloud-specific solutions without a common standard for interoperability. This has led to a growing demand for an interoperable, portable, and fully supported production-ready

                                                                          DocumentDB: Open-Source Announcement | Microsoft Open Source Blog
                                                                        • Everything I know about good system design

                                                                          I see a lot of bad system design advice. One classic is the LinkedIn-optimized “bet you never heard of queues” style of post, presumably aimed at people who are new to the industry. Another is the Twitter-optimized “you’re a terrible engineer if you ever store booleans in a database” clever trick1. Even good system design advice can be kind of bad. I love Designing Data-Intensive Applications, but

                                                                          • A Practitioner's Guide to Wide Events | Jeremy Morrell

                                                                            Adopting Wide Event-style instrumentation has been one of the highest-leverage changes I've made in my engineering career. The feedback loop on all my changes tightened and debugging systems became so much easier. Systems that were scary to work on suddenly seemed a lot more manageable. Lately there have been a lot of good blog posts on what "Wide Events" mean and why they are important. Here are

                                                                            • 週刊Railsウォッチ: method_missingの引数を'...'に置き換え、JRuby Prism、Sidekiqのしくみほか(20240306)|TechRacho by BPS株式会社

                                                                              週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 公式更新情報: Ruby on Rails — Enhanced assert_broadcast

                                                                                週刊Railsウォッチ: method_missingの引数を'...'に置き換え、JRuby Prism、Sidekiqのしくみほか(20240306)|TechRacho by BPS株式会社
                                                                              • What's new in Firebase at I/O 2024

                                                                                Google I/O 2024 is here, and just like in previous years, we have many new products and features to tell you about. But first, a look back. For years, millions of you developers have been using Firebase to accelerate your app development and run your apps with confidence. From Realtime Database to Remote Config, we’ve been obsessed with helping you speed up and simplify your work so that you can m

                                                                                  What's new in Firebase at I/O 2024
                                                                                • 読書メモ: Database Design and Implementation

                                                                                  書籍 配布ソース 取り組み方 章ごとの要点をまとめる インターフェースとテストコードから実装をイメージする 実装を読み解いてコメントを書きながら写経する Suggested Reading は気になる資料のリストアップまで Exercises はどこまでやるか悩ましい。 割とボリューミーなので、1周目は読むだけに留めて、2周目で取り組むくらいの気持ちで。 全体に対するメモ 実装パートは事前に解説した内容まで踏み込まない Exerciseパートで、追加で取り組む課題として設定されてたりする 扱える値 string, integer buffer replacement clock まで解説 & 実装はナイーブなもの recovery 記録する log の種類は、ファイル末尾への block の追加まで解説 & 実装するのは以下 CHECKPOINT (transactionの) START,

                                                                                    読書メモ: Database Design and Implementation