Closed9
Couchbase Associate Java Developer Certification 勉強メモ
ピン留めされたアイテム
Couchbase Associate Java Developer Certification Examを受けることになったので、Couchbaseについて勉強したことをメモしていく。
バケットの種類
Couchbase buckets
- ディスク・メモリの両方にデータを保存する。
- メモリの割当量(quota)を超えた場合にはデータはメモリ上からは削除されるが、ディスク上には保時され続ける。
- キャッシュ削除のポリシーについては以下の2つがあり、Backet作成時に決定される:
-
Value-only
: key-valueデータのみ削除される。パフォーマンス重視の時に利用する。 -
Full
: key、key-value、metadata全てが削除される。メモリ節約になる。
-
Ephemeral buckets
- 永続的にデータを保持する必要が無い場合に利用する。基本的にメモリ上にのみデータを配置する
- メモリの割当量を超えた場合には、設定によっていずれかの動作を行う:
- 既存データを保持し、新しいデータを追加しない
- 既存データを削除し、新しいデータを保存する
Memcached buckets
- Ephemeral 同様、データを永続的に保持する必要が無い場合に利用する。現在はDeprecatedとなっている。
キャッシュ削除アルゴリズム
- どのバケットを選択しても、キャッシュ削除時のアルゴリズムは
Not Recently Used (NRU)
が利用される。
参考
CASとは
-
Compare-and-Swap
の略で、RDBMSのOptimistic Locking(楽観的排他制御)に当たる機能。 -
replace()
とremove()
を実行する際にパラメーターとして利用する。
参考
Metadataとは
- データが保存されるたびに自動的に生成・保存される値。
meta
-
id
: 保存されたドキュメントのキー。 -
rev
: Revision。内部のみで利用される。 -
expiration
: ドキュメントのTTL。 -
type
: 保存される値の形式。(例:json
) -
flags
: Couchbase SDK用の値で、データのタイプやフォーマットを特定するのに利用される。 -
xattrs
:Extended Attributes
の略。(参照)
参考
Community Editionでサポートされていない機能
- Query monitoring
- Window Functions
- Unlimited query concurrency
- Flex Index using FTS indexing
- Index partitioning
- Index replicas and swap rebalance
- Memory-optimized indexes
- Couchbase Eventing Service
- Autonomous Operator for Kubernetes
- Full, incremental, and cumulative backups
- Backup to AWS S3
- Automatic failover
- XDCR filtering and throttling
- Role-based access control (RBAC)
- Encrypted network access
- Auditing
etc...
参考
cbimport json
- JSONをCouchbaseにインポートするコマンド。
-
サポートされているフォーマット:
- Lines - 1行ずつJSONを書くフォーマット。
- List - リスト(
[]
)の中にJSONを書くフォーマット。Linesと違って複数行で書くことができる。 - Sample - Zipやフォルダ形式で複数のドキュメントを纏めるもの。Index、View、全文検索Index等の定義も含めることができる。
- 詳しくは以下を参照。
Couchbase SDKでのCouchbaseサーバーへの接続方法
Transcoder とは
- Couchbase SDKから送られてきたObjectをバイトに変換する。
- バイトへの変換と同時に、”Common Flag”というものも生成する。これはJsonか、Jsonではない文字列か、バイナリであるかを識別するために利用する。
- Couchbaseから受け取ったデータをシリアライズする役割も担っている。
参考
Durability level
- Durabilityとは直訳すると「耐久性」のこと。
- 以下の3つの設定がある:
Majority
MajorityAndPersistToActive
-
PersistToMajority
(詳細は後で書く)
このスクラップは2023/02/02にクローズされました