
TIKVは、オープンソース、分散、およびトランザクションキー価値データベースです。他の従来のNOSQLシステムとは異なり、TIKVは古典的なキー価値APIだけでなく、酸コンプライアンスを備えたトランザクションAPIも提供します。錆びに組み込まれ、ラフトを搭載したTikvは、もともとPingCapによって作成され、MySQLプロトコルと互換性のある分散HTAPデータベースであるTIDBを補完しました。
TIKVの設計(「TI」はチタンの略)は、Bigtable、Spanner、Percolatorなど、Googleからの素晴らしい分散システムに触発され、Raft Consensusアルゴリズムなど、近年の学界での最新の成果のいくつかに触発されています。
TIKVに貢献することに興味がある場合、またはソースから構築したい場合は、貢献を参照してください。mdを参照してください。


TIKVは、Cloud Native Computing Foundation(CNCF)の卒業プロジェクトです。コンテナパッケージ化、動的にスケジュールされ、マイクロサービス指向のテクノロジーの進化を形作りたい組織である場合は、CNCFに参加することを検討してください。誰が関与しているか、TIKVがどのように役割を果たしているかについての詳細については、CNCFの発表をお読みください。
ROCKSDBに保存されているRUSTおよびコンセンサス状態でのRAFTコンセンサスアルゴリズムの実装により、TIKVはデータの一貫性を保証します。オートシェルディングを実装するために導入されたプレースメントドライバー(PD)は、自動データ移行を可能にします。トランザクションモデルはGoogleのパーコレーターに似ており、パフォーマンスが改善されています。 TIKVは、Snapshot Isolation(SI)、Lock(SQL: SELECT ... FOR UPDATE )を使用したスナップショット分離、および分散トランザクションでの外部的に一貫した読み取りと書き込みも提供します。
TIKVには次の重要な機能があります。
ジオ複製
Tikvは、RAFTと配置ドライバーを使用して、地球複製をサポートします。
水平スケーラビリティ
PDおよび慎重に設計されたRAFTグループを使用して、TIKVは水平方向のスケーラビリティに優れており、100 TB以上のデータに簡単にスケーリングできます。
一貫した分散トランザクション
GoogleのSpannerと同様に、TIKVは外部的に一貫性のある分散トランザクションをサポートしています。
コプロセッサのサポート
HBaseと同様に、TIKVは分散コンピューティングをサポートするためにコプロセッサフレームワークを実装します。
Tidbと協力します
内部の最適化のおかげで、TIKVとTIDBは協力して、水平方向のスケーラビリティ、外部一貫性のあるトランザクション、RDBMSのサポート、およびNOSQL設計パターンを備えた説得力のあるデータベースソリューションになることができます。
ガバナンスを参照してください。
TIKVの展開、構成、およびメンテナンスに関する指示については、当社のWebサイトのTIKVドキュメントを参照してください。 TIKVの背後にある概念とデザインの詳細については、Deep Dive Tikvを参照してください。
注記:
TikvのWikiページから公式Webサイトにドキュメントを移行しました。元のwikiページは中止されています。ドキュメントに関する提案や問題がある場合は、ここでフィードバックを提供してください。
TIKVアダプターのリストを表示できます。

ノードが起動すると、ノード、ストア、領域のメタデータがPDに記録されます。各地域とストアのステータスは、定期的にPDに報告されます。
TIDBでTIKVを試す最も速いのは、TIDBのコンポーネントマネージャーであるTIUPを使用することです。
このページでは、ステップバイステップのチュートリアルを見ることができます。
TIKVは、PDで個別に実行できます。これは、必要な最小限の展開です。
$ export TIKV_VERSION=v7.5.0
$ export GOOS=darwin # only {darwin, linux} are supported
$ export GOARCH=amd64 # only {amd64, arm64} are supported
$ curl -O https://tiup-mirrors.pingcap.com/tikv- $TIKV_VERSION - $GOOS - $GOARCH .tar.gz
$ curl -O https://tiup-mirrors.pingcap.com/pd- $TIKV_VERSION - $GOOS - $GOARCH .tar.gz
$ tar -xzf tikv- $TIKV_VERSION - $GOOS - $GOARCH .tar.gz
$ tar -xzf pd- $TIKV_VERSION - $GOOS - $GOARCH .tar.gz$ ./pd-server --name=pd --data-dir=/tmp/pd/data --client-urls= " http://127.0.0.1:2379 " --peer-urls= " http://127.0.0.1:2380 " --initial-cluster= " pd=http://127.0.0.1:2380 " --log-file=/tmp/pd/log/pd.log$ ./tikv-server --pd-endpoints= " 127.0.0.1:2379 " --addr= " 127.0.0.1:20160 " --data-dir=/tmp/tikv/data --log-file=/tmp/tikv/log/tikv.log$ pip3 install -i https://test.pypi.org/simple/ tikv-client from tikv_client import RawClient
client = RawClient . connect ( "127.0.0.1:2379" )
client . put ( b'foo' , b'bar' )
print ( client . get ( b'foo' )) # b'bar'
client . put ( b'foo' , b'baz' )
print ( client . get ( b'foo' )) # b'baz'@c4pt0rが提示したこの生産のようなクラスター展開のマニュアルを見ることができます。
Convributing.mdを参照してください。
GOクライアントを試してみたい場合は、GOクライアントを参照してください。
Cure53によってサードパーティのセキュリティ監査が行われました。こちらのレポート全体をご覧ください。
セキュリティの脆弱性を報告するには、TIKV-Securityグループにメールを送信してください。
TIKVプロジェクトのプロセスとポリシーのセキュリティを参照してください。
TIKVコミュニティ内のコミュニケーションは、TIKV行動規範を順守します。これが抜粋です:
オープンで居心地の良い環境を促進するために、私たちは貢献者とメンテナーとして、年齢、身体の大きさ、障害、性別、性同一性、表現、経験、教育、社会経済的地位、国民性、個人的な外観、宗教、および性的アイデンティティと性的アイデンティティに関係なく、私たちのプロジェクトとコミュニティへの参加をすべての人にとって嫌がらせのない経験にすることを誓約します。
SlackでTIKVコミュニティに参加 - サインアップして、興味のあるTIKVトピックにチャンネルに参加してください。
TikvはApache 2.0ライセンスの下にあります。詳細については、ライセンスファイルを参照してください。