データベース管理システムの基本概念
リレーショナルおよび非リレーショナルデータベースの概要
目次- データベース管理システム(DBMS)について
データベースとは何か?
データベースの利点
専門用語:
リレーショナルデータベース
表形式のデータ構造とその関連性によるデータ組織化
利点:
欠点:
非リレーショナルデータベース
ドキュメントやキー・バリュー形式など、多様なデータ構造を採用する方法論
...
6月7日 18:40 投稿
MySQL データベースクエリ演習
### 単一テーブルのクエリ
#### テーブル構造
テーブル名はemployeeで、フィールド名はすべて日本語です。例えば、部署番号、給与、社員番号、入社日などです。
テーブルの作成:
-- employeeテーブルの作成
CREATE TABLE `employee` (
`部署番号` int(11) NOT NULL,
`社員番号` int(11) NOT NULL,
`入社日` date NOT NULL,
`給与` float(8,2) NOT NULL,
`政治的` ...
6月7日 16:05 投稿
MySQLトランザクションの並行処理問題:ダーティリード、ノンリピータブルリード、ファントムリードの解決策
MySQLのトランザクションにおける三大並行処理問題を、実際のSQL例と内部メカニズムで徹底解説。MVCC(マルチバージョン同時実行制御)とロック機構の組み合わせによって、各隔離レベルがどのように問題を回避するかを明らかにします。
ダーティリードが許容されない典型的なケース
ダーティリードは未コミットのデータを読むため、すべての業務ロジックで避けるべきです ...
6月6日 16:07 投稿
Helmのインストールと設定
Helmのインストールファイルは次のURLから取得できます:https://get.helm.sh/helm-v3.16.0-linux-amd64.tar.gz
サーバーにアップロードし、解凍します。
tar -xf helm-v3.16.0-linux-amd64.tar.gz
cd linux-amd64
sudo mv helm /usr/local/bin/
Helmが正しくインストールされているか確認するには、次を実行します:
helm help
リポジトリを追加するには以下のように入力 ...
6月6日 00:20 投稿
MySQLクエリ性能最適化の実践手法
環境設定
Linuxサーバー:8GBメモリ
MySQL 8.0.20
事前準備
テーブル設計
CREATE TABLE `orders` (
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主キー',
`order_code` VARCHAR(255) COMMENT '注文番号',
`item_code` VARCHAR(255) COMMENT '商品コード',
`item_name` VARCHAR(255) COMMENT '商品名',
`client_code` VARCHAR(255) COMMENT '顧客コード' ...
6月5日 21:47 投稿
MySQLにおけるインデックスが効かない10の典型的なケースと対策
インデックスが機能しない?パフォーマンス低下の主な原因
MySQLでの高速検索を支えるインデックスは、正しく使われなければ逆にパフォーマンスを損なうことがあります。たった一つの記述ミスで、クエリがミリ秒から数秒へと急減速することも珍しくありません。ここでは、実務でよく遭遇するインデックス非効率化のシナリオを10パターン紹介し、それぞれの回避方法をコード ...
6月5日 19:58 投稿
MySQLにおけるインデックス最適化の実践テクニック
部分文字列インデックスによるストレージ効率化
長めの文字列カラム(例:email)に対して、先頭数文字のみを対象にインデックスを構築することで、インデックスサイズを削減し、ページあたりのエントリ数を増加させることができます。
ALTER TABLE accounts ADD INDEX idx_login_prefix(login_id(8));
この例では、login_id の先頭8バイトのみがB+ツリーに格納され、メモ ...
6月4日 20:16 投稿
データベーストランザクションの分離レベルと並行性制御
データベースシステムにおけるトランザクションは、複数の操作を論理的な単一の単位として扱い、データの整合性と信頼性を保証するために不可欠です。この信頼性を支える中心的な概念の一つが「トランザクション分離レベル」です。複数のトランザクションが同時に動作する環境下で、どのように相互作用を制限し、データの一貫性を保つか、その制御メカニズムを本稿では解説 ...
6月4日 16:14 投稿
MySQLのMVCC:マルチバージョン同時実行制御の仕組み
MySQLのMVCC:マルチバージョン同時実行制御の仕組み
1.1. 基本概念
MVCC(マルチバージョン同時実行制御)
MVCC(Multi-Version Concurrency Control)は、データベース管理システムにおける同時実行制御の手法の一つです。MySQLでは、サーバーレベルではなくInnoDBストレージエンジンによって実装されています。
スナップショット読み取り
ロックをかけないSELECT操作 ...
6月3日 22:58 投稿
GitLabの手動インストールと基本操作ガイド
GitLabは、Gitをベースにしたオープンソースのリポジトリ管理プラットフォームであり、Webインターフェースを通じてコードの管理・共同開発を支援します。以下では、Ubuntu環境における手動インストール手順と初期設定を解説します。
パッケージソースの設定
国内ミラーを使用して高速化:
# /etc/apt/sources.list を編集
deb http://mirrors.163.com/ubuntu/ precise ma ...
6月3日 22:07 投稿