Memperkenalkan Hanzo Datastore: mesin OLAP kolom yang siap untuk era pascakuantum
Gudang kolom turunan ClickHouse, dibangun ulang di sekitar pemisahan penyimpanan dan komputasi pada Hanzo S3, dioptimalkan dengan panduan profil dan saat penautan hingga kira-kira separuh memori, dengan gRPC dicabut dan jalur menuju koordinasi pascakuantum tanpa pemimpin.

Di halaman ini
Hari ini kami merilis Hanzo Datastore — paruh OLAP dari platform data Hanzo. Ini adalah fork ClickHouse 26.6, mereknya dilepas dan dibangun ulang sesuai cara kami benar-benar menjalankan analitik: penyimpanan dipisah dari komputasi di Hanzo S3, biner teroptimasi yang lebih ramping, dan permukaan RPC lama dihilangkan. Image-nya sudah tayang di ghcr.io/hanzoai/datastore:26.6.1.1.
Kami tidak menulis basis data baru. ClickHouse adalah mesin kolom terbaik di dunia dan kami berdiri di atasnya. Yang kami ubah adalah bagian yang penting untuk menjalankan sebuah armada: substrat penyimpanan, build, transport, dan peta jalan koordinasi.
Penyimpanan dan komputasi, dipisah
Bagian-bagian tabel MergeTree adalah objek yang tidak berubah. Datastore menyimpannya sebagai objek di Hanzo S3 — lapisan penyimpanan turunan SeaweedFS kami — bukan di disk lokal yang dilas ke satu server. Replika komputasi tanpa keadaan kemudian berbagi satu salinan fisik data lewat replikasi tanpa salin.
Ini sudah terbukti, bukan sekadar cita-cita. Dalam uji skala kami, tabel 5 juta baris yang kebijakan penyimpanannya mengarah ke S3 melaporkan disk seaweed di system.parts, dan dua node komputasi berkembang di atas salinan tunggal itu. Menambah pembaca tidak menyalin data; ia menempel padanya. Itulah sifat yang Anda inginkan saat beban analitik melonjak dan kapasitas kueri perlu ditambah dalam hitungan detik tanpa mengacak ulang terabita.
-- parts live on S3, not on a node's local disk
SELECT name, disk_name FROM system.parts WHERE table = 'events' LIMIT 1;
-- ┌─name──────┬─disk_name─┐
-- │ all_1_1_0 │ seaweed │
-- └───────────┴───────────┘
Separuh memori, biner yang lebih kecil
Build rilis menjalankan optimasi berpandu profil, optimasi tipis saat penautan, dan lintasan BOLT setelah penautan. Hasilnya kira-kira separuh memori residen dari build asal dan biner yang jauh lebih kecil. Agar BOLT berjalan di aarch64, instrumentasi XRay harus dimatikan, karena sebelumnya menyala secara bawaan dan diam-diam menghalangi penulisan ulang setelah penautan — perbaikan itu ada di pohon sumber. Efek praktisnya: rencana kueri yang sama, lebih sedikit gigabita, dan biner yang mulai lebih cepat.
gRPC sudah tidak ada
Sebuah datastore sebaiknya punya tepat satu jalur kueri, bukan tiga. Kami menghapus server gRPC seluruhnya — tanpa contrib/grpc, tanpa definisi layanan protobuf, tanpa jalur build ENABLE_GRPC — dan dalam lintasan yang sama membersihkan blok <grpc> yang mati dari konfigurasi bawaan agar produk yang dikirim sesuai dengan build. Datastore berbicara TCP native (9000), HTTP (8123), dan replikasi antarserver (9009). Itu seluruh permukaannya.
Transport ke depan yang dituju adalah ZAP, RPC turunan Cap'n Proto kami. Stub server sudah masuk; ia belum menjadi jalur kueri yang hidup. Kami lebih suka menyebut dengan tepat di mana garis itu berada daripada memberi kesan bahwa ia sudah selesai.
Arah koordinasi
Tabel Replicated* hari ini berkoordinasi lewat Raft tertanam, Keeper yang kompatibel dengan ZooKeeper dan ikut terkirim di dalam proses server — tanpa daemon terpisah. Itu bekerja, dan itulah yang Anda jalankan di produksi sekarang.
Arahnya adalah mengganti backend Raft itu dengan Quasar, konsensus tanpa pemimpin dan pascakuantum dari Lux, ditautkan secara native ke server C++. Sambungannya nyata: sebuah program C++ sudah menggerakkan mesin konsensus native melalui C ABI — membuka sebuah rantai, menambahkan entri log replikasi, mendorong suara keyakinan, mengamati finalitas — tanpa Raft dan tanpa mesin zero-knowledge. Itulah bukti bahwa pertukaran ini masalah penautan, bukan penulisan ulang. Ini belum menjadi lapisan koordinasi produksi, dan kami tidak akan berpura-pura sebaliknya.
Paruh yang lain
Datastore adalah OLAP. Paruh OLTP dari platform ini adalah mesin SQL terdesentralisasi yang dibangun di atas SQLite/Base — sudah dirancang, sedang dibangun, belum dikirim. Jika Anda menginginkan cerita data yang lokal dahulu dan satu berkas hari ini, garis keturunan itu sudah muncul di Hanzo Brain, dan substrat penyimpanan yang ditunggangi kedua paruh adalah yang kami luncurkan di Hanzo Storage.
Jalankan
docker run -d --name datastore \
-p 8123:8123 -p 9000:9000 \
ghcr.io/hanzoai/datastore:26.6.1.1
- Sumber: github.com/hanzoai/datastore
- Produk: hanzo.ai/datastore
- Dokumentasi: docs.hanzo.ai
Image arm64 sudah terbit sekarang; build amd64 menyusul lewat CI. Inilah backend analitik dan wawasan yang kami jalankan sendiri — arahkan peristiwa Anda ke sana dan kueri kembali dengan kecepatan kolom.
Baca selengkapnya

Mematikan Raft: dari konsensus ZooKeeper ke Lux Quasar, tertaut secara native
Bagaimana Hanzo Datastore mengganti mesin NuRaft di bawah ClickHouse Keeper dengan Lux Quasar — konsensus pasca-kuantum tanpa pemimpin yang ditautkan langsung ke server C++ — sambil mempertahankan ZooKeeper API yang dipakai replikasi.

Hanzo Insights: Product Analytics That Respects Privacy
Introducing Hanzo Insights — product analytics with event tracking, funnels, cohorts, and session replay, without selling user data.

Hanzo Storage: S3-Compatible Object Storage
Launching Hanzo Storage — S3-compatible object storage with integrated CDN and no egress fees.