⚡
极致写入性能
子表级无锁并发写入,双 MemTable + WAL 批量刷盘,gRPC Streaming 实现 175 万行/秒吞吐。
实测数据 · Intel i7 / 32GB RAM / SSD
1. 启动服务器
cargo run --release
# AstraFaber Server listening on 127.0.0.1:500512. 连接并写入数据
use astra_faber_client::{Client, SchemaBuilder, Table, int32_type, string_type};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// 连接服务器
let mut client = Client::connect("http://127.0.0.1:50051").await?;
// 定义 Schema
let schema = SchemaBuilder::new()
.add_field("id", int32_type(), None)
.add_field("name", string_type(), None)
.build();
// 创建表
client.create_table("users", schema.fields).await?;
// 插入数据
let table = Table::new("users")
.with_schema(schema)
.add_row(astra_faber_client::row![1i32, "Alice"])?
.add_row(astra_faber_client::row![2i32, "Bob"])?
.build()?;
client.insert_table(table).await?;
Ok(())
}