#author("2023-03-10T02:36:16+00:00","default:admin","admin")
#author("2023-06-09T01:54:22+00:00","default:admin","admin")
-[[【2021年】データベースソフトウェアのトレンド動向:https://dekiruengineer.com/engineer/2021_database/]]
-[[データベースはいまだ進化中、クラウドシフトでなくなるDB管理者の仕事とは:https://xtech.nikkei.com/atcl/nxt/column/18/01956/022100002/]]

-[[Firebird vs. MariaDB vs. PostgreSQL:https://db-engines.com/en/system/Firebird%3BMariaDB%3BPostgreSQL]]
-[[OSSデータベース調査 RDBMS編:https://qiita.com/kanegoon/items/9597a4f70033b686ff16]]
-[[主なRDB(Oracle, MySQL, PostgreSQL)の機能比較:https://qiita.com/kamihork/items/deeaf449254e3845311d]]
-[[MariaDB vs MySQL vs PostgreSQL比較:最適なRDBは?ベンチマーク付選択フローチャート:https://vpshikaku.com/mariadb-mysql-postgresql/]]

-[[第1回:各DBにかかるコストについて(ライセンス費用、保守費用):https://www.system-exe.co.jp/eitd01/]]
-[[System Properties Comparison MariaDB vs. Microsoft SQL Server vs. PostgreSQL:https://db-engines.com/en/system/MariaDB%3BMicrosoft+SQL+Server%3BPostgreSQL]]

*ライセンス [#fac4b3c3]
-[[データベースのライセンスについて:https://teratail.com/questions/71976]]
-[[MySQL - ライセンス早分かり:http://www.softagency.co.jp/products/mysql/license]]

*構築のポイント [#kdc32dce]
** スキーマ・クエリ [#ie6b7b45]
-改善すべきクエリ
--実行回数(Count)の多いクエリ
--実行時間(Time)の長いクエリ
--ロック時間(Lock)の長いクエリ
-インデックスが使われていないクエリを調べ上げ、適切なインデックスを張っていく
-テーブル分割
--1テーブルのレコード件数は可能な限り少なくする
--レコード件数が多い場合は、期間やデータ種別で分割することを検討
-ダブルバッファ
--テーブルのJOINが頻繁に行われる場合は、JOINしたテーブルを作成することを検討
--SELECTするキーによっては、キーとなる値を格納するカラムを用意して予め値をセットしておき、インデックス化しておいて、SELECTはそのインデックスで行う
-インデックスの作成
--それぞれの処理に特化したインデックスの作成を検討
--インデックス的なテーブルの作成を検討
-集計処理についてはトリガ機能の活用を検討
-件数情報は冗長に持つ(○件以上のみ表示するようなアプリで有効)

** サーバ [#x2170848]
-データサイズ<メモリ容量
-更新系と参照系を分ける
-参照系が多い場合はスレーブサーバを増設

** その他 [#ca2dc08d]
-データを保存するのはデータベースでなくたっていい
--行指向テキスト
--key-valueストレージ(Berleley DBなど)
---[[Key-Value Store勉強会に行ってきました:http://blog.katsuma.tv/2009/02/key_value_store_study.html]]
--Web API経由でアクセスする何か

*行指向・列指向 [#d69534f7]
-[[列指向データベースと行指向データベース:https://support.treasuredata.com/hc/ja/articles/214844948-%E5%88%97%E6%8C%87%E5%90%91%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%A8%E8%A1%8C%E6%8C%87%E5%90%91%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9]]

*時系列データベース [#bae9a9a3]
**[[InfluxDB:https://www.influxdata.com/]] [#mc402816]
-[[InfluxDBの紹介:https://www.sraoss.co.jp/tech-blog/influxdb-2/influxdb-introduction/]]
-[[InfluxDB - CTC:https://www.ctc-g.co.jp/solutions/influxdb/]]

-[[InfluxDBについて最初に知るべき10のこと:https://qiita.com/nmrmsys/items/cdeb4afa76c591acfd3f]]


* 製品 [#ib06fa8c]
-[[PostgreSQLとMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較!:https://employment.en-japan.com/engineerhub/entry/2017/09/05/110000]]

-[[MySQL:http://www-jp.mysql.com/]]
-[[PostgreSQL:http://www.postgresql.org/]]
-[[Oracle:http://www.oracle.com/lang/jp/index.html]]
-[[Sybase:http://www.sybase.jp/]]
-[[Teradata:http://www.teradata-j.com/]]
-[[SQL Server:http://www.microsoft.com/japan/SQL/default.mspx]]

** 超高速データベース [#o88b2bf9]
ほんとに高速かどうかは知りません。あしからず。

-[[超高速データベース - Wikipedia:http://ja.wikipedia.org/wiki/%E8%B6%85%E9%AB%98%E9%80%9F%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9]]

-[[高速機関5:http://www.kousokuya.co.jp/product1.html]]
-[[DAYDA.LabooII:http://www.turbo-data.co.jp/j/product/daydalaboo2.html]]
-[[Oracle TimesTen In-Memory Database:http://www.oracle.com/technology/global/jp/products/timesten/index.html]]

** 埋め込み用DB [#da7bfda7]
-[[In-memory database - Wikipedia:http://en.wikipedia.org/wiki/In-memory_database]]

*理論 [#p37d8461]
**CRUD [#af994bb2]
-[[CRUD - Wikipedia:https://ja.wikipedia.org/wiki/CRUD]]
-[[【MySQL入門③】データベースの基本操作CRUDを解説!:https://snome.jp/database/db-intro-3/]]

-[[【SQL】SQLってCRUD以外に何があるの?と思った時に読むQiita:https://qiita.com/akane_kato/items/635378b04e6a31ada651]]

***CRUD図 [#re67b808]
-[[CRUD図の読み方と書き方:https://segakuin.com/diagram/crud.html]]

**マスタデータ/トランザクションデータ [#g7407db5]
-[[非エンジニアでも分かる!マスタデータとトランザクションデータの基礎知識:https://pimlus.com/media/1766/]]
-[[マスターデータとトランザクションデータって結局なんぞや:http://gomocool.net/gomokulog/?p=906]]
-[[「マスタデータ」と「トランザクションデータ」の違いとは?分かりやすく解釈:https://meaning-dictionary.com/%E3%80%8C%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%87%E3%83%BC%E3%82%BF%E3%80%8D%E3%81%A8%E3%80%8C%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B6%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%87%E3%83%BC%E3%82%BF%E3%80%8D/]]

**正規化 [#q4028c97]
-[[データベースの正規化:https://oss-db.jp/dojo/dojo_info_04]]

**キー・インデックス [#sdd05194]
-[[主キーとIndexについて整理する:https://qiita.com/pirorirori_n712/items/b47ade3fdaf8b4a109ba]]
-[[インデックスとは?仕組みをわかりやすく解説:https://products.sint.co.jp/siob/blog/index]]

**物理削除と論理削除 [#w256f147]
-[[SQL で理解する DB の物理削除と論理削除:https://zenn.dev/kotahashihama/articles/f9676a52bd83c9]]
-[[「論理削除」と「物理削除」の違い:https://wa3.i-3-i.info/diff598delete.html]]
-[[データベースの論理削除と物理削除:https://blog.webcreativepark.net/2008/05/26-103152.html]]

**結合 [#qbb49478]
-[[内部結合と外部結合の違い:https://medium-company.com/%E5%86%85%E9%83%A8%E7%B5%90%E5%90%88-%E5%A4%96%E9%83%A8%E7%B5%90%E5%90%88-%E9%81%95%E3%81%84/]]

**外部キー [#t44a3b60]
-[[【SQL入門】外部キーとは?主キーとの関係や作成方法について解説:https://www.sejuku.net/blog/54072]]

**トランザクション管理 [#e373d023]
-[[【データベース】トランザクション管理をわかりやすく説明:https://blog.senseshare.jp/database-transaction.html]]

*設計 [#s69e297e]
-[[【サルが書く】DB設計を達人に学んだのでまとめてみた:https://qiita.com/hajimemath/items/ad5ff1dc96f50287bc00]]
-[[データベース設計におけるNULL:https://scrapbox.io/kawasima/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E8%A8%AD%E8%A8%88%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8BNULL]]

**命名規則 [#mca3d77c]
-[[Ruby on Rails の命名規則:https://guides.rubyonrails.org/active_record_basics.html#naming-conventions]]
--テーブル名
---ドメインオブジェクト名のスネークケースの複数形
 ex) users, user_images
--カラム名
---ドメインオブジェクトのプロパティ名のスネークケース
 ex) name, user_id

**外部キー [#z1db79bb]
-[[「外部キー Night」に参加しました:http://makopi23.blog.fc2.com/blog-entry-163.html]]

-[[外部キー制約でパフォーマンスが上がるパターンとその知見:https://qiita.com/kik4/items/e24539f4c4c002e3dd26]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS