Redshift Research Project




Last night, at about 9.30pm, I kicked off a test run.

It ran overnight, and got to the point of shutting down the final workgroup at about 9am the next day.

The shutdown of the final workgroup failed - I could be wrong, but to my eye, it looks like the boto3 command to do this silently failed.

After about 4000 seconds, I manually shut down that workgroup, via the AWS console, which allowed the script to complete.

I now have a full run, where there’s definitely stuff I’d still like to add, but where the cost of doing so given the unreliability and slowness of workgroup/namespace bring-up/shut-down is simply way, way too great, and the data I have already is sufficient for the PDF.

I will complete the write-up in the next two or three days and publish on the weekend.



So I’ve worked for the last four or five weekends on the test script for Redshift Serverless.

That’s pretty normal. A typical PD takes a week or two to develop the necessary evidence from the test script, and then to iterate through writing and editing cycles.

Call it ten days, and my usual rate is about 550 GBP per day. That’s 5500 GBP per PDF.

The long start-up and shut-down delays, and the unreliability of workgroup startup and boto3, have made development excruciating.

The test script is running right now, I kicked it off about two minutes ago.

I believe it will now run through, and I’ve cut the number of start-up/shut-down benchmark iterations to 1, from 3, because I no longer much need that for the Discussion. It’s enough to provide some indicative values, without needing to wait six or seven hours for the script to run because it’s not safe to parallelize workgroup bring-up or shut-down.

In other news, a new RS version came out yesterday, across all regions, with no system tables changes.

There have been three versions no with no system table changes, so the next release is due to bring changes.

I also ran the bi-weekly benchmarks, but I’ve not yet published the review of the benchmarks.

I’ve also updated bring-up times, and the price tracker (not that it ever changes).


Weather Report

The benchmarks were taken a two days ago, on the 4th, but I’ve only now got round to publishing the report.

  1. ap-southeast-1, ap-southeast-2 and ap-southeast-3 dc2.large having problems with disk-read-write, usually slow and with very large standard deviations.

  2. ca-central-1 dc2.large very slow for disk-read, at 0.66s - normally 0.06s.

  3. eu-west-1 dc2.large slow for disk-read, at 0.38s - normally 0.06s.

  4. us-east-2 dc2.large network benchmark has returned to normal (~5s) after last fortnight’s ~8s.

A new Redshift version came out, across all regions, but no changes to the system tables, at least, in the way I currently look for diffs (columns, data types, etc - not view SQL, for example).

I’ve updated bring-up times, and the price tracker.


Redshift Rollback

On the 10th a new version of RS came out, with a lot of changes.

The day after (but I’ve only just noticed, been working on a PDF about Serverless) a new version came out, rolling back all those changes.

You can see the table/view/function totals here, check 1.0.51594 and 1.0.51781.


Two New Redshift Versions

I’ve been too busy with the (huge!) Serverless PDF to write about it, or do anything with it, but yesterday, two new RS versions came out - one did nothing, the next reinstated very nearly almost all of the changes which were rolled back by 1.0.51781.


The Ukrainian Summer Offensive 2023

I’m seeing a lot of new stories about the offensive.

I’ve been reading military history since I was a child - many decade ago now - and although I have no experience of war, beyond being in Kyiv, I do have a lot of what is in effect training about war, and to my eye, the news stories I’m seeing are disjointed and wholly lacking in context. They’re stories to get a story out, every day. As such I’ve been feeling increasingly to write something about military offensives, to give that missing larger perspective and picture.

So, to begin with, there are offensives which are conducted properly, and those which are conducted improperly.

The latter is infinitely more common than the former, and looking back over history this is I think for three main reasons.

  1. Political interference in military matters.
  2. Lack of the necessary economic strength to conduct war.
  3. Most Generals are not sufficiently well trained, and experienced, and within their ability ceiling, such that they can properly conduct an offensive.

When there is then no political interference, sufficient economic strength, and a General with sufficient training, experience and is within his ability ceiling, a properly conducted offensive can occur, and exactly what a properly conducted offensive is and what it means and entails needs to be described.

