
TIKV adalah database nilai kunci open-source, terdistribusi, dan transaksional. Tidak seperti sistem NoSQL tradisional lainnya, TIKV tidak hanya menyediakan API nilai kunci klasik, tetapi juga API transaksional dengan kepatuhan asam. Dibangun dengan karat dan ditenagai oleh rakit, TIKV awalnya dibuat oleh pingcap untuk melengkapi TIDB, database HTAP terdistribusi yang kompatibel dengan protokol MySQL.
Desain TIKV ('TI' adalah singkatan dari Titanium) terinspirasi oleh beberapa sistem terdistribusi besar dari Google, seperti BigTable, Spanner, dan Percolator, dan beberapa pencapaian terbaru dalam akademis dalam beberapa tahun terakhir, seperti algoritma konsensus RAFT.
Jika Anda tertarik untuk berkontribusi pada TIKV, atau ingin membangunnya dari sumber, lihat Contributing.md.


TIKV adalah proyek lulus dari Cloud Native Computing Foundation (CNCF). Jika Anda adalah organisasi yang ingin membantu membentuk evolusi teknologi yang dikemas kontainer, dijadwalkan secara dinamis dan berorientasi pada layanan mikro, pertimbangkan untuk bergabung dengan CNCF. Untuk detail tentang siapa yang terlibat dan bagaimana TIKV berperan, baca pengumuman CNCF.
Dengan implementasi algoritma konsensus RAFT dalam keadaan karat dan konsensus yang disimpan di ROCKSDB, TIKV menjamin konsistensi data. Driver Placement (PD), yang diperkenalkan untuk mengimplementasikan sharding otomatis, memungkinkan migrasi data otomatis. Model transaksi mirip dengan Percolator Google dengan beberapa peningkatan kinerja. TIKV juga menyediakan isolasi snapshot (SI), isolasi snapshot dengan kunci (SQL: SELECT ... FOR UPDATE ), dan bacaan dan ditulis secara eksternal yang konsisten dalam transaksi terdistribusi.
TIKV memiliki fitur utama berikut:
Geo-replikasi
TIKV menggunakan rakit dan driver penempatan untuk mendukung replikasi geo.
Skalabilitas horizontal
Dengan PD dan grup rakit yang dirancang dengan hati -hati, TIKV unggul dalam skalabilitas horizontal dan dapat dengan mudah skala hingga 100+ TBS data.
Transaksi terdistribusi yang konsisten
Mirip dengan Spanner Google, TIKV mendukung transaksi terdistribusi yang konsisten secara eksternal.
Dukungan Coprocessor
Mirip dengan HBASE, TIKV mengimplementasikan kerangka kerja coprocessor untuk mendukung komputasi terdistribusi.
Bekerja sama dengan TIDB
Berkat optimasi internal, TIKV dan TIDB dapat bekerja sama untuk menjadi solusi database yang menarik dengan skalabilitas horizontal yang tinggi, transaksi yang konsisten secara eksternal, dukungan untuk RDBM, dan pola desain NoSQL.
Lihat Tata Kelola.
Untuk instruksi tentang penyebaran, konfigurasi, dan pemeliharaan TIKV, lihat dokumentasi TIKV di situs web kami. Untuk detail lebih lanjut tentang konsep dan desain di balik TIKV, lihat Deep Dive Tikv.
Catatan:
Kami telah memigrasikan dokumentasi kami dari halaman wiki Tikv ke situs web resmi. Halaman wiki asli dihentikan. Jika Anda memiliki saran atau masalah mengenai dokumentasi, tawarkan umpan balik Anda di sini.
Anda dapat melihat daftar pengadopsi TIKV.

Ketika sebuah simpul dimulai, metadata simpul, toko dan wilayah direkam ke dalam PD. Status masing -masing wilayah dan toko dilaporkan ke PD secara teratur.
Yang paling tercepat untuk mencoba TIKV dengan TIDB adalah menggunakan TIUP, manajer komponen untuk TIDB.
Anda dapat melihat halaman ini untuk tutorial langkah demi langkah.
TIKV dapat berjalan secara terpisah dengan PD, yang merupakan penyebaran minimal yang diperlukan.
$ 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'Anda dapat melihat manual penyebaran cluster seperti produksi ini disajikan oleh @C4PT0R.
Lihat Contributing.md.
Jika Anda ingin mencoba klien Go, lihat GO CLIENT.
Audit keamanan pihak ketiga dilakukan oleh Cure53. Lihat laporan lengkapnya di sini.
Untuk melaporkan kerentanan keamanan, silakan kirim email ke grup keamanan TIKV.
Lihat keamanan untuk proses dan kebijakan yang diikuti oleh proyek TIKV.
Komunikasi dalam komunitas TIKV mematuhi kode perilaku TIKV. Ini kutipan:
Demi menumbuhkan lingkungan yang terbuka dan ramah, kami sebagai kontributor dan pemelihara berjanji untuk membuat partisipasi dalam proyek kami dan komunitas kami sebagai pengalaman bebas pelecehan bagi semua orang, tanpa memandang usia, ukuran tubuh, kecacatan, etnis, karakteristik seks, identitas dan ekspresi gender, tingkat pengalaman, pendidikan sosial-ekonomi, kebangsaan, penampilan pribadi, ras, agama, ras, atau ras, atau seksual.
Bergabunglah dengan komunitas TIKV di Slack - Daftar dan bergabunglah dengan saluran pada topik TIKV yang menarik minat Anda.
Tikv berada di bawah lisensi Apache 2.0. Lihat file lisensi untuk detailnya.