Relational Data Base Management System の略。 日本語では、「リレーショナルデータベース管理システム」「関係データベース管理システム」と訳される。 DBMSの一種。RDBを構築・運用するために用いられる管理ソフトウェアのこと。 汎用RDBMS製品の例としては次のようなものがある。
はじめに こんにちは、株式会社 Techouse のクラウドハウス採用でエンジニアインターンをしている ReLU と申します。 いきなりですが、以下のグラフをご覧ください。 これは PostgreSQL の実行計画を取得した結果です。 あえてグラフタイトルや横軸の説明は隠しているのですが、実行時間の差が非常に大きいことがわかると思います。 実行計画とは、データベースが SQL クエリを実行する際に、どのようにデータを操作するかを決定するための詳細な手順のことです。クエリを実行して期待される結果を得る方法にはいくつかの選択肢があり、その選択によって処理の効率が大きく異なります。PostgreSQ…
こんにちは、エニグモ 嘉松です。 BUYMAのプロモーションやマーケティングを担当している事業部に所属しており、その中のデータ活用推進室という部署で会社のデータ活用の推進やマーケティング・オートメーションツール(MAツール)を活用した販促支援、CRMなどを担当しています。 さて、SELECT文で得た結果のデータを(そのまま、直接)テーブルに挿入する INSERT SELECT や、SELECT文で得た結果からテーブルを作成して更にデータまで挿入するCREATE TABLE ASは何かと便利な機能(文法、技?)ですが、WITH句(SELECT文による結果を一時的に名前を付けてテーブルのように利用…
読んだもの、積読、これから買うもの、色々あるが備忘のため記録しておく 基本 SQL 第2版 ゼロからはじめるデータベース操作作者:ミック翔泳社Amazon ↓2024/8/26発売予定 おうちで学べるデータベースのきほん 第2版作者:ミック,木村 明治翔泳社Amazon 設計 SQLアンチパターン作者:Bill KarwinオライリージャパンAmazon 失敗から学ぶRDBの正しい歩き方 Software Design plus作者:曽根 壮大技術評論社Amazon ↓2024/8/28発売予定 達人に学ぶDB設計徹底指南書 第2版作者:ミック翔泳社Amazon SQLの書き方やパフォーマンス…
xo/usql: Universal command-line interface for SQL databases 8700-STAR もある巨人 PostgreSQL の標準ツール psql にインスパイアされたツール。psql を模したコマンドの他、いろいろ便利なものが拡張されている サポートする DB が無茶苦茶多い Go言語製 なるほどなぁ。SQL-Bless は、Oracle の SQL*Plus と Microsoft Access の影響を受けてるけど、usql にとってもそれは psql かー 8700-STAR もあるってことは、この分野にそれほどの需要があるということな…
go-sql-driver/mysqlと日時データ型とタイムゾーン parseTimeはtrue locに指定するタイムゾーンとMySQLのタイムゾーンを一致させる 後者についてはこれらがずれてしまっていると、例えばTIMESTAMP型に内部的に保存されている値は通常UTCで解釈すべき値ですが、JSTとして解釈しないといけない値が入ってしまっているといった事態が発生します マジだったわー SQL> desc testtbl; ID NAME TYPE NULL? 1 TESTNO decimal NOT NULL 2 DTTM timestamp(3) NULL 3 DT date NULL …
データベーススペシャリストに落ちまくってるので権威性ゼロです。こんにちわ。誰も扱いに困ってないと思いますが、自分の中で決着がついたので。 いつものように散らかってます。すんません。書きなおす気力ないです。 要約: サロゲートキーを使うか・使わないかではない。必要なときは使えばよい サロゲートキー サロゲートキーとは メリット デメリット DB設計の観点 論理設計 物理設計 アプリの観点 フレームワークの都合でサロゲートキーを採用する/しないがある サロゲートキーじゃないと条件漏れが怖い? サロゲートキーがあっても結局使えないこともある 「じゃあずっと複合主キーでやっていくのかよ!うちは5カラム…
はじめに スッキリわかるSQL入門 第3版を読了したので、こちらにまとめたいと思います。 https://www.amazon.co.jp/%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82%8F%E3%81%8B%E3%82%8BSQL%E5%85%A5%E9%96%80-%E7%AC%AC3%E7%89%88-%E3%83%89%E3%83%AA%E3%83%AB256%E5%95%8F%E4%BB%98%E3%81%8D-%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82%8F%E3%81%8B%E3%82%8B%E5%…
エキサイトの武藤です。 エキサイトホールディングス Advent Calendar 2022の14日目の記事です。 https://qiita.com/advent-calendar/2022/excite-hd 担当しているサービスのランキング機能のリビルドを行いました。 実現するにあたって、考慮したところを紹介します。 どのようなランキングか? 記事メディアを前提として、ランキングの仕様を説明します。 下記の仕様を想定します。 記事ごとのPVやいいね数を集計したランキング 日次更新 以前のランキング機能のシステム概要 以前のランキング機能のシステム概要について説明します。 まず、バッチが集…
HottyDB という検索エンジンとレコメンドエンジンの機能を搭載したRDBMSを開発し、α版を公開しました! www.hottydb.com ので、この記事ではHottyDBの概要と導入事例について紹介したいと思います! 概要 HottyDBとは? HottyDBとは、検索エンジンとレコメンドエンジンの機能を搭載したRDBMS(リレーショナルデータベース)です。 SQLを用いた通常のデータ操作に加え、文書の全文検索や検索結果の機械学習ランキング(MLR)・アイテムレコメンデーションのロジックなどを全て1つのソフトウェアで担います。 1つのソフトウェアでこれらを実現することで、面倒なデータ伝送…
違法すれすれの『ライン上』に位置する設計 代理キー:主キーが役に立たない時 ケース1:入力データに主キーになるような一意キーが存在しない ケース2:一意キーはあるが、サイクリックに使いまわされる ケース3:一意キーはあるが、途中で指す対象が変化する 代理キーによる解決 自然キーによる解決 列持ちテーブル アドホックな集計キー 多段ビュー データクレンジングの重要性 参考 違法すれすれの『ライン上』に位置する設計 上手に使えば論理設計に効果があるが、間違った使い方をすると運用に支障をきたすといった、『バッドノウハウ』ではないが『グレー』な設計方法について学ぶ。メリデメを理解した上で利用することが…
読んだ本 楽々ERDレッスン 読むに至った経緯 今までRDBMSやDBテーブル設計に関わる機会がなかったため、基礎的な部分から実践的な勘所まで把握したいと思い、評判の良さそうな本書を読んでみました。 感想 数年前にドメイン駆動設計やドメインモデリングにのめり込んだことがあるが、DBテーブル設計で考える事も基本的には同じことだと思った 第1部 DB設計総論、第2部 RDBMS総論の内容は、基礎的なことから実践的な考え方まで参考になることばかりで大変良かった その技術が登場した背景と歴史を理解するのは大事なことだと思ってるので、Codd氏がリレーショナルモデルを発表した時代以降の歴史が知れて良かっ…
この記事には、Kaigi on Rails 2024 の Day2 に聞いたセッションの感想と記録を書きたいと思います。 kaigionrails.org セッション会場は2つあったのですが、2日目は特にどちらの発表も面白そうでどちらを聞くか悩ましかったです。 また、発表の中で、1日目や他の方の発表内容に言及していたりしているのも、おお、繋がっている!!となりました。 ( イベントで思ったことと、Day1 のセッションについては別記事を書いています) 作って理解する RDBMSのしくみ Cache to Your Advantage: フラグメントキャッシュの基本と応用 基本:フラグメントキャ…
kaigionrails.org 実はオフライン参加は初めてでした。 プロポーザルを出した 出しました。残念ながら落選。 実は去年も出していたのだけど(去年も落選です)今年は会社の人たちとレビュー会もして、かなりブラッシュアップしたので悔しい。 また来年ですね。 Day1 基調講演 「フレームワークと戦わないという」というキーワードがあった気がする。これが個人的にはしっくり来たし、よく言われるRailに乗るってことなのかなと思った。 多分みんなが知りたい痒いところに手が届くような話で非常に良かった。 RailsのPull requestsのレビューの時に私が考えていること 再現手順を書く際に、…
なぜAPIにフィルタリング機能が必要になるのか Webサービスを運営している時に、サーバサイドではAPIにフィルタリング機能を求められる事がしばしば起こります。このようなAPIの一例として、タスク管理ツールでのタスクの一覧を返す以下のようなAPIがあります。 openapi: 3.0.1 info: title: OpenAPI definition version: v0 servers: - url: http://localhost:8080 description: Generated server url paths: /tasks: get: tags: - tasks-contr…
G-genの杉村です。Google Cloud(旧称 GCP)の認定資格である Associate Data Practitioner 資格の試験対策に有用な情報を記載します。 基本的な情報 Associate Data Practitioner とは 難易度 出題傾向 試験対策 ETL と ELT ETL と ELT の基本 オープンソースツールとフルマネージドサービス Cloud Data Fusion イベントドリブンアーキテクチャ データベースの選択 BigQuery BigQuery の基本 ELT と ETL 半構造化データの扱い(JSON 型) パーティションとクラスタリング 外…
はてなサマーインターン2024実行委員のid:cohalzです。 8月から9月にかけて「はてなサマーインターンシップ2024」を実施しました。本日、そのレポートサイトを公開しました! hatena.co.jp 今年のインターンでは最初の一週間に京都オフィスに集まりオフラインで講義や課題をするというパートを設けました。 はてなのインターンといえばオフィスで集まってわいわいするのが楽しかったという感想を持ってくれる人も多く、今年はそれを一週間だけですが復活することができました。 ちなみに、京都オフィスは2022年に移転したため、新しいオフィスでオフラインのインターンを実施するのは今年が初となりまし…
2023年4月から基本情報技術者の試験制度が変更されました。 出題方式は「多肢選択式(四肢択一)」で以前と同じですが、試験時間が150分→90分と変更されています。つまり、科目Aは1問を1分30秒で解かなければ行けない計算になります。 参考書で基本的な語句や意味を押さえた後は過去問を何度も問いて傾向を掴むと良いでしょう。 サンプル問題の構成は▼こちらのようになっています。 ■テクノロジ系 問1~問41 ■マネジメント系 問42~問48 ■ストラテジ系 問49~問60 CBT化に伴って過去問題がすべて公開されることはなくなりましたが、サンプル問題は公式にIPAから出されている貴重な情報です! 早…
SQL 第2版: ゼロからはじめるデータベース操作 🚨:理解できなかったところ or 話し合いたい所 👽:素敵ポイント 1. データベースとSQL 1-1 データベースとは DBとは・・ 大量の情報を保存し、コンピューターから効率よくアクセスできる様に加工したデータの集まりのこと!! 『『 データベースは身近に潜んでいる 』』 例) ・病院の診察時、履歴を遡ってくれたり ・旅館に訪れた際、数年後もハガキが届いたり #余談ですが(例の2つ目、旅館のハガキが自分でも経験があります。気づかなかっただけで、20年前くらい前から当たり前に使われているのだなぁと感嘆しました) 実際にはもっと前から使われて…
TL;DR OLAP 向け DBMS の ClickHouse の、実際のパフォーマンスについての記事をあまり見かけなかったので、実際に1億超のレコードを持つテーブルで集計問い合わせしてみた、という話です。 背景 業務で携わっているサービス(AWS にて運営)にて提供しているアクセス集計機能が、年々のデータ増加によりじゅうぶんなレスポンスタイムを得られなくなって来ている問題に遭遇しています。アクセスデータは RDS for MySQL に集約してあり、集計が重くなってくる度に中間集計等で最適化を図って凌いできましたが、そろそろ限界みたいです。そもそも、こういう用途に RDBMS を用いる事じた…
こんにちは。組織・基盤開発本部エンジニアリングマネージャーのid:daiksyです。 はてなでは、毎年夏にサマーインターンシップを開催しています。今年は京都オフィスでの講義パートと、リモートでのプロダクト開発実践パートとの2部構成での開催です。 hatena.co.jp ここでは、講義パートで実施した「チーム開発」講義の様子を紹介します。 講義の目的 はてなサマーインターンシップ2024では、インターン生は最終的にはてなで実際のプロダクトを開発しているチームに配属されます。そして配属先で、はてなブログなどの実際に運用中であるプロダクトの機能開発を体験します。 インターンシップ前半の講義パートは…
Kaigi on Rails 2024 Kaigi on Rails 2024 に参加しました! 去年は現地参加できなかったので、今回は実際に足を運んで発表を聞くことができてよかったです。 今回のブログ記事では、自分が会場で聞いた発表の感想を五月雨式に書いていきたいと思います。📝 (一つ一つの感想は短めなのでご了承ください!) 発表の感想:Day 1 Hall Red Rails Way, or the highway Rails を Rails Way に乗せつつもどのようにスケールさせていくかというお話でした。Rails アプリケーションを拡張する際は、他のものを混ぜ合わせるのではなくて、…
2024-10-25、2024-10-26の2日間開催された Kaigi on Rails 2024 に現地参加した。 RailsのPull requestsのレビューの時に私が考えていること Actual Behaviorの話が印象的。It does not work. ではなくて実際に起こっていることを書くのは必要だし自分がIssueをトリアージするときも意識して情報を求めていきたいなぁと思った。IRBやRelineのIssues、PRテンプレートを見直したくなった。より踏み込んだ日々の向き合いの話を聞きたくなった。Grammar in Useやるぞ。 推し活としてのrails new 現…
絵本作家せなけいこさん死去 92歳 代表作に「ねないこだれだ」「あーんあんの絵本」 某チェーン寿司で大学芋を頼んだら写真と比べて明らかに量が少ないので店員に聞いた話…元店員や現役が続々 不動産屋の立場として「持ち家VS 賃貸論争」をどのように考えるか - セットライフエージェンシー ダウナーお姉さんは遊びたい 第2話 山鷹景 | 週刊コロコロコミック フリーランス新法とは?フリーランスを保護するための法改正を詳しく解説 - カケコムメディア ドメインモデリングで全システムの設計をゼロからやり直す。リアーキテクチャに挑む2年間の全貌【モノタロウCTO普川】 | レバテックラボ(レバテックLAB)…
有明で開催された Kaigi on Rails 2024に参加した。 kaigionrails.org ざっとになるものの感想です。2日分まとめてこちらに書きます。 1日目 (2024-10-25) オープニングキーノート 「RailsのPull requestsのレビューの時に私が考えていること」 「JRubyのパワーを解き放つ:パフォーマンスと多様性向上のためのRailsアプリ」 そのほか 2日目 (2024-10-26) 「作って理解する RDBMSのしくみ」 「Importmapを使ったJavaScriptの読み込みとブラウザアドオンの影響」 「omakaseしないためのrubocop…
こんにちは、 id:sezemi です。 子どもの所属するサッカークラブの依頼で 4 級審判の資格を持っているのですが(もちろん笛も吹いています)、その更新講習のお知らせが届いたものの、子どもが今年度で小学校を卒業するため、更新の必要がなくなりました。 いよいよ卒業の足音が聞こえてきました。 さて、そんな秋口といえば、カンファレンスです ! Kaigi on Rails 2024 です !! アンドパッドは今年もゴールドスポンサーとして協賛しているほか、念願のスポンサーブースに当選しました 🎉🎉 とても楽しみにしているので、 Kaigi on Rails 2024 タイムテーブル解説会というイ…