For a moment setting aside political interference and economic strength, what happens when war comes is that the current crop of Generals are almost uniformly found to be no good, or at least not good enough, and after loosing a bunch of battles, they’re all replaced.

Typically, they’re replaced by another batch of Generals who are also not good enough.

(This may continue for some time. Years. It did in the American Civil War, where the North went through General after General until eventually Grant and Sherman got to the top, and then it was over in a year.)

Eventually, Generals who are good get to the top, and then - barring political interference and lack of economic strength - the war is usually over fairly quickly, because good Generals usually win their battles, and once you start winning most of your battles, a war ends fairly quickly.

This process of good Generals eventually getting to the top is entirely forestalled by political interference.

Dictatorships are usually the worst for political interference; the dictator, who holds complete power, makes decisions in military matters, where he completely lacks the training and experience to do so, and may well also be above his ability ceiling in this matter.

Such decisions, which are imposed, not always, but very nearly almost always lead to military failure. This in turn causes good Generals who object to be sidelined or dismissed, and the remaining good Generals to shut up and do as they’re told (to avoid being dismissed, and they try to make the best of the bad situation), and it leads to bad Generals, who support and encourage the dictator, being promoted.

This leaves the matter of possessing the necessary economic strength to conduct war.

A properly conducted offensive must possess sufficient military strength to be able to achieve strategic goals of sufficient value to have a meaningful and significant effect upon the enemy and the war.

That military strength comes in the end from the economy strength of the country, or countries, fighting the war.

In the absence of that strength, a country cannot mount properly conducted offensives, because those offensives in the first place cannot achieve meaningful goals, due to the lack of military strength.

Russia has a GDP of about 1.8 trillion dollars per year, and is currently fighting Ukraine (0.2 trillion dollars per year), supported by the EU (about 17.1 trillion dollars per year) and in particular by the USA, which has a GDP of about 23 trillion USD per year.

Russia is outweighed by a factor of about 20, and additionally is constrained (just as Germany was in WW2) from anything even remotely like full economic mobilization, because the dictator, as is often the way when a country is not simply enslaved (Ethiopia, North Korea, etc), is deeply concerned about popular unrest.

So; given then lack of political interference, sufficient economic strength, and good Generals, we can consider what is involved in a properly conducted offensive.

First, the goals of the offensive must be in proportion to the available military strength. If you try to do more than your strength will allow, you will of course fail, and in doing so over-reach, and leave yourself in disarray, and so open for counter-attack.

Second, the goal must be decided without regard to the current situation. A terribly common failing is to look at the current situation and select the best next step; this is utterly wrong, for it means the situation directs your actions. What has to be done is that the final goal, which is in proportion to available military strength, must be selected, and then you must force your way there, which may well mean taking intial steps which are hard and bloody.

Third, the current battle must be fought with the next battle already in mind; once the current battle is won, the enemy will be thrown back, your own forces will be advancing, and you must already be prepared in your forces, posture and supply, for what you can predict will be the next location where the enemy will stand and fight; and as you move toward that second battle, you are then already preparing for the battle after that.

Right now then, looking at the situation, the land bridge held by Russia to Crimea looks incredibly vulnerable; it is essentially a long salient. If the Ukrainians can cut their way to the sea, Crimea is cut off, as is everything to the west of the Ukrainian forces which cut south to the sea.

The Ukrainians will have a very tough and slow time breaking through the initial layers of Russian defences; the power of defence in modern war is extremely great.

If and when the Ukrainians break through, they will need to be ready for, or prevent, the movement of Russian forces to seal off their penetration.

I suspect the Russians will not be good at this; it requires sound Generalship and logistics, plus rapid and flexibile thinking and command at lower levels, all of which are Russian weaknesses.

Putin will most intensely not want to give up Crimea, and can most likely be relied upon to order his forces to stand and fight, which will give some short term delay but lead to their destruction, rather than escape, from the pocket formed by the Ukrainians reaching the sea.

It’s not going to be easy, but the goal strategically makes perfect and obvious sense.

I have no idea if it is within Ukrainian resources, or any views about the current crop of Ukrainian and Western Generals; I know nothing about them.

