Image for post
Image for post

Best album you’ve never heard?

Furniture’s ‘The Wrong People’ is so good, it’s hard to know where to start. Its 11 songs are distinctive, brilliantly sung, played and arranged, smart, hooky, quotable and ambitious, veering from undiscovered jazz ballad classic ‘I Miss You’ to instantly memorable pop — ‘Brilliant Mind’ via the ambitious medley/collage of ‘She Gets out the Scrapbook’ to the form breaking ‘Pierre’s Fight’.

It’s also hard to categorise. Furniture were never part of any trend or scene. They just did their own thing. They weren’t trying to copy anyone and had no aspirations towards a particular sound. …


Image for post
Image for post

Aerospike’s Strong Consistency (SC) and rack awareness features allow construction of multi-site database clusters in which each site has a full copy of the data and all sites are perfectly synchronised.

This allows database operation to continue in the event of network partition between sites or site loss without loss of data.

The gold standard configuration is to use three data centres, as represented in the diagram below. In this diagram, each data centre corresponds to a physical rack and a replication factor of three has been chosen. As we have three racks, rack awareness will distribute the records so that there is exactly one copy of each record on each rack. Clients can be configured to read either from the master records, which are distributed uniformly across the three racks or from the local version, be it master or replica, using relaxed reads. …


Image for post
Image for post

Introduction

Aerospike is a key value database maximising SSD/Flash technology in order to offer best in class throughput and latency at petabyte scale.

Standard Aerospike usage will have the primary key index in DRAM and the data on SSD. Although Aerospike’s usage of DRAM is very low at 64 bytes per object, for very large numbers of objects (100bn+) users might wish to consider the all-flash mode in which the primary key index is also placed on disk. More detail at all flash usage.

There are a number of non-trivial steps to go through to set up all flash. For that reason I’ve extended aerospike-ansible to allow automation of this process. This article walks through the automated process. It’s envisaged that this will be useful for those evaluating the feature, or looking to get up and running with it quickly. …


Image for post
Image for post

Aerospike is a highly scalable key value database offering best in class performance. It is typically deployed into real-time environments managing terabyte to petabyte data volumes.

Aerospike will typically be run alongside other scalable distributed software such as Kafka, for system coupling or Spark for analytics. The Aerospike Connect product line makes integration as easy as possible.

This article looks at how Aerospike Spark Connect works in practice by offering a comprehensive and easily reproduced end to end example using aerospike-ansible.

Database Cluster Setup

First take a look at Ansible for Aerospike which explains how to use aerospike-ansible.

In this example I set cluster_instance_type to c5d.18xlarge in vars/cluster-config.yml. …


Image for post
Image for post

I don’t have quantitative evidence for this, but based on conversations with others at various points, from my school days onwards, the most underdeveloped of all musical skills in those who have taken formal lessons is sight reading.

The reasons this might be so are largely because of the way in which formal music is taught. Typically you will practice three pieces for around six to nine months, offering them for review in an examination. The examiner will mark [1] based on time, tone, shape and performance. This translates into accurately rendered playing with due observation of dynamics and an overall ‘bringing to life’ of the piece — in short as close to perfection as you can manage. …


Image for post
Image for post

A lost classic album re-discovered

Furniture are best known for their single ‘Brilliant Mind’ which spent six weeks in the UK Top 40 during the summer of 1986, peaking at number 21. At the time, the band were poised to build on years of work — they had been playing together in various forms since 1979 with a fascinating collection of independent releases to their credit. Unfortunately, to say the least, national exposure and recognition coincided with their record company, Stiff, going into bankruptcy. ‘Brilliant Mind’ should have been even more successful, but problems with distribution meant sufficient copies simply didn’t reach the shops.

