検索
ZooKeeper データモデルJun 26, 2017 am 11:12 AM
zookeeperデータモデル

ZooKeeper には、分散ファイル システムに似た階層名前空間があります。それらの唯一の違いは、名前空間内の各ノードがその子ノードとしてデータ関連付けを持つことができることです。これは、ファイルをファイルのディレクトリにすることができるファイル システムのようなものです。ノード パスは通常、正規のスラッシュで区切られた絶対パスとして表現されます。相対パスはありません。パスに含まれる Unicode 文字は、次の制約に従う必要があります。
1) Null 文字はパス名として使用できません。
2) 次の文字列は、表示が十分にわかりやすくなく、混乱を引き起こしやすいため、上位として使用できません。 u0001 - u001F および u007F - u009F)
3) 以下の文字列は使用できません。 (ud800 - uF8FF、uFFF0 - uFFFF)
4) 「.」文字は名前の一部として使用できますが、ZooKeeper はノードのパスを表すために単独で存在することはできません。相対パスを使用します。次の例は無効な "/a/b/./c" または "/a/b/../c" です
5) "zookeeper" キーワードは予約されています

ZooKeeper ツリー構造内の ZNodes

のノードは znode と呼ばれます。 Znode は、データ変更バージョン番号、ACL 変更、およびタイムスタンプを含むステータス データ構造を維持します。バージョン番号とタイムスタンプにより、ZooKeeper はキャッシュの置換と更新の調整を実行できるようになります。 znode のデータが変更されるたびに、バージョン番号が増加します。たとえば、クライアントはデータを受信するたびに、このデータのバージョンも受信します。同時に、クライアントが更新または削除操作を実行するときは、変更される znode ノードのデータ バージョンを提供する必要があります。 znode によって提供されるバージョン番号が現在のデータの実際のバージョン番号と一致しない場合、更新は失敗します。

注:

分散アプリケーションプロジェクトでは、単語ノードは単一のホスト、サーバー、全体のメンバー、クライアントプロセッサなどと考えることができます。 ZooKeeper のドキュメントでは、znode はデータ ノードとみなされます。サーバーは、ZooKeeper サービスを構成するホストとみなされます。クォーラム ピアは全体を形成するサーバーとみなされ、クライアントは ZooKeeper サービスを使用するホストまたはプロセスとみなされます。

Znode はプログラマがアクセスする主要なエンティティです。これらには、知っておく価値のある多くの機能があります:

ウォッチ (リスナー)

クライアントは znodes でリッスンできます。 znode を変更すると、このリスナーがトリガーされ、その後クリアされます。リスナーがトリガーされると、ZooKeeper はクライアントに通知を送信します。

データアクセス

ネームスペースのznodeに保存されたデータは、アトミックに読み書きされます。読み取り操作は znode に関連付けられたすべてのデータ バイトを読み取り、書き込み操作はすべてのデータを置き換えます。各ノードには、誰が何を実行できるかを制限するアクセス制御リスト (ACL) データ アクセス リストがあります。

ZooKeeper はデータベースやラージ オブジェクト ストレージとして使用するように設計されていません。代わりに、データの管理と調整に使用されます。データのソース形式には、構成情報、ステータス情報、地域情報などが考えられます。さまざまな形式の調整データに共通する特性は、データが KB バイトの範囲で比較的小さいことです。 ZooKeeper クライアントとサーバーの両方には、znode が 1M 未満のデータであることを確認する健全性チェックがありますが、データはこの平均よりもはるかに小さい可能性があります。比較的大きなデータを操作すると、ネットワークまたはストレージ メディアを介したデータの移行が必要になるため、操作に時間がかかり、他の操作の遅延に影響します。ビッグ データのストレージが必要な場合、このデータを処理する通常の方法は、NFS や HDFS などの大規模ストレージ システムにデータを保存し、ZooKeeper にデータ ストレージの場所へのポインタを保存することです。

エフェメラルノード (一時ノード)

ZooKeeper には一時ノードの概念があります。ノードを作成したセッションがアクティブである限り、これらのノードは引き続き存在し、セッションが終了すると、これらのノードも削除されます。この動作のため、一時ノードは子ノードを持つことができません。

シーケンス ノード -- 固有の名前付け (シーケンス ノード - 固有の名前付け)

ノードを作成するとき、パスの最後に単調増加するカウンターを追加するように ZooKeeper に依頼できます。このカウンタは、この親ノードに固有です。カウンタの形式は %010d (10 進数にゼロが埋め込まれます) で、単純な並べ替え用に形式化されています。たとえば、「0000000001」などです。この機能の使用例については、「キュー レシピ」を参照してください。注: 次のシーケンス番号を格納するために使用されるカウンターは、親ノードによって維持される signed int です。このカウンタは、2147483647 を超えるとオーバーフローします (結果は "-2147483647" になります)。

以上がZooKeeper データモデルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Java API 开发中使用 ZooKeeper 进行分布式锁处理Java API 开发中使用 ZooKeeper 进行分布式锁处理Jun 17, 2023 pm 10:36 PM