I will say that I think the Russian Generals are going to be no good, because Russia is a dictatorship, and the effects of this have been described.

So, if the Ukrainians are doing it right, and have picked their goal, and are now forcing their way to it, it may well be very slow going for a good long while at the start; but if they are successful, the strategic impact of their goal, reaching the sea and isolating Crimea and the forces to the West, will be enormous.


Curious Events in Russia

So, the head of the Wagner group moved against the Russian State.

Wagner units began heading north.

I found all this very strange, because Wagner is supplied by the Russian State. Without that supply, they rapidly stop functioning.

The only rationale which makes sense is a quick strike on Moscow, and taking control, before Wagner runs out of supply and is destroyed by the Russian Army.

I think Russian Army units then began moving into position to deal with Wagner - and the Wagner Group I think will be massively outclasses by the Russian Army; and they were now also unsupplied.

I suspect the head of Wagner realized the game was up, and fled (“Belorussian negotiate deal”) - but, boy, I do not expect him to live a peaceful and long life now. Putin will have him assassinated.

I also expect comprehensive retribution against Wagner itself. We’re talking Russian State culture, here; organized, gut-wrenching, hideous cruelty, and genuinely thinks being so is right and proper.

As for the war, it will make no difference. Flash in the pan.

As for Russia, and it’s politics, also, flash in the pan. In dictatorships, there are always two powers; the dictator, and the military. All dictatorships have a military, it’s ultimately how they hold power, but the military by its capabilities is in principles capable of unseating the dictator. The dictator needs, and is threatened by, the military.

The Russian military is thoroughly controlled, Wagner was not, and now Wagner is beheaded, and I wouldn’t be surprised to find it pretty much dissolved and brought back into the Russian Army.

Interestingly, Hitler in WW2 had much the same arrangement; there was the Wehrmacht, the regular Army, and the SS, the military wing of the Nazi Party, who were independent of the Army. Terrible, terrible arrangement for military efficiency and effectiveness, but I would say for Hitler, given his mistrust of the Army, it made sense.

For Putin, Wagner never seemed to be a counter to a threat from the Army - and I can’t see that it ever was, I think the Army is too well controlled - but dictators seem to tend to go for muddled, complex, unclear chains of command and organization. Seems to let them play people off against each other.



Finished the first complete draft of the Serverless PDF.

I’ve overworked on this, and it’s a long document, the longest Redshift PDF I’ve made, and so I’m now mentally numb, insensitive to the overall state of the document, so I can’t meaningfully edit any more, right now.

I’m going to take some days off from this, and then come back to it, and see about knocking it into shape for publication.


Belated Weather Report

I’ve been working non-stop on the Serverless PDF; I ran the bi-weekly benchmarks on the 22nd, already a week late, and now I’m publishing a week later still.

The next benchmarks will be out in four days =-)

So, rewinding back to the 22nd…

…and trying a new output format.

Region Notes
ca-central-1 dc2.large disk read remains slow, at ~0.7s rather than 0.07s.
eu-west-1 dc2.large disk read has returned to normal.
us-east-1 dc2.large disk read and processor benchmark both running slow - 0.15s vs 0.06s, and 3.01s vs ~2.30s, respectively. Processor benchmarks are normally very stable.

Note dc2.large nodes are particularly variable - I suspect they are shared tenancy - and it may be on any given benchmark I happen to get nodes which are particularly slow. I conducted a test where I started a two node dc2.large cluster, benchmarked it, shut it down, and repeated this ten times back to back. I could see problematic nodes, and it looked to me like I was having them turn up more than once - in different clusters.

However, the cross-region benchmarks are made about every two weeks, so if I see a region is slow in one benchmark, and then also slow the next - well, it could be chance, but on the face of it, it is much, much less likely to be so.

Home 3D Друк Blog Bring-Up Times Consultancy Cross-Region Benchmarks Email Forums IRC Mailing Lists Reddit Redshift Price Tracker Redshift Version Tracker Redshift Workbench System Table Tracker The Known Universe Twitter White Papers