Closed9

Couchbase Associate Java Developer Certification 勉強メモ

Ryo IshizawaRyo Ishizawa

バケットの種類

Couchbase buckets

  • ディスク・メモリの両方にデータを保存する。
  • メモリの割当量(quota)を超えた場合にはデータはメモリ上からは削除されるが、ディスク上には保時され続ける。
  • キャッシュ削除のポリシーについては以下の2つがあり、Backet作成時に決定される:
    • Value-only: key-valueデータのみ削除される。パフォーマンス重視の時に利用する。
    • Full: key、key-value、metadata全てが削除される。メモリ節約になる。

Ephemeral buckets

  • 永続的にデータを保持する必要が無い場合に利用する。基本的にメモリ上にのみデータを配置する
  • メモリの割当量を超えた場合には、設定によっていずれかの動作を行う:
    • 既存データを保持し、新しいデータを追加しない
    • 既存データを削除し、新しいデータを保存する

Memcached buckets

  • Ephemeral 同様、データを永続的に保持する必要が無い場合に利用する。現在はDeprecatedとなっている。

キャッシュ削除アルゴリズム

  • どのバケットを選択しても、キャッシュ削除時のアルゴリズムは Not Recently Used (NRU) が利用される。

参考

https://docs.couchbase.com/server/current/learn/buckets-memory-and-storage/buckets.html

Ryo IshizawaRyo Ishizawa

Metadataとは

  • データが保存されるたびに自動的に生成・保存される値。
  • meta
  • id: 保存されたドキュメントのキー。
  • rev: Revision。内部のみで利用される。
  • expiration: ドキュメントのTTL。
  • type: 保存される値の形式。(例:json
  • flags: Couchbase SDK用の値で、データのタイプやフォーマットを特定するのに利用される。
  • xattrs: Extended Attributesの略。(参照

参考

https://docs.couchbase.com/server/current/learn/data/data.html#metadata

Ryo IshizawaRyo Ishizawa

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...

参考

https://www.couchbase.com/products/editions

Ryo IshizawaRyo Ishizawa

cbimport json

  • JSONをCouchbaseにインポートするコマンド。
  • サポートされているフォーマット
    • Lines - 1行ずつJSONを書くフォーマット。
    • List - リスト([])の中にJSONを書くフォーマット。Linesと違って複数行で書くことができる。
    • Sample - Zipやフォルダ形式で複数のドキュメントを纏めるもの。Index、View、全文検索Index等の定義も含めることができる。
  • 詳しくは以下を参照。

https://docs.couchbase.com/server/current/tools/cbimport-json.html

Ryo IshizawaRyo Ishizawa

Transcoder とは

  • Couchbase SDKから送られてきたObjectをバイトに変換する。
  • バイトへの変換と同時に、”Common Flag”というものも生成する。これはJsonか、Jsonではない文字列か、バイナリであるかを識別するために利用する。
  • Couchbaseから受け取ったデータをシリアライズする役割も担っている。

参考

https://docs.couchbase.com/java-sdk/current/howtos/transcoders-nonjson.html

このスクラップは2023/02/02にクローズされました