Aerospike Developer II

Program Description

This highly-interactive, hands-on program is available to learners who have already earned the AERO-101 distinction.

Modules in the Developer II program can be taken à la carte but when completed according to the program prescribed order have proven to be more impactful. The final module is only accessible when all other modules have been completed and is therefore the key to receiving the program badge.

The Developer II program, like the Developer I program, provides scenarios for real-world contextualization of concepts. Modules are made up of one or more lesson. Each lesson provides code-along or conceptual video, a practice quiz and exit quiz. Many lessons also include interactive widgets that help learners grasp concepts that are hard to replicate in a lab environment.

course badge

Lesson Content

1

102 Container Set Up

How do I set up a lab environment for the next phase of my Aerospike hands-on learning?
Intended learning outcomes
  • Download Aerospike Image from GitHub and launch the container according to specs provided.
  • Use VSCode and Python scripts to restore records and indexes to the database.
  • Describe the role of POLICY_KEY_SEND, item_ids and the PK column.
2

Loading Records from Files

How can I quickly load data into Aerospike?
Intended learning outcomes
  • Build a Python script that can load csv data files.
  • Test the script, back out the records, tweak the script and load again.
  • Confirm Python data structures such as lists and dictionaries have loaded correctly.
3

Hexadecimal, Unicode, and the Aerospike Digest

What is the Aerospike digest, why is it important, and how is it generated?
Intended learning outcomes
  • Describe the role of hexadecimal numbers and UTF-8 encoding in the creation of the Aerospike Digest.
  • Given numbers or UTF codes, be able to use online tools to convert values.
  • Given sample set names and unique id values, use a Digest Widget to create a record digest.
4

The Digest and the Partition ID

How does the digest help distribute record data across partitions and nodes?
Intended learning outcomes
  • View the digest and partition id of records using an AQL EXPLAIN SELECT query.
  • Observe how a portion of the digest expressed in hexadecimal, when converted to decimal, matches the partition id.
  • Discern the machine properties required in order to qualify as an Aerospike Node.
  • Given an example number of nodes in an Aerospike cluster (without replication), describe how partitions are distributed across nodes.
5

Back Up & Restore

How can I back up my data and load it into new deployments?
Intended learning outcomes
  • Given an Aerospike database, back up the data into an ASB file and use a Docker Copy Command to move the file to a local directory.
  • Given a Docker Compose file, use the file to launch a container.
  • Use a Docker Copy command to move a local file into a container and use the absctl tool to restore an ASB file.
6

CRUD Flow Basics on Aerospike

What are the Primary Index and Storage Engine in Aerospike and how do they function in record operations?
Intended learning outcomes
  • Describe how RIPEMD-160 leads to random assignment and normal distribution in Aerospike.
  • Describe the separation of metadata and data between the primary index and the storage engine in Aerospike.
  • Describe the role and function of the Streaming Write Buffer in Aerospike.
  • Recognize the basic functional steps in record creation, reads, updates, and deletes in Aerospike.
7

Multi-Node and Replication

How do I set up a cluster for Aerospike using multiple nodes and how do I turn on replication?
Intended learning outcomes
  • Recognize some keywords and structural features of Dockerfiles, Docker-Compose.yaml files and Aerospike configuration files.
  • Describe how changes to Docker Compose and Aerospike Configuration files result in changes to Aerospike cluster nodes and replication.
  • Use summary and pmap commands to view data distribution in multi-node clusters with replication enabled.
8

Nodes, Succession, and Migration

How does Aerospike handle things if a node in my cluster fails?
Intended learning outcomes
  • Define the role of the Principle Node in a cluster.
  • Describe how Principal nodes are designated and how the designation is passed when a principal node leaves the cluster.
  • Define succession lists in Aerospike and describe how succession lists change when nodes are removed.
9

Defragmention

How does Aerospike clean up old records and make sure I am using storage space efficiently?
Intended learning outcomes
  • Describe how Aerospike’s update and deletion methods lead to fragmented use of storage.
  • Describe the reason for having two active Streaming Write Buffers and how they interact with each other.
  • Discern how changing the values set for defrag properties of defrag-lwm-pct and defrag-sleep affect the system’s efficiency with regard to storage availability and write amplification.