タグ

DBに関するch1248のブックマーク (52)

  • テーブル・DB設計するときの極意 - Qiita

    はじめに 「テーブル・DBを設計するときのさいきょうの極意」を完全に理解したので 初心者(私)向けに共有する記事です。 どうぞ揉んでいただければ幸いです。対戦よろしくお願いします。 さいきょうの極意 初心者が「テーブル・DB設計して」と言われると、 「アソシエーションってあったよね・・・バリデーションも?中間テーブルを使うときと使わないときと・・・」と大変に混乱し、何から手をつけていいかわからなくなります。 そんなあなたにこれ! テーブル・DB設計は「属性」と「関係」の2つだけ 「属性」は必要なものを書くだけ 「関係」は 1:1 / 1:N / N:N しかない(しかも、ほとんど 1:N) これが極意だ!!! 一般的な、「ユーザーがいて、投稿ができて、コメントといいねができるサービス」で考えてみましょうか。 users / posts / comments / likes のテーブルが必要

    テーブル・DB設計するときの極意 - Qiita
    ch1248
    ch1248 2024/04/12
    ええやん
  • Rustでリレーショナルデータベースを自作したときの成果と反省と学び - Yoshisaurのメモ

    はじめに この記事では、個人プロジェクトとしてRust言語でリレーショナルデータベースを開発した経験(もう五ヶ月も前...)について、その成果と反省、得た学びを共有します。 DBMSを自作した理由 自分がDBMSの自作に着手したのは、『Designing Data-Intensive Applications』というの内容を深く理解するためでした。 このは、データシステムの設計と運用において最も大切な「信頼性」、「拡張性」、「保守性」を保証する方法論を、豊富な文献を引用しつつ、理論と実践の橋渡しを巧みに行いながら、丁寧に説明している名著です。読んだことがない人は速攻購入してくだい。当にいいです。 このは、データベースの内部構造に関する話も豊富に含まれていたので、「データベース自作してみようか...」という気持ちになりました。 Rustを採用した理由 データベースの実装のついでに、

    Rustでリレーショナルデータベースを自作したときの成果と反省と学び - Yoshisaurのメモ
    ch1248
    ch1248 2024/03/04
    素晴らしい
  • どのレイヤー(層)でトランザクションを実装すべきか

    このように、層ごとに関心事の分離を行うことで、保守性の高い(変更容易性や再利用性等)アプリケーションを実現できます。 しかし、「トランザクション」においてはどうでしょうか。 トランザクションはビジネス領域においても、技術領域においても関心事がある内容です。 そういう曖昧なものは「ひとまず usecase 層に入れてしまえ」という方針になりがちです。 ですが、DB 固有の知識を usecase 層の関心事にしてしまっては、関心事の分離をするメリットが得られません。 そのため、関心事の分離を実現しつつトランザクション実装をする方法を模索してみました。 前提 1. クリーンアーキテクチャを採用している(オニオンアーキテクチャやレイヤードアーキテクチャも含む) そもそもビジネス知識と技術知識を分離していないアーキテクチャを採用している場合、メリットは得られません。 そのため、オニオンアーキテクチャ

    どのレイヤー(層)でトランザクションを実装すべきか
    ch1248
    ch1248 2024/03/03
    いいですね
  • RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド / delete flag

    PHPカンファレンス関西の登壇資料です。 WEB+DB PRESS Vol.134に詳細があります https://gihyo.jp/magazine/wdpress/archive/2023/vol134

    RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド / delete flag
    ch1248
    ch1248 2024/02/14
    「ちゃんと設計すると削除していいデータはほぼ無い」は同意だなあ。
  • xlsxファイルにSQLを実行するxlsxsql - Qiita

    xlsxファイルに対してSQLを実できるxlsxsqlというツールを作りました。 GitHubのxlsxsqlからダウンロードできます。 これは何? xlsxsqlは、xlsxファイルに対してSQLを実行するツールです。 また、CSV,LTSV,JSON,YAMLといったファイルに対してSQLを実行することもでき、その結果をxlsxファイルに出力することもできます。 trdsqlにxlsxファイルの読み書き機能を追加したものになります。 使い方 単純にファイルをテーブルとして指定できます。 -oまたは-outオプションは出力ファイル形式を指定します。 CSV, LTSV, JSON, JSONL, YAML, TBLN, AT, MD等が指定できます。

    xlsxファイルにSQLを実行するxlsxsql - Qiita
    ch1248
    ch1248 2023/11/24
    よいですね
  • データベース テーブル設計入門 | フューチャー技術ブログ

    リレーションRが次の二つの条件を満たす。 1.第1正規形であること 2.すべての非キー属性は、いかなる候補キーにも部分関数従属していない(完全関数従属である)こと ですがこの定義の説明、専門用語と独特の言い回しが多く初見だと難しく感じたので順を追ってわかりやすく非正規形から第3正規形にしてみようと思います。 STEP0 基となるテーブル説明の為、サンプルとなるテーブルを用意します。社員番号、社員名、部署コード、部署、趣味を持つものとします。社内向け社員検索システムの設計の一部だとでも思っていただければよいです。 仮のレコードも付け加えると以下のようになります。以後、主キーは下線にて示します。 この社員テーブルは非正規形の状態です。 社員 ※1 来であれば社員名は姓、名で分けたり、よみがなの項目を分けて持つべきですが、今回の説明の主旨から外れるので簡易的に社員名として表現しています。 ※

    データベース テーブル設計入門 | フューチャー技術ブログ
  • モデリングはキラキラ技術より地味だが役に立つ / modeling-over-shiny-tech

    # Event データモデリングとデータ基盤の構築・運用 (第14回ちゅらコラボ)CARTA HOLDINGS x ちゅらデータ 合同イベント https://churadata.connpass.com/event/254417/ ぼくのかんがえる最高のレポーティング基盤 https://speakerdeck.com/pei0804/hokufalsekankaeruzui-gao-falserehoteinkuji-pan-at-awsdeshi-jian-analytics-modernization ディメンションモデリングモデリング https://zenn.dev/pei0804/articles/dimensional-modeling スタースキーマ https://zenn.dev/pei0804/articles/star-schema-design コンフォ

    モデリングはキラキラ技術より地味だが役に立つ / modeling-over-shiny-tech
    ch1248
    ch1248 2022/08/20
    とても良いスライドだった。ブコメに「モデリングとログがどちらかが重要か」という話があるが、確かにどちらを優先するかは難しいな……。
  • データモデルはドメインモデルに先行する - 設計者の発言

    関わっているあるプロジェクトで、Javaでのコンポーネントベース開発を進めるためのクラス図が出来上がりつつある。DDD(ドメイン駆動設計)に関心を持つ技術者にとってお手になるような端正なドメインモデルだ。それを眺めながら関係者がしみじみと感じていることがある。どんなに優秀なドメインエキスパートと組んだとしても、DDDにもとづいてこのモデルを「先に」生み出すことは不可能だっただろう。 どういうことか。我々はまず、泥臭い分析と設計を重ね、あるべきデータモデルを完成させた。そのうえで実装方式の専門家の協力を仰ぎ、クラス図が出来上がった。つまり、データモデルからドメインモデルが導かれたのであって、その逆ではない。じっさい、ドメインモデルからデータモデルを導くことが不可能であったことは、両者を並べたら一目瞭然なのであった。 これは重要な論点だ。データモデリングとドメインモデリングのどちらを先行させ

    データモデルはドメインモデルに先行する - 設計者の発言
    ch1248
    ch1248 2022/07/04
    これは確かにその通りだな……。考えてみれば、ドメインモデルはデータモデルに依存せざるを得ない。
  • Oracle Cloud Infrastructureのアカウントが突然停止したので状況や調査内容を書いていく

    Oracle Cloud Infrastructureのアカウント停止発覚 最初にも書いたが、Oracle Cloud上で稼働させているサーバプログラムが応答していないことから、アカウントが一時停止状態にあることが発覚。 急遽停止してしまったサーバプログラムに対しては暫定対応をとり、事なきを得る。 ちなみにダッシュボード上には下記のようにアカウント一時停止の旨が表示されている。 Oracle Cloudアカウントの状況 最初に自身のOracle Cloudアカウントの契約状況を書いておくと、少し前にアカウント自体はトライアルから有料アカウント(Paid Account)にアップグレードが完了している状態。 請求なども想定通りに発生しており、アカウント自体は問題なく運用できていると思っていた。 そのためアカウント一時停止が発覚した際はなぜなのか?という疑問と、突然頭から氷水をかぶったような感

    Oracle Cloud Infrastructureのアカウントが突然停止したので状況や調査内容を書いていく
    ch1248
    ch1248 2022/06/12
    Oracle Cloud使うのはリスクでしかないな、これは。
  • データベース設計におけるNULL - kawasima

    NULL絶対ダメ論や現実的には無理だから上手く付き合っていくしかないんだよ論など見られるが、せっかくCodd博士が上図の分類を提示しておられるので、これを元にもっと詳細化して考えてみよう。

    データベース設計におけるNULL - kawasima
    ch1248
    ch1248 2022/05/21
    勉強になる。
  • 個人でWEB開発を15年くらいやってる者ですが

    この記事を見てびっくりした。 https://laiso.hatenablog.com/entry/nope-sql個人開発のコストはDB次第」 まずビックリしたのは「DBってそんなにお金かかる?」という点。 もちろんDBがストレージ、CPU、メモリをうのは分かる。 でもVPSならそんなにコストかからんだろう? 俺は1日100万PVほどのエロサイトを運営しているが、WEBサーバ1台、DBサーバ1台、画像サーバ2台で動いているぞ? VPS4台で月額6000円くらい。 次にビックリしたのは、個人開発なのに難しそうなDBサーバを使っている事。 「Cloud Firestore」「Amazon DynamoDB」「MongoDB Atlas」 ↑俺、全部知らない。。。 もちろん、こうしたDBサーバの必要性は分かるのよ。 稼働率、安定性、拡張性などなど。 でもそれって、大規模サイト向けじゃない

    個人でWEB開発を15年くらいやってる者ですが
    ch1248
    ch1248 2022/05/05
    技術の将来性とスキルアップを取るか、枯れた技術とコストを取るかの違いじゃないかな。どちらも間違いではないけど、業務で使ったり、キャリアアップを見据えるんであれば、前者重視はあり得るかと。
  • 個人開発のコストはDB次第 - laiso

    個人でWebサービスを継続的に運用するのは金がかかってかなわんという問題がある 「個人開発」だと定義が曖昧なので自己資金かつ赤字のプロジェクト(Webサービス)ということにする。 そういうプロジェクトではプロダクトオーナー=自分、開発者=自分、予算管理者=自分というロールになるので予算管理者としてコストを図る必要がある(ここでいうコストはWebサービスを実現するアプリケーションのランニングコストのこと)。 通常はみんな自分の人件費を0として計算していると思う(逆にいうとそれが負債という考え方もできると思う)。 ただしメンテナンス時間とコストのトレードオフもあるので、人件費0ではあるけど有限の時間は別軸として管理しているのが普通だと思う。極端な例だと「コスト削減できるけどメンテナンス時間10倍になる」というのは避けられる。 仮に個人開発プロジェクトの予算を月数千円から高くても1万円ぐらいか

    個人開発のコストはDB次第 - laiso
    ch1248
    ch1248 2022/05/04
  • RDBのデータモデリング・テーブル設計の際に参考にしている考え方と資料

    はじめに タイトルのとおり、RDBのデータモデリング・テーブル設計を行う際に参考にしている考え方と関連資料をまとめました。 P.S. なんと記事内でいくつか参考として挙げさせてもらっている増田さん・かとじゅんさん・奥野さん・そーだいさんからコメントいただくことができました。 当にありがとうございます。 前提 RDBを採用するのは事実を無駄なく正しく記録するため 正規化、トランザクション、制約とデータ整合性 基的には始めに理想として集合論・リレーショナルモデルに基づいて正規化を考え(論理設計)、パフォーマンスなどの現実問題に対して折り合いをつけていく(物理設計) 制約を最大限利用する cf: ↑P91〜 ↑P.29,41 ↑P56〜 ↑5章 ↑P347~ 情報とデータ データ:単なる事実の値→これを永続化して蓄えるものがRDB 情報:データから生み出される意味や目的のあるもの→RDB

    RDBのデータモデリング・テーブル設計の際に参考にしている考え方と資料
  • ちょめ子🎃 on Twitter: "失敗談ですが、非IT部門にノーコードツールを導入しても効果はなかったです。原因は、非IT部門の開発者にDBの概念がなくデータをどのように管理すべきか知らなかったから。画面を作っただけのアプリが乱立してデータは分散。結局エクセル使うのと何ら変わらなかったというオチです。"

    失敗談ですが、非IT部門にノーコードツールを導入しても効果はなかったです。原因は、非IT部門の開発者にDBの概念がなくデータをどのように管理すべきか知らなかったから。画面を作っただけのアプリが乱立してデータは分散。結局エクセル使うのと何ら変わらなかったというオチです。

    ちょめ子🎃 on Twitter: "失敗談ですが、非IT部門にノーコードツールを導入しても効果はなかったです。原因は、非IT部門の開発者にDBの概念がなくデータをどのように管理すべきか知らなかったから。画面を作っただけのアプリが乱立してデータは分散。結局エクセル使うのと何ら変わらなかったというオチです。"
    ch1248
    ch1248 2021/06/02
    まあそうなるよね。
  • 筑波大1年生が爆速開発した“オレオレ授業DB”が大学公認に 有志で運用を継続する方針

    履修の登録期間真っ只中、アクセスが集中したことでメンテナンスに入った筑波大学の授業データベース「KdB」。同大の学生たちから不満の声が上がる中、その代替ツールである「KdBもどき」を3時間半程度で作ったとして大学内外から注目された筑波大の1年生、いなにわうどんさん(和田優斗さん)が再び注目を集めている。同システムが“大学公認”になったためだ。 和田さんが開発したKdBもどきを公認ツールとした理由は「システムとして優れたものであるため」という。在学生が開発したことも考慮し、内部の会議を経て公認に至った。和田さんが在籍する情報メディア創成学類内であれば、学生だけでなく教員の利用も呼び掛けている。現在、同学類の公式ページで、KdBもどきのURLを和田さんの名前とともに掲示している。 学生が開発したものを大学が認めるのはよくあることなのか。「前例ではありませんが、類似している例としては学在学中の

    筑波大1年生が爆速開発した“オレオレ授業DB”が大学公認に 有志で運用を継続する方針
    ch1248
    ch1248 2021/05/02
    作って公開した学生も、この流れでしっかり採用する大学も素晴らしい。
  • SELECT文で本番環境を落としたお話 - Qiita

    (この記事は 地平線に行く とのマルチポストです) 番環境でやらかしちゃった人 Advent Calendarで、このパターンのやらかしはなかったのでキーボードを叩くことにしました。 番外編のつもりでお楽しみください。 この記事が、新たな障害発生を防ぐことにつながれば幸いです。 何をやったのか ある日、ちょっとした調査のために番データベースのデータを確認することになりました。 (個人情報が格納されているようなシステムではなかったので、必要であれば番データベースへのアクセスが許されていました) もしメンテナンスがあればそのタイミングでやればよかったのですが、直近では特に予定はないとのことでした。そのため、システムが動いている状態のまま作業をすることにしました。 ごく単純な SELECT を実行するだけのつもりだったので、システムに影響がないと判断したためです。 その際、万が一コピペをミ

    SELECT文で本番環境を落としたお話 - Qiita
    ch1248
    ch1248 2019/12/27
    知見だ。
  • 東京大学脳神経外科 頭部3DCGデータベース

    「東京大学脳神経外科 頭部3DCGデータベース」は、東京大学医学部附属病院脳神経外科で開発された3次元コンピュータグラフィックス(ポリゴンモデル)です。非商用かつ、研究もしくは教育用途に限り自由に使用することができます(商用使用を目的とする場合や判断に迷われた場合には、お問い合わせください)。

    ch1248
    ch1248 2019/01/12
    匿名化されてますが、ここに俺の脳もあります。(データ取得に参加した)
  • Amazonプライムデー初日にサーバーがダウンしたのは「DBをOracleから自社製に乗り換えた」ことが最大の理由 - GIGAZINE

    By 禁书 网 日時間で2018年7月16日の正午に始まったAmazonプライムデー2018では、セール開始直後にサーバーがダウンして約1時間にわたってアクセス障害が発生しました。Amazonが内部調査を行って作成した報告書によると、この問題は取引のデータベース(DB)を従来のOracle製から自社製に乗り換えたことが最大の理由である可能性が高まっています。 Amazon move off Oracle caused Prime Day outage in warehouse https://www.cnbc.com/2018/10/23/amazon-move-off-oracle-caused-prime-day-outage-in-warehouse.html Amazonプライムデー2018は同社にとって「史上最高」となるセールス記録を樹立しました。Amazonは売上高を公表しな

    Amazonプライムデー初日にサーバーがダウンしたのは「DBをOracleから自社製に乗り換えた」ことが最大の理由 - GIGAZINE
    ch1248
    ch1248 2018/10/25
    これは興味深い
  • 今こそ知りたい、2大OSSデータベースのMySQLとPostgreSQLの違いについて話をしてきた - そーだいなるらくがき帳

    去年書いたSoftwareDesignを題材にお話してください!って言われたので話してきました。 下の特集記事は1年経った今も現役で読める内容なので興味がある人はぜひ読んでみてください。 またRDBアンチパターンという連載をしていますのでこちらもあわせてご確認くださいっ! gihyo.jp そして当日の資料はこちらです。 SoftwareDesignにしっかりとMySQLとPostgreSQLの違いについては触れているのでそこでは触れていない、ハマりどころや初めて両方のDBを知ったと言う人向けのカジュアルは部分を攻めました。 またDBだけの勉強会ですので普段説明するようなところは省略し、できるだけ経験談やコアの話に注力したつもりです。 このへんは資料に含まれて居ないので当日居た人たちだけの特典ですね!! ということで実は今月は登壇3週連続だったのですが一段落しました。 来週はAWS Sum

    今こそ知りたい、2大OSSデータベースのMySQLとPostgreSQLの違いについて話をしてきた - そーだいなるらくがき帳
    ch1248
    ch1248 2017/05/28
  • mysqlをdisる会 - Qiita

    はじめに やあ (´・ω・`) ようこそ、バーボンハウスへ。 このmysqlはサービスだから、まずsystemctl start mysqld して落ち着いて欲しい。 うん、「また」なんだ。済まない。 仏の顔もって言うしね、謝って許してもらおうとも思っていない。 でも、このタイトルを見たとき、君は、きっと言葉では言い表せない 「ときめき」みたいなものを感じてくれたと思う。 殺伐とした世の中で、そういう気持ちを忘れないで欲しい そう思って、この記事をかいたんだ じゃあ、注文を聞こうか。 というわけでmysqlをdisります。disるだけなので内容はありません。いいね? mysql には罠がいっぱい そうなんですよ罠がいっぱいなんですよ奥さん。 いやこれはおそらくmysqlに限った話ではないんですけど例えばこういうの! MySQLのチューニングなんてしたらパフォーマンス落ちるだけだし、デフォル

    mysqlをdisる会 - Qiita