随着现代应用程序的不断发展和对高可用性和并发性的需求日益增长,分布式系统架构变得越来越普遍。在分布式系统中,多个进程或节点同时运行并共同完成任务,进程之间的同步变得尤为重要。由于分布式环境下许多节点可以同时访问共享资源,因此,在分布式系统中,如何处理并发和同步问题成为了一项重要的任务。在此方面,ZooKeeper已经成为了一个非常流行的解决方案。ZooKee

从VAE到扩散模型:一文解读以文生图新范式从VAE到扩散模型:一文解读以文生图新范式Apr 08, 2023 pm 08:41 PM

1 前言在发布DALL·E的15个月后,OpenAI在今年春天带了续作DALL·E 2,以其更加惊艳的效果和丰富的可玩性迅速占领了各大AI社区的头条。近年来,随着生成对抗网络(GAN)、变分自编码器(VAE)、扩散模型(Diffusion models)的出现,深度学习已向世人展现其强大的图像生成能力;加上GPT-3、BERT等NLP模型的成功,人类正逐步打破文本和图像的信息界限。在DALL·E 2中,只需输入简单的文本(prompt),它就可以生成多张1024*1024的高清图像。这些图像甚至

找不到中文语音预训练模型?中文版 Wav2vec 2.0和HuBERT来了找不到中文语音预训练模型?中文版 Wav2vec 2.0和HuBERT来了Apr 08, 2023 pm 06:21 PM

Wav2vec 2.0 [1],HuBERT [2] 和 WavLM [3] 等语音预训练模型,通过在多达上万小时的无标注语音数据(如 Libri-light )上的自监督学习,显著提升了自动语音识别(Automatic Speech Recognition, ASR),语音合成(Text-to-speech, TTS)和语音转换(Voice Conversation,VC)等语音下游任务的性能。然而这些模型都没有公开的中文版本,不便于应用在中文语音研究场景。 WenetSpeech [4] 是

普林斯顿陈丹琦:如何让「大模型」变小普林斯顿陈丹琦:如何让「大模型」变小Apr 08, 2023 pm 04:01 PM

“Making large models smaller”这是很多语言模型研究人员的学术追求,针对大模型昂贵的环境和训练成本,陈丹琦在智源大会青源学术年会上做了题为“Making large models smaller”的特邀报告。报告中重点提及了基于记忆增强的TRIME算法和基于粗细粒度联合剪枝和逐层蒸馏的CofiPruning算法。前者能够在不改变模型结构的基础上兼顾语言模型困惑度和检索速度方面的优势;而后者可以在保证下游任务准确度的同时实现更快的处理速度,具有更小的模型结构。陈丹琦 普

在Beego中使用ZooKeeper和Curator进行分布式协调和管理在Beego中使用ZooKeeper和Curator进行分布式协调和管理Jun 22, 2023 pm 09:27 PM

随着互联网的迅速发展,分布式系统已经成为了许多企业和组织中的基础设施之一。而要让一个分布式系统能够正常运行,就需要对其进行协调和管理。在这方面,ZooKeeper和Curator是两个非常值得使用的工具。ZooKeeper是一个非常流行的分布式协调服务,它可以帮助我们在一个集群中协调各个节点之间的状态和数据。Curator则是一个对ZooKeeper进行封装

Stable Diffusion XL 现已推出—有什么新功能,你知道吗?Stable Diffusion XL 现已推出—有什么新功能,你知道吗?Apr 07, 2023 pm 11:21 PM

3月27号,Stability AI的创始人兼首席执行官Emad Mostaque在一条推文中宣布,Stable Diffusion XL 现已可用于公开测试。以下是一些事项:“XL”不是这个新的AI模型的官方名称。一旦发布稳定性AI公司的官方公告,名称将会更改。与先前版本相比,图像质量有所提高与先前版本相比,图像生成速度大大加快。示例图像让我们看看新旧AI模型在结果上的差异。Prompt: Luxury sports car with aerodynamic curves, shot in a

​什么是Transformer机器学习模型?​什么是Transformer机器学习模型?Apr 08, 2023 pm 06:31 PM

译者 | 李睿审校 | 孙淑娟​近年来, Transformer 机器学习模型已经成为深度学习和深度神经网络技术进步的主要亮点之一。它主要用于自然语言处理中的高级应用。谷歌正在使用它来增强其搜索引擎结果。OpenAI 使用 Transformer 创建了著名的 GPT-2和 GPT-3模型。自从2017年首次亮相以来,Transformer 架构不断发展并扩展到多种不同的变体,从语言任务扩展到其他领域。它们已被用于时间序列预测。它们是 DeepMind 的蛋白质结构预测模型 AlphaFold

php如何使用PHP的Zookeeper扩展?php如何使用PHP的Zookeeper扩展?Jun 02, 2023 pm 09:01 PM

PHP是一种非常流行的编程语言,广泛应用于Web应用程序和服务器端开发。Zookeeper是一个分布式的协调服务,用于管理、协调和监控分布式应用程序和服务。在PHP应用程序中使用Zookeeper可以提高应用程序的性能和可靠性。本文将介绍如何使用PHP的Zookeeper扩展。一、安装Zookeeper扩展使用Zookeeper扩展需要安装Zookeeper

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境