What is Aerospike?
Aerospike is a real-time data platform purposefully designed for high performance web scale applications. Aerospike supports key-value and document data models, and has multiple data types including List, Map, HyperLogLog, GeoJSON, and Blob. Aerospike's patented hybrid memory architecture delivers predictable high performance at scale and high data density per node. The Smart Client eases the burden on application developers by handling complex dynamic cluster changes.
Aerospike combines superior reliability and data density per node to deliver a much lower total cost of ownership (TCO) than the competition. Our architecture is built for speed@scale and delivers predictable sub-millisecond latency at petabyte scale. Advanced cluster capabilities enable resilient, strongly consistent, secure, and flexible multi-cloud data management.
How you can use itAerospike is deployed in many mission critical applications, including:
- Real-time decisions at the edge: fraud prevention, recommendation engines, and personalization.
- Customer 360 profile store: subscriber and policy management.
- Ad serving and ad-exchange. Programmatic buying and real-time bidding.
- Caching and legacy database augmentation.
Explore interactive tutorials for Java, Python and Spark. With Jupyter notebooks and the Aerospike Binderhub, you can start coding right in your browser with no downloads required.
Dont forget to play around in the developer sandbox, a fully in-browser experience that gives access to a code editor and terminal to interact with an Aerospike database.
Aerospike offers a number of client Libraries. Take a look at the Client Feature Matrix for feature parity in each client.
If you are familiar with Java code, we strongly suggest that your first step is to review the First Programs Guide which includes the source code for two complete programs along with a description of the code; one program will populate a large number of records in an Aerospike DB and another that will randomly read a large number of records.
High Performing Clients Supported by Aerospike
These clients are highly recommended for main application development as they offer the highest performance and support the latest features of the Aerospike database.
- The Java client enables you to build applications in Java that store and retrieve data from an Aerospike cluster. It contains both synchronous and asynchronous calls to the database.
- The C# client enables you to build applications using C# language in order to store and retrieve data from an Aerospike cluster.
- The C client allows you to build applications in C to store and retrieve data from an Aerospike cluster. The C client is a smart client which periodically pings nodes for the current state of the cluster and manages interactions with the Aerospike cluster.
- The Go client enables you to build applications in Go that store and retrieve data from an Aerospike cluster.
- The Python client enables you to build an application in Python with an Aerospike cluster as its database. This client fully supports all features of the Aerospike database.
- The REST gateway enables you to communicate with an Aerospike cluster via RESTful requests.
Other Clients Supported by Aerospike
These clients may lag the latest features of the Aerospike database, and are not as high performing as the primary usage clients.
- The Node.js client allows you to build applications in Node.js that store and retrieve data from an Aerospike cluster.
- The Ruby client enables you to build applications in Ruby that store and retrieve data from an Aerospike cluster.
These clients are community-supported, with Aerospike's guidance.
The Rust client enables you to build applications in Rust that store and retrieve data from an Aerospike cluster.
The libevent client provides an asynchronous, non-blocking API to store and retrieve data from an Aerospike database cluster.note
The libevent client is written in C. It uses the libevent library explicitly, and is intended for use only by applications that already run using libevent. The application is responsible for managing the libevent event bases, and the client must be told which event base to use for each database transaction.
The Node.js client port to Windows is a community supported project and suitable for application prototyping and development.
The PHP client enables you to build applications in PHP that store and retrieve data from an Aerospike cluster.