データベース

Cloud SQLとAlloyDBの比較

データベース

Cloud SQLと比較したAlloyDBの優位性について知りたかったので簡単に調査してみた。 前提 Cloud SQLについてはCloud SQL Enterprise editionを対象とする。 Cloud SQL vs AlloyDB 仕様について単純比較する。 Cloud SQL AlloyDB サービス形態 マネージド型RDBMS PostgreSQLベースの分散型に近い...

AlloyDB Cloud SQL Google Cloud Platform

分散SQLクエリエンジンTrino徹底ガイド

データベース

分散SQLクエリエンジンTrino徹底ガイドを読んだ。 SQLクエリエンジン ANSI SQLをサポート フェデレーテッドクエリ 同じSQLで異なるシステムからデータベースとスキーマを参照および使用する データベースではない OLTPを処理するために設計されていない OLAP向けなので、あくまで性能目標はOLAP水準なのではなかろうか   分散システムとしてコンピューティングリソースを...

Trino

Bitemporal Data Modelについて

データベース

概要 Bitemporal Data Modelについて調べたことをまとめる。 Bitemporal Data Modelとは Temporal Data Modelsという分野で扱われるデータモデルの1つで、時間軸を取り扱うデータモデルのうち、2つの時間軸を持つデータモデルのことを指す。 ノンテンポラル(Non-Temporal) 現在の状態のみを保持する 過去の履歴や将来の変更に関する情報は...

Bi-Temporal Uni-Temporal Non-Temporal 履歴 Temporal Data Model

PostgreSQL徹底入門 第4版 インストールから機能・仕組み、アプリ作り、管理・運用まで

データベース

PostgreSQL徹底入門 第4版 インストールから機能・仕組み、アプリ作り、管理・運用までを読んだ。 PostgreSQLを触ったことなかった自分にはちょうど良い入門書だった。 アプリケーションの実例の章が割と多めにページを割かれているが、PostgreSQLの基本的なことはカバーされている。 ...

DB PostgreSQL

MySQLのロックについて

データベース

概要 MySQLのロックについてまとめる。 MySQLのバージョンは8系を想定する。 検証環境 検証に使う環境はdocker-composeで用意した。(1コンテナだけなのでcomposeを使わなくも良いのだが..) . ├── docker-compose.yml └── initdb.d └── 1_schema.sql docker-compose.yml version: &#x...

MySQL トランザクション ロック

正規化理論について

データベース

正規化とは データの重複をなくし、データの論理的不整合を防ぐように設計すること。 前提 キー 主キー 行を一意に識別する識別子 複合キー 複数の属性を組み合わせて構成される主キー 外部キー 別のテーブルを参照するためのキー 候補キー 行を一意に識別できる性質を持つ属性の集合で、既約であり、極小(必要最小限の属性数)であるもの スーパーキー 行を一意に識別できる性質を持つ属性と余分...

正規化理論 正規化

Indexとはなにか

データベース

インデックスとは テーブルに格納されているレコードを高速に取り出すための仕組み 以下のようなO(n)問題を抱えたクエリがあるとする。 SELECT * FROM users WHERE first_name = ‘Tom’ このクエリのパフォーマンスを上げるためには、以下のようにIndexを貼る。 ALTER TABLE users ADD INDEX (first_name) メリット・デメリッ...

DB インデックス MySQL

SQLアンチパターン

データベース

SQLアンチパターンを読んだ。 定番of定番。分かりやすい解説でアンチパターンが紹介されている。 ...

DB sql