並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 36 件 / 36件

新着順 人気順

RDBの検索結果1 - 36 件 / 36件

  • Oracle DBに“データ損失ほぼゼロ”のランサム対策を、オラクルがZRCVを紹介 (1/2)

    最新の各種調査によると、ランサムウェア攻撃を受けた企業の被害は、平均で数週間の操業停止、数億円から数十億円もの損失額に及ぶという。さらに、データやシステムの暗号化にとどまらず、機密情報を盗み出したうえで“確実に”脅迫を行う「二重脅迫」の攻撃手法も一般的になった。企業が被害を軽減するためには、機密情報の保護とインシデント発生後のいち早い事業回復が必要だ。 日本オラクルは2025年12月11日、データレジリエンス(重要データの回復性)をテーマとした説明会を開催した。Oracle Database向けのバックアップソリューション「Zero Data Loss Autonomous Recovery Service(以下、ZRCV)」を取り上げ、RPO(目標復旧時点)の最小化や迅速な復旧を可能にするその仕組みや、ランサムウェアへの耐性も含めた従来のバックアップ手法との違いなどを紹介した。

      Oracle DBに“データ損失ほぼゼロ”のランサム対策を、オラクルがZRCVを紹介 (1/2)
    • Git Worktreeでブランチごとにデータベースも分離 —— Docker Volume スナップショットの活用

      LayerX Tech Advent Calendar 2025の15日目の記事です。 バクラク事業部 ソフトウェアエンジニアの @upamune です。 今日は、ローカル開発においての困りごとである、Git Worktreeとデータベースなどの永続化ミドルウェアの組み合わせ問題をいい感じにした話をします。 はじめに AI Coding Agentの登場で、複数の機能を並行して開発する機会が増えました。Agentに任せている間に別の作業を進めたり、レビュー待ちのブランチを放置して次のタスクに取りかかったり。こうした並行開発では、git worktreeが便利です。ブランチごとに独立したディレクトリを持てるので、git stashやgit checkoutを繰り返す必要がなくなります。 ただ、git worktreeだけでは解決しない問題があります。DBの状態です。 例えば、Docker C

        Git Worktreeでブランチごとにデータベースも分離 —— Docker Volume スナップショットの活用
      • 「状態」ではなく「変化(イベント)」を保存したい

        はじめに Dress Code Advent Calendar 2025 の 15 日目の記事です。 Dress Code 株式会社で、プロダクト開発しながらアーキテクト、組織設計、採用、技術広報などなど担当しているかわうそです。 今日は「履歴」というデータを取り扱うことために考えていること・戦い方について整理してみたので、その内容を共有したいと思います。 履歴のデータはとても重要になる場合があり、履歴管理や監査証跡、時点復元、法令対応などで「過去の状態を正確に残したい」という要件が発生することがあります。 概要 「状態(Current State)」の保存は一見シンプルだけど、履歴要件が入ると破綻しやすい Bi-temporal は強力な設計手法だが、クエリ・運用の複雑さが課題になりやすい Event Sourcing は「変化(イベント)」を中心に据えることで、履歴が自然に残すことがで

          「状態」ではなく「変化(イベント)」を保存したい
        • ポーリング処理廃止によるイベント駆動アーキテクチャへの移行 ― DBコスト30%削減の実現 | CyberAgent Developers Blog

          1回のポーリングで9回のAPIを呼び出していたのは、予約一覧、予約詳細、ステータス情報など、画面表示に必要な情報を複数のエンドポイントから取得していたためです。これに加えて、多数の薬局クライアントが同時にポーリングを実行するため、リクエスト数が膨大になっていました。 また、予約データは日々構造が複雑になっていき、検索のためにデータベースのテーブルにインデックスを張っても大きな負荷がかかる状況だったため、より本質的な問題の解決を行う必要がありました。 問題の本質:「無駄な」リクエスト ポーリング方式の根本的な問題は、データに変更があってもなくても、定期的にリクエストが発生するという点にあります。 実際の運用データを分析してみると、興味深い事実が分かりました。予約データに変更が発生する頻度は、ポーリング頻度と比較するとかなり低いのです。つまり、大半のリクエストは「変更なし」という結果を返すだけ

            ポーリング処理廃止によるイベント駆動アーキテクチャへの移行 ― DBコスト30%削減の実現 | CyberAgent Developers Blog
          • FastAPIの作者が作った「SQLModel」が革命的すぎるので、全Python使いに教えたい

            この記事はLivetoon Tech Advent Calendar 2025の11日目の記事です。 本日はCTOの私がよく使ってるSQLModelについてお話します。 宣伝 今回のアドベントカレンダーでは、LivetoonのAIキャラクターアプリのkaiwaに関わるエンジニアが、アプリの話からLLM・合成音声・インフラ監視・GPU・OSSまで、幅広くアドベントカレンダーとして書いて行く予定です。 是非、publicationをフォローして、記事を追ってみてください。 SQLModelとは SQLModelは、 Pydantic と SQLAlchemy のいいとこ取りをしたPython ORMライブラリです。FastAPIの作者(tiangolo)が開発しており、以下の特徴があります: Pydanticの書き心地: バリデーション・型安全性をそのまま活用 SQLAlchemyの互換性:

              FastAPIの作者が作った「SQLModel」が革命的すぎるので、全Python使いに教えたい
            • 文字列の並び順 / Unicode Collation

              Unicode のコレーションについて。 HTML 版は https://tmtms.net/slides/20251213-nseg/

                文字列の並び順 / Unicode Collation
              • Elasticsearch + pgvectorで1000万ファイルに対してハイブリッド検索をする - AKARI Tech Blog

                こんにちは! 今週はDXソリューション事業本部 Devグループ の藤野が担当します。 「1000万件を超える膨大なファイル群から、いかに低コストで、かつ高精度に必要な情報を取り出すか?」 RAGシステムを運用・開発する上で、データ数に伴うコストと精度がネックになります。 弊社では業界特化のRAGシステムを数多く構築しており、その肝になる箇所は、やはり「Retrieval(検索)」にあります。 本記事では、コストを抑えつつ業務で真に使える検索パフォーマンスを実現したRetrievalアーキテクチャについてご紹介します。 TL;DR Azure AI Searchとの比較 Elasticsearch + pgvectorの構成 Elasticsearch pgvector 課題 まとめ We’re Hiring! 今回の記事を書いた燈メンバー🙌 TL;DR Elasticsearch + p

                  Elasticsearch + pgvectorで1000万ファイルに対してハイブリッド検索をする - AKARI Tech Blog
                • 実践ドメインモデリング!Modeling Forum 2025

                  こんにちは!ハコベル開発チームの古賀です。 「Hacobell Developers Advent Calendar」12日目の記事を担当します。 先日、Modeling Forum 2025 で開催されたドメインモデリングワークショップに参加してきました。 ドメイン駆動設計のモデリングをいちから体感する内容だったのですが、非常に学びが多かったのでその内容を紹介します。 ワークショップの概要 ドメイン駆動設計の基本コンセプトの一つである「モデル駆動設計」の考え方とやり方を手を動かしながら体験的に学ぶ内容です。講師は増田亨氏、佐藤治夫氏でした。 調整さん風アプリケーションを題材に、チームで議論をしながらイチからドメインモデルを実装していきました。この記事では、追加要件1までを実装した流れを紹介します。 モデルとは何か? まず、ドメイン駆動設計において「モデルとは何か?」ということからディスカ

                    実践ドメインモデリング!Modeling Forum 2025
                  • クラウドネイティブなデータベースはなぜコンピュートとストレージを分離するのか - hacomono TECH BLOG

                    この記事は hacomono Advent Calendar 2025 の12日目の記事です。 基盤本部で今後のhacomonoのアーキテクチャ設計をしている @bootjp と申します。 今年はマイクロサービス化に向けての社内共通のイベントバスの設計や基盤周りの設計/実装を行っていました。 以前にはこのような記事を書き、分散システムや分散データベース、分散ストレージなどが大好きです。 「Goで作って理解するRaftベースRedis互換KVS」という同人誌も書いています。 もし興味のある方はお手にとってみてください。 はじめに 今回は「クラウドネイティブデータベース」と言われる、昨今のデータベースにおけるコンピューティングとストレージの分離について、どのような動機でこの構成になったのか、利用者としてどのようなメリットがあるのか、そしてトレードオフは何かということについて記事を書かせていただ

                      クラウドネイティブなデータベースはなぜコンピュートとストレージを分離するのか - hacomono TECH BLOG
                    • 第260回 MySQL 9.4と9.5の新機能について | gihyo.jp

                      MySQLのInnovation ReleaseとなるMySQL 9.4とMySQL 9.5がリリースされました。今回は、その中からMySQL Community Editionで利用できる新機能や変更点をいくつかピックアップして、簡単に紹介したいと思います。 MySQL 9.4の新機能 最初に、MySQL 9.4の新機能と変更点について紹介します。 JSON Duality View のサポート MySQL 9.4では、「⁠JSON duality views」と呼ばれる新しい種類のビューが追加されました。これは、複数のリレーショナルテーブルに分かれて保存されているデータを、1つのJSONドキュメントとして扱えるようにする仕組みです。専用のCREATE JSON DUALITY VIEW / ALTER JSON DUALITY VIEWステートメントが追加されており、通常のビューと同様

                        第260回 MySQL 9.4と9.5の新機能について | gihyo.jp
                      • SQLアンチパターンを根本から理解する:実務で遭遇した“DBが泣く”5つのNGクエリと改善策 - Qiita

                        本番環境でデータ量が増えた瞬間、アプリケーションが突然重くなる すべてのエンジニアが一度は直面するこの悪夢。その原因の多くは “気づかぬうちにDBを苦しめているSQL” です。 この記事では、実務で特に被害が大きかった 5つの致命的なSQLアンチパターン と、追加で バッチ処理の最適化(バルクINSERT)、EXISTS vs IN の違い を取り上げ、 なぜ遅くなるのか(原理) どう直すべきか(改善策) どんな落とし穴があるか(トレードオフ) 実務チェックリスト を、技術書レベルでわかりやすく整理します。 目次 インデックスを殺す「関数・演算子」利用 アプリ性能を破壊する「N+1問題」 隠れたパフォーマンスキラー「SELECT *」 前方一致以外の LIKE 検索 バッチ処理最適化:バルクINSERT EXISTS vs IN の違い 補足:EXPLAINを使った実践的な確認フロー 現場

                        • たった1行のSELECT文でシステムを停止しかけた話 - Qiita

                          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 「SELECT文なんて読み取りだけだし、大した影響ないでしょ」 そう思っていた時期が私にもありました。 今回は、Django Adminで作成した機能によって、本番システムを停止しかけた経験を共有します。 環境 モノリス構成(Web、DB、Appが全て1つのVM上で稼働) MariaDB 10.x系 Django + Django Admin 何が起きたのか ある日、本番環境のディスク使用率が急激に上昇していることに気づきました。みるみる増加するディスク容量に心臓が止まりだったことを今でも鮮明に覚えています。 調査してみると、

                            たった1行のSELECT文でシステムを停止しかけた話 - Qiita
                          • Go言語で実現する堅牢なUnit of WorkとOutboxパターン

                            はじめに 今回は、Go言語でクリーンアーキテクチャを採用したアプリケーションにおいて、Unit of WorkパターンとOutboxパターンを組み合わせ、データ整合性を堅牢に保つ実装について紹介します。 マイクロサービスや分散システムにおいて、「データベースへの保存」と「ドメインイベントの発行」という2つの操作を原子的に(Atomically)行うことは、シンプルに見えて実は非常に難しい問題です。(いわゆるDual Write問題) 本記事では、この課題に対して私たちが採用した解決策を、実際のコードパターン(を抽象化したもの)を交えて解説します。 Unit of Work と Outbox パターンとは 実装の詳細に入る前に、今回採用した2つのデザインパターンについて整理します。これらは、「ドメイン駆動設計をはじめよう」などでも紹介されている、信頼性の高いパターンです。 Unit of W

                              Go言語で実現する堅牢なUnit of WorkとOutboxパターン
                            • 止めずに移行 メルカリの40TB超・50台MySQLからTiDB Cloudへ | PingCAP株式会社

                              MySQL互換の分散データベースで高可用性と水平スケーラビリティを備え大規模データをリアルタイムで処理できます。 詳細はこちら

                                止めずに移行 メルカリの40TB超・50台MySQLからTiDB Cloudへ | PingCAP株式会社
                              • もうJupyterに戻れない。次世代Notebook“marimo”を使ったら革命だった / 開発者向けブログ・イベント | GMO Developers

                                この記事は GMOインターネットグループ Advent Calendar 2025 5日目の記事です。 こんにちは! GMOインターネット株式会社の杉浦巧です。 今回は最近触って感動したmarimoに関して紹介します! はじめに Python で分析や可視化をするとき、セルごとに実行できる Notebook 形式は本当に便利ですよね。 みなさんは普段、どの Notebook を使っていますか? 多くの方は Jupyter や Google Colab を使っているのではないでしょうか。 そんな中、最近 “次世代ノートブック” と呼ばれる marimo を触ってみたところ、あまりにも快適で驚きました。 「え、もう Jupyter に戻れない…」と本気で感じるレベルです。 marimoとは何か? marimo は オープンソースの Python ノートブック で、 従来のノートブックが抱えてい

                                  もうJupyterに戻れない。次世代Notebook“marimo”を使ったら革命だった / 開発者向けブログ・イベント | GMO Developers
                                • 【厳選】もう戻れない!2025年版 快適すぎる開発スタック 10選 - Qiita

                                  import { defineSchema, defineTable } from "convex/server"; import { v } from "convex/values"; export default defineSchema({ // "tasks"テーブルのスキーマをオブジェクトとして定義 tasks: defineTable({ text: v.string(), isCompleted: v.boolean(), }), }); そう、Convexは一切、SQLを書く必要がないのです。 さらに言えば、ConvexはDXを中心に設計されています。 例えば、サーバーを起動すれば以下のようなことが自動で起こります 環境変数ファイルは自動生成 SchemaをDBに自動反映 もちろんFunctionやCronなども自動反映 当然、ファイルが更新されれば、更新内容も自動反映 e

                                  • AWS、マネージドデータベースを最大35%安く使える「Database Savings Plans for AWS Databases」発表

                                    Amazon Web Services(AWS)は、日本時間12月3日未明から開催中の年次イベント「AWS re:Invent 2025」で、同社のマネージドデータベースサービスの価格を最大で35%安くできる「Database Savings Plans for AWS Databases」を発表しました。 Database Savings Plans for AWS DatabasesはAWSのユーザーが1年間でマネージドデータベースを一定以上使用することをコミットすることで、データベースコストを最大35%削減できるというもの。 前払いは不要で、対象となるデータベースサービスであれば、データベースエンジン、インスタンスファミリー、サイズ、展開オプション、AWSリージョンに関係なく、インスタンスのコストに対して自動的に適用されます。 対象となるサービスは現時点で以下となります。 Amazo

                                      AWS、マネージドデータベースを最大35%安く使える「Database Savings Plans for AWS Databases」発表
                                    • Gista.js

                                      With agents in the editor, anyone should be able to ship real software: logins, forms, emails, payments, automations — without hiring an engineer. Gista.js is built for Agentic Coding — an open-source foundation your AI builds into real web apps. It's fully yours: landing pages, blogs, storefronts — customizable in ways no-code never allows. Build 100 small apps, not 2 huge ones. Spinning up an ap

                                      • タイミーで蓄積された 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
                                        • DB分割系 gem を撤去して ActiveRecord 7.2 にしました

                                          モンスターストライク(以下、モンスト)のサーバーサイドアプリケーションでは Ruby を使っており、Webフレームワークには Padrino を使っています。 Padrino は DB とのやり取り部分に Rails の ActiveRecord を利用しています。この ActiveRecord のバージョンを 7.1 から 7.2 に上げるために、DB分割系 gem から Rails の DB分割機能ベースに置き換えて、ActiveRecord 7.2 へのアップデートを行ないました[1]。本記事ではその話を書いています。 モンストでのDB分割 モンストのバックエンドでは、DB に MariaDB を複数台で組み合わせて利用しています。垂直分割・レプリカ(read only)機能・水平分割を色々組み合わせています: 約40種類ぐらいに垂直分割している ほんの一部でレプリカ機能を使っている

                                            DB分割系 gem を撤去して ActiveRecord 7.2 にしました
                                          • 100000 TPS over a billion rows: the unreasonable effectiveness of SQLite

                                            100000 TPS over a billion rows: the unreasonable effectiveness of SQLite 02 Dec 2025 SQLite doesn't have MVCC! It only has a single writer! SQLite is for phones and mobile apps (and the occasional airliner)! For web servers use a proper database like Postgres! In this article I'll go over why being embedded and a single writer are not deficiencies but actually allow SQLite to scale so unreasonably

                                            • RAGプロダクトを支える、ベクトルDB構築以外の周辺Tips

                                              こんにちは、松尾研究所 データサイエンティストの浮田です。この記事は、松尾研究所Advent Calendar 2025の記事です。 RAG (Retrieval-Augmented Generation) と聞くと、「ベクトルDBを構築する」という話に意識が向きがちです。もちろんベクトルDBはRAGの基盤になる重要な要素ですが、実際に使われるRAGプロダクトを作ろうとすると、ベクトルDB構築以外にも様々な工夫が必要となります。 本記事では、私が実務でRAGプロダクトを構築する中で遭遇した様々な障壁とその対応を紹介します。 プロダクト概要:社内プロジェクト検索ボット 松尾研究所は様々な企業様と共同でプロジェクトを進めています[1]。過去・現在を含めて多くのプロジェクトがあるため、自分が担当していないプロジェクトの理解はどうしても浅くなってしまいます。もちろんお互いのプロジェクトを共有する活

                                                RAGプロダクトを支える、ベクトルDB構築以外の周辺Tips
                                              • 客先のDBを間違えて削除した話 - Qiita

                                                この記事は「 本番環境などでやらかしちゃった人 Advent Calendar 2025」の1日目です。 はじめに 「慣れてきた頃が一番危ない」 あれ、ほんとです。 当時の私は作業にも環境にも慣れてきて、油断が出始めていました。 「いつもの作業だし、サクッと終わらせよう」 完全にそんな気持ちでした。 何が起きたのか ECサイトの保守運用をしていた頃のことです。 本番/検証(STG)/ローカルの3環境でphpMyAdminを使っており、 なぜか3つとも同じテーマ・同じ色・同じUI。 ローカル 検証 仮に言えばこんな状況。 「URLをよく見ないと、どこで作業してるかわからない」 そんな、今思えば事故るためのレールはピカピカに敷かれた状態でした。 本来やる予定だった作業&何を間違えたのか やりたいことは単純です。 STGのDBをエクスポートしてそれをローカルに流し込む。 こんなものは、お腹が空い

                                                  客先のDBを間違えて削除した話 - Qiita
                                                • 超高速SQL単体テスト rawsql-ts/pg-testkit

                                                  Node.jsでSQLを高速に単体テストするライブラリ @rawsql-ts/pg-testkit を紹介します。 生SQLは当然として、PrismaやDrizzleなど既存ORMとも併用可能で、既存アーキテクチャを壊さず導入できます。 従来の問題点 SQLの単体テストを行う場合、一般的には以下の手順で行います。 マイグレーション(テーブル環境構築) シーディング(テストデータ投入) テスト クリーンアップ(ロールバック、テーブル環境破棄) 通常の単体テストと異なり、マイグレーション、シーディング、クリーンアップという工程が必要です。 さらに、DBという共有ストレージを使用するため、テスト間の競合に注意が必要です。 上記の問題を回避して高速化するのは難しく、現状では DBインスタンスをたくさん立てる DBにスキーマをたくさん作る テストデータが競合しないように気を付ける といった力業に頼る

                                                    超高速SQL単体テスト rawsql-ts/pg-testkit
                                                  • RDBの同時実行制御をまとめる

                                                    データベースには、トランザクション、ACID特性、ロック、アノマリー、トランザクション分離レベルなどの多くの概念がありますが、それらがどのように関連しているかについて考えたことがありませんでした。 この投稿は、RDBの同時実行制御という観点からそれらの概念を自分の理解のためにまとめたものです。トランザクション分離レベルについて詳しく整理してくださっているスライドと記事の内容をベースにしています。 RDBの同時実行制御の概要 ここでは、RDBの同時実行制御とはなにか、なぜ必要なのか、どのように実現されているかの概要をまとめています。具体的には、同時実行制御の観点から、トランザクション、ACID特性、ロック、アノマリー、トランザクション分離レベル、MVCCについて簡単にまとめています。 RDBの同時実行制御とは RDBにおける同時実行制御・並行制御 (Concurrency Control)

                                                      RDBの同時実行制御をまとめる
                                                    • 「本番DBで1行のデータ更新するだけなのに毎回手順書作ってレビューする意味あります?」と2年目の人に聞かれて(意味ありすぎるだろ…)と思ったのだけど令和最新版は違ってたりするのか?→「ぶっ壊した経験があるとわかる」

                                                      ゆりか| エンジニア @mike_engi 「本番DBで1行のデータ更新するだけなのに毎回手順書作ってレビューする意味あります?」と2年目の人に聞かれて(意味ありすぎるだろ…)と思ったのだけど令和最新版は違ってたりするのか? 2025-11-28 11:04:56

                                                        「本番DBで1行のデータ更新するだけなのに毎回手順書作ってレビューする意味あります?」と2年目の人に聞かれて(意味ありすぎるだろ…)と思ったのだけど令和最新版は違ってたりするのか?→「ぶっ壊した経験があるとわかる」
                                                      • SELECT * がデータモデルの保守性を下げる話

                                                        SQLコーディング規約で SELECT * を使わずにカラム名を明示化する、というポリシーを時々見るのですが、正直なところ自分はこれまで「どっちでもいいかな〜」くらいに思ってました。アドホックな分析なら速いし、dbtで開発していても最下流のデータマートなら「カラムが増えても勝手についてきてくれるし、楽でいいじゃん」くらいに考えていました。 一方、ディメンショナルモデリングを運用する中で、これを入れておかないと、知らぬ間に不適切なカラムが公開されて保守性が著しく下がる ということを痛感する出来事がありました。今回は、その実体験の共有となぜエンジニアリングの観点で SELECT * がアンチパターンとされるのかについて考えたことをまとめておきたいと思います。 Incrementalモデルで起きた「再構築」の手間 当時の状況 データパイプラインは、大まかに staging -> itm (int

                                                          SELECT * がデータモデルの保守性を下げる話
                                                        • 「ログ」から学んだ 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
                                                          • 履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types

                                                            Ruby on Railsのテーブル設計とトランザクション処理 LT Nightの資料です #techbaton_findy https://findy.connpass.com/event/375098/ 5分で背景含め様々を説明するのは無理だったので補足記事があります: https://mo…

                                                              履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
                                                            • 巨大SQLに対する解読術

                                                              こんにちは!ゲンシュンです。 この記事は執筆中に「もはやAIに聞けば済むことね?」と思い投稿をお蔵入りしたものの、やっぱりまだ必要な知見かもしれないと思い直して残骸から蘇生したものとなります笑。 背景 前職では古来から存在するアプリケーションの集計用SQLをdbtを導入してリファクタリングしたり、現職では作成者が不在となった1500行超える大量のスケジュールクエリを全てDataformで書き直したり、SQLの考古学を強いられる機会がたくさんありました。ドメイン知識がないので手探りなものから、全てのカラムに select any_value(xx having max created_at) が実装されているものまで多種多様な考古学をしてきたので、読みづらいSQLの解読やデバッグで自分が意識していることを言語化してみました。 解読編、デバッグ編、作り直し編みたいな順序でまとめます。 ※ぶっち

                                                                巨大SQLに対する解読術
                                                              • 「Postgres で試した?」と聞き返せるようになるまでもしくはなぜ私は雰囲気で技術を語るのか? — Just use Postgres 読書感想文 - じゃあ、おうちで学べる

                                                                はじめに 「Just use Postgres」という言葉を初めて聞いたのは、いつだったか覚えていません。Twitter か Hacker News か、あるいは社内の Slack か。どこで聞いたにせよ、私の反応は決まっていました。「また極端なことを言う人がいる」と。 「それ、〇〇でもできますよ」——この手のフレーズはもう100回は聞いてきました。そして大抵の場合、その〇〇は専用ツールに置き換えられていきます。技術が専門分化していくのは自然な流れです。 全文検索なら Elasticsearch。時系列データなら InfluxDB。メッセージキューなら RabbitMQ。それぞれの分野に専門家がいて、専用のソリューションがあって、ベストプラクティスがあります。「とりあえず Postgres で」なんて、それは思考停止ではないか、と。でも、心のどこかで気になっていたんです。 www.mann

                                                                  「Postgres で試した?」と聞き返せるようになるまでもしくはなぜ私は雰囲気で技術を語るのか? — Just use Postgres 読書感想文 - じゃあ、おうちで学べる
                                                                • LEFT JOINの論理削除はWHERE句でしぼるな

                                                                  レバテック開発部ではエンジニアを募集中です! カジュアル面談はこちら ■ 主な開発業務 オウンドメディアの開発 SFAシステムの開発 各システムの改善やリプレイス ■ 最近のトピック TiDB, NewRelicの導入 Devin等のAI導入 ■ エンジニア支援制度 MacBookPro/HHKB/MagicTrackPad/アーロンチェア等の貸与 毎月1万円の技術書購入支援 認定スクラムマスターなどの資格取得支援 外部技術顧問への相談

                                                                    LEFT JOINの論理削除はWHERE句でしぼるな
                                                                  • GitHub - kristiandupont/schemalint: Lint database schemas

                                                                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                      GitHub - kristiandupont/schemalint: Lint database schemas
                                                                    • SQL の比較演算子 "<>" と "!=" の違いについて - Qiita

                                                                      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに SQL で一致しないというのを表すとき、どのような文を書くでしょうか? 私は <> を主に使って書くのですが、!= を使う人を見かけ、違いが気になったので少し調べてみました。 各 RDBMS の不等価演算子について まずは身近な RDBMS のドキュメントを見てみます。 MySQL <> と != が使えるようです。 ドキュメント上では <> が主に使われているようです。 PostgreSQL こちらも <> と != が使えるようです。 また、興味深い注意書きもあります。 <> is the standard SQL not

                                                                      • 東京ガスの内製チームが「myTOKYOGAS」のデータベースに「TiDB」を選んだ理由

                                                                        東京ガスの内製チームが「myTOKYOGAS」のデータベースに「TiDB」を選んだ理由:内製化で直面した「データベースの課題」 東京ガスは、利用者数500万人のアプリ「myTOKYOGAS」の内製化に伴い、データベースに「TiDB」を採用した。2025年10月に開催された「TiDB User Day」に登壇した東京ガスの内製開発チームが、TiDBを選定した理由、導入検証で明らかになった注意点、本番運用で工夫すべきポイントを解説した。 ビジネスにITが直結する今、迅速なアプリケーション開発と拡張性の両立が求められている。こうした背景の下、コンテナ、Kubernetes、マイクロサービスなどのクラウドネイティブ技術を活用する動きが広まって久しい。 アプリケーションのアーキテクチャの変化は、データベースにも波及しつつある。先行する企業の間で昨今注目が集まっているのが、「NewSQL」だ。RDB(

                                                                          東京ガスの内製チームが「myTOKYOGAS」のデータベースに「TiDB」を選んだ理由
                                                                        • Cloudflare outage on November 18, 2025

                                                                          This post is also available in 简体中文, Français, Deutsch, Italiano, 日本語, 한국어, Português, Español (Latinoamérica), Español, Рyсский, Polski, Nederlands and 繁體中文. On 18 November 2025 at 11:20 UTC (all times in this blog are UTC), Cloudflare's network began experiencing significant failures to deliver core network traffic. This showed up to Internet users trying to access our customers' sites as an err

                                                                            Cloudflare outage on November 18, 2025
                                                                          1