Data Store
-
レポーティングデータベース
#Martin Fowler #Data Store #Data Processing アプリケーションのドメインモデルに対応するテーブルとは別にレポート目的の中間テーブルを用意することで、レポートの関心を分離してテーブルに変更を加えることができる。 ReportingDatabase
-
MySQL
-
カーディナリティ
#Data Store あるカラムの値の集合の中に重複する値がどのくらいあるかの度合い。低いと重複が多く高いと重複が少ない。
-
Bツリー
#Data Store Bツリーはデータベースを固定サイズのブロックあるいはページに分割する。固定サイズの空き容量がない状態で新しいキーが追加される場合、半分の領域が空いた2つのブロックに分割される。 このアルゴリズムはツリーバランスが保たれ、ツリーの深さも3ないし4レベルに収まることがほとんど。 また信頼性を高めるためにwrite-aheadログ(WAL)と呼ばれる書き込み内容の構造化データを追記して保持している。 Wikipedia
-
etcd
-
ngram
#Data Store MySQLに搭載されている全文検索向けの全文パーサー、日本語対応している。 FULLTEXT と合わせて指定しインデックスを生成する MySQL :: MySQL 8.0 リファレンスマニュアル :: 12.10.8 ngram 全文パーサー
-
トランザクション分離レベル
#Data Store ACIDのうち、I(Isolation)について言及するような分離性のレベル。 RDBMS間で共通して4つの分離レベルがあるが、分離レベルの命名が異なるケースがあり曖昧になっている。 Read Uncommitted コミットされていない未確定のデータを読み取るダーティリードが発生する Read Committed ダーティリード、ダーティライトが生じない Snapshot Isolation OracleではSERIALIZABLE、PostgreSQLやMySQLではRepeatable Readと呼ばれるため曖昧 読み取りスキュー(nonrepeatable read)が生じない、読み取りはロックを取らず常にトランザクション開始時のスナップショットを参照する スナップショットとして複数のバージョンを保持するためMVCC(multi-version concurrency controll)の手法が用いられる Serializable 書き込みスキュー(ファントム)が生じない、複数のレコードを跨いだ一貫性を保証する ユニーク制約によって書き込みスキューを防止できない際に必要となる 全てのトランザクションが直列で実行されるように振る舞うことで直列化可能と呼ばれる
-
Atlas
-
ACID
#Data Store トランザクションが保証する安全性について以下の4つの頭文字を取ったもの 原子性(Atomicity) 一貫性(Consistency) 分離性(Isolation) 永続性(Durability)
-
Datadog Database Monitoring
#Observability #Data Store Datadog上でデータベースの詳細な可視性を提供する Explain Plansでは実行計画を容易に把握することができる 導入にはAPMの有効化が必須でありでクエリを呼んでいるサービスの内訳を可視化できる データベース モニタリング
-
Database change management
#Data Store DevOps capabilitiesの1つ、Fast Flowに分類される DORA | Capabilities: Database change management
-
OLTP
Online Transactional Processing #Data Store ACIDを遵守し、高い可用性・信頼性を満たすべきシステムに対して用いられる言葉
-
レプリケーション
#Data Store 書き込みまたは読み取りをリーダー、読み取りをフォロワーで行われ、リーダーへの書き込みがフォロワーに伝播される仕組みをレプリケーションと呼ぶ。 レプリケーションの方法として ステートメントベース write-aheadログ 等がある。 ステートメントベースはSQLをそのまま転送する形になるため副作用を持つ関数が返す結果にズレが生じる方法で、MySQL5.1以前に採用されていた。 write-aheadログはPostgreSQL,Oracleで使用されているが、ログが低レベルに記述されているため詳細実装と密になってしまう。 レプリケーションのトポロジーとしていくつかのパターンがある
-
モノリスからマイクロサービスへ
-
マルチリーダーレプリケーション
#Data Store レプリケーションの種別の一つ 複数のデータセンターにリーダーが存在する。リアルタイムの同時編集がイメージに近い。書き込みの衝突があった際に最終的に同じ値に収束させるような方法が取られる
-
リレーショナルデータベース
#Data Store
-
データ指向アプリケーションデザイン
-
リーダーレスレプリケーション
#Data Store AmazonがDynamoシステムで利用し流行しDynamoスタイルと呼ばれる。 一部のノードが何らかの理由で利用できなくてもクオラムによって読み取りあるいは書き込みの正当性を判断する
-
SQLパフォーマンス詳解
-
TiDB
-
Testcontainers
-
OPTIMIZE TABLE
#Data Store MySQLにおいてテーブルインデックスを再編成し最適化する命令 MySQL :: MySQL 8.0 リファレンスマニュアル :: 13.7.3.4 OPTIMIZE TABLE ステートメント