[フレーム]
BT

InfoQ Software Architects' Newsletter

A monthly overview of things you need to know as an architect or aspiring architect.

View an example

We protect your privacy.

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Unlock the full InfoQ experience

Unlock the full InfoQ experience by logging in! Stay updated with your favorite authors and topics, engage with content, and download exclusive resources.

Log In
or

Don't have an InfoQ account?

Register
  • Stay updated on topics and peers that matter to youReceive instant alerts on the latest insights and trends.
  • Quickly access free resources for continuous learningMinibooks, videos with transcripts, and training materials.
  • Save articles and read at anytimeBookmark articles to read whenever youre ready.

Topics

Choose your language

InfoQ Homepage News New Rust Client Enables Building Safe, High-Performance Apps with Aerospike

New Rust Client Enables Building Safe, High-Performance Apps with Aerospike

Aug 09, 2025 1 min read

Write for InfoQ

Feed your curiosity. Help 550k+ global
senior developers
each month stay ahead.
Get in touch
Listen to this article - 0:00
Audio ready to play
0:00
0:00

Aerospike has officially released its Rust client to support high-throughput, low-latency applications interacting with its real-time NoSQL database.

The decision to officially adopt the previously community-supported Rust client, explains Aerospike’s Brian Porter, was driven by the growing use of Rust to build high-throughput, low-latency applications across industries such as finance, telecommunications, cloud infrastructure, and embedded systems.

Organizations such as Amazon, Cloudflare, and Discord have adopted Rust to build reliable infrastructure and eliminate classes of memory-related bugs that commonly affect C/C++-based software.

The Rust client adopts an async-first concurrency model, allowing developers to choose either the Tokio crate or async-std as the underlying implementation. For legacy or mixed environments, it also includes a sub-crate that exposes a blocking I/O API.

In addition to atomic operations, the client supports batch commands to operate on multiple records in a single call. Version 2 of the client adds full support for read, write, delete, and UDF operations. It also enables to query records using both primary and secondary indexes, with support for pagination and limiting the number of returned records.

Other important features of the Rust client include support for replica policies and throttling as well as high-level representations for data model types like Exists, OrderedMap, and UnorderedMap.

The following snippet succinctly demonstrates how to run a query on a primary index to retrieve records that meet a given condition:

let client = ...
let mut policy = ScanPolicy::default();
policy.include_bin_data = false;
match client.scan(&policy, "test", "demo", None) {
 Ok(records) => {
 // process the records
 },
 Err(err) => println!("Error fetching record: {}", err),
}

Likewise, this is how you create a record by associating it to a key:

let key = as_key!("test", "myset", "mykey");
let bin = as_bin!("mybin", "myvalue");
match client.put(&policy, &key, &vec![&bin]) {
 Ok(()) => println!("Record written"),
 Err(err) => println!("Error writing record: {}", err),
}

There are several powerful features on Aerospike’s roadmap for its Rust client, including support for partition queries, distributed ACID transactions, strong consistency, and full TLS support.

Aerospike offers several other client libraries to help developers build applications with its database in an idiomatic way, including Node.js, Java, Python, C, and more.

About the Author

Sergio De Simone

Show moreShow less

Rate this Article

Adoption
Style

Related Content

The InfoQ Newsletter

A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example

We protect your privacy.

BT

AltStyle によって変換されたページ (->オリジナル) /