→データベース関連

#contents


*一般 [#l7946196]
-[[データベースの概念スキーマ、外部スキーマ、内部スキーマ - Qiita>https://qiita.com/lymansouka2017/items/615dac8890e39a4da86e]] 2020
--外部スキーマ…ユーザから見たときの見た目。ビューに相当
--概念スキーマ…CRETE TABLEなどのDDLに該当。データモデル
--内部スキーマ…DBの実装。ファイルやインデックスなど

-[[M1Mac × Docker × SchemaSpy × MySQL8.0でテーブル定義書とER図を自動生成してみる>https://gmor-sys.com/2022/10/19/db-document-autocreation-tool/]] 2022.10

-[[【入門】データベース設計まとめ - Qiita>https://qiita.com/KNR109/items/5d4a1954f3e8fd8eaae7]] 2022.8

-シャーディングは、特定のタイプのパーティション分割であり、いわゆる水平パーティション分割の一部です。
-[[シャーディング - Qiita>https://qiita.com/hharu/items/15627d2058bffe1fadf0]] 2019
-[[シャーディングとは、テーブルシャーディングという可能性【水平分割】 | SEO対策なら株式会社ペコプラ>https://pecopla.net/web-column/db-shard]] 2020

-[[DB設計について考えてみた。ナチュラルキーとサロゲートキーはどちらが良いのか? | 株式会社AMG Solution>https://amg-solution.jp/blog/8980]] 2022.4

-[[交差テーブルには関連の意味を表す名前をつけよう>https://qiita.com/tkawa/items/dc3e313021f32fd91ca6]] 2019.6

-[[DB設計時のサイズ見積もり>http://d.hatena.ne.jp/yone098/20090512/1242088638]]

-[[リレーションの正規化>http://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E6%AD%A3%E8%A6%8F%E5%8C%96]]
--第1〜第5正規形の説明、ボイス・コッド正規形の説明など

-[[フリーで使えるDBモデリングツールまとめ>http://blog.asial.co.jp/367]]
--Clay,DBDesigner4,
MySQL Workbench,WWW SQL Designer,A5:SQL Mk-2,
Execute Query
-[[DBDesigner4>http://fabforce.net/dbdesigner4/]] MySQL用のDB設計ツール


*ER図 [#tffd41b8]
→ドキュメント作成

-[[PlantUMLでER図を書く - Qiita>https://qiita.com/kuro221/items/f2bc325319d4e1827989]] 2022.10

-[[ER図をマウスを使わないで書きたいし、その内容をGitLabで管理もしたい - Qiita>https://qiita.com/arisa5/items/653a95ab3464adac9875]] 2022.9

-[[ER図の自動生成について、dbdiagram.io, DBeaver, A5M2 を比較してみる。 - Qiita>https://qiita.com/ryamate/items/12bd8cd819079c28644c]] 2022.8

-[[ER図の作図について、 Draw.io, PlantUML, Mermaid を比較してみる。(VSCode拡張機能など) - Qiita>https://qiita.com/ryamate/items/3779418172c4f5a83212]] 2022.7

-[[ブラウザでER図が描けるWWW SQL Designer紹介>http://labs.unoh.net/2007/10/erwww_sql_designer.html]]
--http://ondras.zarovi.cz/sql/
-[[ER図:http://www.netlaputa.ne.jp/~hijk/study/ae/er.html]]
-[[誰でもかけるER図:http://www.gfocus.co.jp/information/column/column02.html]]


*mixiはいかにして増え続けるトラフィックに対処してきたか [#j17cf77f]
-http://itpro.nikkeibp.co.jp/article/NEWS/20060330/233820/
-Webサーバーは単純に増やせばいいのであまり問題にならない。
-MySQLのスケーラビリティをどう確保するか
--mixiは更新処理が多いためレプリケーションはあまり有効ではない
--そこでまずデータベースの分割で対応
---テーブルの種類によるDBの分割
 ・テーブル位置の管理情報をもつパーティションマップを作成
    ・利点:DB移行が楽(管理情報を書き換えるだけで良い)
    ・欠点:テーブルの結合ができなくなる(開発当時は)
--この対応でもおっつかなくなった
--次にユーザ単位でのDB分割
---パーティション・マップ用DBの追加
---アプリケーションの中だけでパーティション・マップを処理
--(これらはパーティション・マップが増えることへの対応か?)
--DB分割によるコネクションの増加→メモリ・キャッシュで対応
--将来は更新日時によるデータ分割も検討する

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS