タグ

DBに関するokumuraa1のブックマーク (19)

  • データベースを勉強したいあなたに送る技術書17冊(+11冊1講義7link)

    これはなに ども、レバテック開発部のもりたです。最近めっちゃ元気!! 今回は『データベースについて勉強したいあなたに送る技術書17冊(+11冊1講義7link)』として、もりたがここ半年くらいでわーっと集めたデータベース周りの書籍(とか)を紹介していきます。アプリケーションって結局はデータベースみたいなところがあると思うんですが、おれは長いことデータベースをどう学んだら良いのか分かりませんでした。同じような気持ちを抱えているITエンジニアの人もいると思うので、学習ロードマップと合わせて紹介していきます。 なお具体的な対象読者は業務でなんとなくSQL書いてるけど、ウィンドウ関数とか言われると分からんな……くらいの人です。 扱う領域と扱わない領域 扱う領域としてはだいたい以下 再入門 SQL 内部構造 論理設計 周辺知識 データベース理論 その他高度なもの モデリング、NoSQL、分散データ

    データベースを勉強したいあなたに送る技術書17冊(+11冊1講義7link)
  • Webシステムにおいて「画像や帳票等のファイルはDBへ格納すべきなの?」を調べてみた(ファントムファイル) - Qiita

    Webシステムにおいて「画像や帳票等のファイルはDBへ格納すべきなの?」を調べてみた(ファントムファイル)oracleWeb この記事は、 JPOUG Advent Calendar 2023 24日目の記事です。 23日目は multilayer さんの記事『OCIのLanding Zoneについて調べてみた!』でした。 想定読者 ファントムファイルについてよく知らない、帳票の扱い方をあまり考えたことがない人 イントロダクション 皆さん、世の中のWebシステムで利用される画像や帳票ファイルがどこに保存されているかご存知でしょうか? 帳票や大きな画像ファイルなどを扱う際、大きく分けて2つの設計方針があります。 ・DBに直接保存する ・DB外部に保存し、パスなどをDBに保存する オライリーのSQLアンチパターンの、”ファントムファイル”という章にはこのあたりのことが書いています。 [Amaz

    Webシステムにおいて「画像や帳票等のファイルはDBへ格納すべきなの?」を調べてみた(ファントムファイル) - Qiita
  • Snowflake で1万"列"データを扱う技術 - Qiita

    そうです。わずか10行しかないデータですが、 15,000列 あります。 「それデータモデリングをミスってるやん」というツッコミはあると思いますが、今回はそのあたりについてはノーコメントです。諸事情ありこのようなデータを扱うことになりました。 今回は Snowflake でもなかなか扱うことが難しい (横方向に) クソデカデータの世界 をご案内したいと思います。 クソデカテーブルを作る まずテーブルを作ります。 この時点でエラーが出てくれるならまだ良かった。。。 なんとこのクエリは問題なく実行でき、テーブルは作成できます。 作成できてしまいます。 作成できてしまったが故に、「さすが Snowflake、列数が多いテーブルも簡単に扱えるんだね!!」と高をくくってしまいます。 ちなみに PostgreSQL の場合は1テーブルあたり最大 1,600 列だそうです。まぁそれだけあれば普通は困らな

    Snowflake で1万"列"データを扱う技術 - Qiita
  • How Does a Database Work?

    What format is data saved in? (in memory and on disk) When does it move from memory to disk? Why can there only be one primary key per table? How does rolling back a transaction work? How are indexes formatted? When and how does a full table scan happen? What format is a prepared statement saved in? In short, how does a database work? I’m building a clone of sqlite from scratch in C in order to un

  • 関係データベースにおけるリレーションとリレーションシップの関係

    こんにちは、kenzauros です。 今月号のソフトウェアデザイン誌を読んでいて、ある言葉が気になりました。 日IT エンジニアの 8 割(主観)が間違えている言葉、それが「リレーション」と「リレーションシップ」です。いずれもリレーショナルデータベース (RDB; relational database) の文脈で使われます。 この 2 単語は実際に弊社の勉強会や教育の場面でも何度か話題になったことがあります。今回、出版物である雑誌でも揺らぎがあったので、あらためて調べてみました。 なお最初に断っておきますが、記事は誤りを否定するものではなく、できるだけ正しい用語を使っていければいいな、という話題の提起が目的です。 「リレーション」と「リレーションシップ」 はじめに主題である「リレーション」と「リレーションシップ」について、この記事での理解を説明しておきます。 ざっくり言えば 「

    関係データベースにおけるリレーションとリレーションシップの関係
  • Postgres と MySQL における id, created_at, updated_at に関するベストプラクティス

    読者対象 ある程度データベースに関する知識を持っている,経験年数 1 年以上のバックエンドエンジニア 特定のプログラミング言語に依存する部分は含めないため,すべての SQL 使用者を対象とする また,ゼロからの丁寧な説明というよりは,リファレンス感覚で使える記事という形にまとめる。 RDBMS の対象バージョン PostgreSQL: 9.4 以降 MySQL: 8.0.28 以降 id (データ型と INSERT 時のデフォルト埋め) 導入 一般的に採用されやすいプライマリキー用の値として,以下を考える。 連番整数 MySQL では AUTO_INCREMENT, Postgres では IDENTITY や SERIAL と呼ばれるもの UUID v1: ハードウェアごとにユニークな単調増加値 UUID v4: ランダム値 UUID v7(ドラフト): 単調増加であるタイムスタンプとラ

    Postgres と MySQL における id, created_at, updated_at に関するベストプラクティス
  • ゲーム開発でドメイン駆動設計を実践してわかった光と闇

    2019年10月23日、『神姫PROJECT』などソーシャルゲームの企画・開発を手がける株式会社テクロスが主催するイベント「TECH x GAME COLLEGE」が開催されました。第28回となる今回のテーマは「形から入ったドメイン駆動設計によるゲーム開発の光と闇」。株式会社Nextat取締役・中榮健二氏が、ドメイン駆動設計(DDD)をゲーム開発に取り入れた事例を語りました。登壇資料はこちら 10分経っても返ってこないAPIのチューニング 中榮健二氏(以下、中榮):次にいきます。「10分経っても返ってこないガチャAPIのチューニングの話」です。 キャラクターや装備を配布するガチャのAPIがあって、POSTでやりますと。 とりあえず、ガチャAPIの修正を頼まれたので、回しちゃうぞ〜と。フロント側で見ていると、HTTP Status 500。PHPで何が起こったか見たら、「30秒過ぎちゃった」

    ゲーム開発でドメイン駆動設計を実践してわかった光と闇
  • DynamoDBをゲームアプリで使う際の課題と対策(前編) - Tech Inside Drecom

    はじめに これは ドリコム Advent Calendar 2021 の24日目です。 23日目は AnD00 さんの プロジェクトの行動規範を作ってチームの理想を描いてゆく です。 弊社内ではユーザの主要なデータの保存先としてRDBが使われるケースが多く、NoSQLを中心としたシステムを開発した経験のあるエンジニアが限られています。しかし新たなシステムを開発するとき選択肢としてNoSQLを選べることは有用だと思われるので、NoSQLを選択したときどのような課題があるか調査し、対策を検討しておくことにしました。 大小様々な課題があることは想像できますが、稿ではAmazon DynamoDBのスキーマ設計に焦点を当て、実際に設計して直面した課題と、その解決方法を紹介します。 対象読者 RDBを使ったアプリの開発/運用経験があり、DynamoDBを使ってみたい人 背景 冒頭の通り、社内ではR

    DynamoDBをゲームアプリで使う際の課題と対策(前編) - Tech Inside Drecom
  • [速報]AWS、データベース性能問題を数分で検出、分析、解決までしてくれる「Amazon DevOps Guru for RDS」発表。AWS re:Invent 2021

    [速報]AWS、データベース性能問題を数分で検出、分析、解決までしてくれる「Amazon DevOps Guru for RDS」発表。AWS re:Invent 2021 Amazon Web Servicesは、データベースの性能に関する課題を自動的に検出し、原因を分析し、解決してくれる新サービス「Amazon DevOps Guru for RDS」を、開催中のイベント「AWS re:Invent 2021」で発表しました。 Amazon DevOps Guruは、昨年のAWS re:Invent 2020で発表されたサービスで、設定ミスなどを機械学習によって検出してくれるものでした。 参考:[速報]「Amazon DevOps Guru」発表。DevOps関連の設定ミスやコードの問題などを機械学習が指摘してくれる。AWS re:Invent 2020 今回発表されたAmazon D

    [速報]AWS、データベース性能問題を数分で検出、分析、解決までしてくれる「Amazon DevOps Guru for RDS」発表。AWS re:Invent 2021
  • Fate/Grand Orderにおける 大規模なデータベース移行と負荷試験.pdf

    Copyright 2019 DELiGHTWORKS Inc. All Rights Reserved. Fate/Grand Orderにおける 大規模なデータベース移行と負荷試験 2019年6月14日 今井 守生 Copyright 2019 DELiGHTWORKS Inc. All Rights Reserved. 資料は公開予定です セッションでは以下の内容をお話します AWS Database Migration Serviceを使った大規模なDB移行事例(垂直分割→水平分割) 移行後に想定トラフィックを捌けることを検証するための負荷試験手法 弊社エンジニアが過去に2回、DB移行を主なトピックとした講演を行っています のでこちらもご参照ください これで怖くない!?大規模環境で体験するDB負荷対策~垂直から水平の彼方へ~ /甲 https://www.slideshare.n

  • コロナ予約サイトチャレンジ。1万TPSを体験しよう

    はじめに いろんな話題が出ているコロナ予約サイトですが、横浜市の予約サイトが公開すぐに落ちたことでまず話題になりました。 ただ、最大34万人の予約者なので 1分あたり最大100万件のアクセスを想定していたが、開始直後に200万件のアクセスがあったということで33,000TPSというかなりのトラフィックが来た事が予想されます。 対応策がサーバを増やして目標値を当初設計の6倍に引き上げるとの事だったのですが、空席照会のついた予約システムってDBにある程度同期的に書き込む必要があるので、そんな簡単にスケールアウト出来ないはずです。 JSとかCSSとかも含めてるならさておき、メインのページなどのHTMLなどを含めたPVだと仮定してもDBに数千アクセスが行きますし参照だけではなく更新も入ります。どうやったのか当に謎なんですが、特に工夫のないアプリ実装でどのくらいスケールするのか少し気になったので試

    コロナ予約サイトチャレンジ。1万TPSを体験しよう
  • SQLアンチパターン ファントムファイル - Qiita

    目的:画像をはじめとする大容量のメディアファイルを格納することを目的とする アンチパターン:物理ファイルの使用を必須と思い込む 画像データを保存する際にみなさんどのように保存しているだろうか。 DBBLOB型として保存? 外部のファイルシステムに保存し、DBにはファイルパスを保存? 筆者は後者の外部にファイルを保存し、DBにはファイルパスを格納していた。 おそらく多くの方が後者を採用しているのではないか。 どちらもメリット、デメリットがある。 ファイル削除時の問題 画像をDBの外に保存している場合、DBで画像のファイルパスを削除したとしても実際の画像までは削除されない。 ファイルパスの削除に応じて参照先のファイルも削除する必要がある。 ファイルパスを削除して画像を削除しないと「孤児」となった画像が蓄積されていく。 逆に何かしらの理由で画像が削除されてしまった場合、DBに格納されているファ

    SQLアンチパターン ファントムファイル - Qiita
  • サーバーレス LAMP スタック – Part 2: リレーショナルデータベース | Amazon Web Services

    Amazon Web Services ブログ サーバーレス LAMP スタック – Part 2: リレーショナルデータベース 投稿は AWS サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Smith による寄稿です。 シリーズの他のパートは以下のリンクからアクセスできます。また、関連するサンプルコードはこちらの GitHub リポジトリにあります。 パート1:サーバーレス LAMP スタックの紹介 パート3:Webサーバーの置き換え パート4:サーバーレス Laravel アプリの構築 パート5:CDK コンストラクトライブラリ パート6:MVC からサーバーレスマイクロサービスへ この投稿では、サーバーレスアプリケーションで Amazon Aurora MySQLリレーショナルデータベースを使用する方法を学びます。Amazon RDS P

    サーバーレス LAMP スタック – Part 2: リレーショナルデータベース | Amazon Web Services
  • 達人に学ぶDB設計 | 正規化と非正規化、インデックスについて - Qiita

    達人に学ぶDB設計 徹底指南書 ミック(2012) こちらの書籍を学習して、特に参考になった以下の2点を中心に、まとめたいと思います。 正規化と非正規化 インデックスの利用 要点 DB設計において、整合性とパフォーマンスのトレードオフを理解することの重要性が強調されています。 DOA はじめに、システム設計におけるDB設計の重要性が説かれています。システム設計には2つの対になるアプローチがあります。 データ中心アプローチ(Data Oriented Approach: DOA) プロセス中心アプローチ(Process Oriented Approach: POA) DOAは、プログラムより前にデータの設計をすることで、POAはその反対です。 プログラムは短期間で大きく変わっていくことに対し、データは永続的であることから、現在はDOAが主流になっています。 DB設計から行うということは、次の

    達人に学ぶDB設計 | 正規化と非正規化、インデックスについて - Qiita
  • データベース設計の際に気をつけていること - 食べチョク開発者ブログ

    皆さんこんにちは、エンジニアの西尾です。 新しい機能・サービスを開発する際、私は特にデータベース設計に気をつかいます。 データベースはシステムの土台です。 土台が不安定だと、その上に積み上げていくアプリケーションコードがいびつなものになり、つらい思いをします。 また、一度動き出してしまったシステムのデータベース設計を変えるのは、容易なことではありません。 データベース設計には”これだ!”という正解はないと思っています。 サービスの特徴、システムの性質、toB向け/toC向け、Readが多い・少ない、Writeが多い・少ない。 その他もろもろの背景により、データベース設計の仕方も変わってきます。 このテーブルは正規化していないから駄目だ、この設計はいわゆるポリモーフィック関連だから使ってはいけない、などということはありません。 アンチパターンと呼ばれるものも時と場合によっては正解になります。

    データベース設計の際に気をつけていること - 食べチョク開発者ブログ
  • postgresのデータを盗まれた話 - のんびりやの日記

    はじめに さっぶ。どうも、だーやまんです。 この記事は、番環境でやらかしちゃった人 Advent Calendar 2019 - Qiitaの11日目の記事です。 これは、中途半端な知識でサービスを運用していた結果、タイトル通りの大失敗をしてしまったお話です。個人開発での出来事なので、業務で起きたことかと胃薬を握られていた方はご安心ください。 語るのもすごい恥ずかしいレベルですが、戒めのために晒しておきます。 この記事を読んでほしい人 初めてインターネット上にサービスを公開しようとしている人 喋太郎の利用者様(この場をお借りして、改めてお詫び申し上げます。当に申し訳ございませんでした。) 背景とか Discord読み上げBot 「喋太郎」にてやらかしました www.dayaman.work 利用者が約10万人 さくらのVPSにてAppサーバ2台、DBサーバ1台で運用 各サーバの死活監視

    postgresのデータを盗まれた話 - のんびりやの日記
  • DB Fiddle - SQL Database Playground

    An online SQL database playground for testing, debugging and sharing SQL snippets.

  • Data Models

    Data Models: A Comprehensive Guide to Structuring Information for Optimal Insights and Decision-Making In the realm of data management, the use of effective data models plays a pivotal role in organizing and representing information in a structured and meaningful way. Data models serve as the blueprint for databases, facilitating efficient data storage, retrieval, and analysis. This article delves

    Data Models
  • 「御三家」vs. OSS vs. XML DBの世界を覗く(1/2) - @IT

    Database Watch 2008年4月版 「御三家」 vs. OSS vs. XML DBの世界を覗く 加山恵美 2008/4/21 花見には行きましたか? 満開の桜を見ると新入社員になった日を思い返し、心機一転また頑張ろうという気になりますね。今月は新たにデータベースにかかわる方に向けて、データベース関連の情報をご案内します。新入りさん、一見さん、いらっしゃい! ■商用RDBMS「御三家」――オラクル、IBM、マイクロソフト 連載ではデータベース業界や技術動向を追っています。データベースがシステムに重要な存在であるのは言うまでもないことですが、加えて、筆者は次のように考えています。 一概にITでシステムといっても、多種多様にあります。しかし情報に何らかの処理を行うのがシステムですから、データがないシステムはあり得ません。データが不可欠であれば、そのデータを格納するデータベースはシ

  • 1