As Stiff slipped into administration, Furniture managed to record a ravishingly wonderful album ‘The Wrong People’ whose initial pressing of 30,000 copies sold out even though the album failed to chart. Despite widespread airplay, an upbeat, sparkly single — ‘Love Your Shoes’ also failed to chart due to further difficulties with record distribution. ‘The Wrong People’ was deleted, meaning it became unavailable in the shops. Stiff’s assets were bought by ZTT, the label behind 1980s phenomenon Frankie Goes to Hollywood and Furniture became trapped in a legal limbo. ZTT declined to develop new material Furniture presented to them, but also refused to release them from their contract. It took three years before the situation was resolved, allowing Furniture to sign to Arista records in 1989. During the summer of that year, they recorded what was to be their final album together — ‘Food, Sex and Paranoia’. A darker and more sombre album than its predecessor, neither it, nor the accompanying singles ‘Slow Motion Kisses’ and ‘One Step Behind You’ made a mark on the charts. Shortly after release in February 1990, it too became unavailable and has remained so to this day, with the band quietly going their separate ways later that year. …


Image for post
Image for post
https://unsplash.com/@alexeh99

What you need to know before you can create AWS Kubernetes clusters using the command line

eksctl is the AWS command line utility allowing you to administer (e.g. setup/teardown) your AWS Kubernetes cluster. This article details how you configure the credentials you need to use the service. This article is useful as this is not detailed on the eksctl website and is non-trivial.

IAM Overview

Credentials in AWS are managed using IAM — AWS Identity and Access Management. Broadly speaking, you create policies which are granular aggregations of permissions on AWS objects. You associate these with groups to which you add users. If a user has been created for programmatic access use, the user will have an access key id and a secret access key which can be stored on disk for use in conjunction with the AWS command line interface. …


Image for post
Image for post
https://unsplash.com/@kent_pilcher

Some little things you might like to know

Much like Java, Kubernetes offers the promise of ‘write once, run anywhere’. The wry riposte (a little unfairly) in the early days of Java, was ‘write once, debug everywhere’. To a certain extent this is the position we are in today with the various flavours of Kubernetes out there — getting up and running is different on Google Cloud Platform vs AWS vs Azure vs local (e.g. Minikube), and a handful of well placed pointers can be a great time saver.

This article is about getting Aerospike up and running on Amazon’s Kubernetes Service — EKS. As it happens, it has little EKS specific to say about Aerospike, it is instead about the things you need to do to get EKS up and running so you can start to run Aerospike on top of it. …


Image for post
Image for post
https://github.com/aerospike-examples/atomicMultiRecordTxn

Aerospike is a high performance key-value database. It’s aimed at institutions and use-cases that need high throughput ( 100k tps+), with low latency (95% completion in <1ms), while managing large amounts of data (Tb+) with 100% uptime, scalability and low cost.

Because that’s what we offer, we don’t, at the server level, support multi-record transactions (MRT). If that’s what you need, then you will need two phase locking and two phase commit (assuming a distributed system). This will slow your system down, and will scale non-linearly, in that if you double your transaction volume, your time spent waiting for locks will more than double. If Aerospike did that it wouldn’t be a high performance database. …


Image for post
Image for post
Image from Nana Smirnova — https://unsplash.com/@nananadolgo

A strong differentiator for Aerospike vs other key value databases is its DRAM economy. Every object has a 64 byte DRAM footprint no matter what the size of the actual object is. You can manage a billion objects using only 128Gb of DRAM, allowing for 2x replication.

Great news! A billion is a pretty big number and 3 * 512GB nodes gets me to 12bn. Within reason I can have as many objects as I like. I should start making them right away with no further thought required.

Hold your horses, cowboy. It might not be as simple as that.

For instance, what if your objects are very small? Worst case, they’re so small that they’re of the order of 64 bytes, so now your memory footprint is similar to your disk footprint. It might even be the case that your memory to disk ratio is such that your DRAM is full when your disk is half empty. In a bare metal situation, buy less disk / more DRAM for sure, but you might be in the cloud where you’re stuck with certain DRAM / storage ratios. …

About

Ken Tune

Solution Architect @ Aerospike. Math Grad; Pianist; Music Buff. Work bio @ https://www.aerospike.com/blog/zero-downtime-upgrades-in-aerospike-made-even-simpler

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store