Afternoon, hopefully everyone's still awake after lunch As he said my name is Graham McAllister. I'm an actual engineer. I try to do stuff at least, you know, two or three minutes a week At least that's what my team thinks I do But I work on the RDS service. I helped founded a few years ago. I think it's now like seven or eight and Very happy to be here talking about Postgres. It's kind of my favorite engine I spent a lot of my time on it and This talk will kind of cover things that we have announced in the last year including our Amazon Aurora which I'll get to in a second as well as some of the lessons We've learned helping customers run their databases on RDS. So let's jump right in so as I said one of the big announcements That we made in the last year was our own Version of Postgres called Amazon Aurora with Postgres SQL compatibility. That's the official name I don't call it that I call it Aurora Postgres because I don't like to talk that much But essentially what it is is it's a Postgres 9.6 compatible engine So on a wire from a functionality perspective, it's going to behave exactly the same as RDS Postgres same extensions You know everything will work the same, but but the difference is that it's cloud optimized and it's log based So a little picture over on the side is essentially showing you Well that we've taken sort of the bottom half of the engine where normally Postgres writes to files and change that into a log Structured kind of storage mechanism, and I'll jump into a lot more details later on in the talk One of the key benefits is that we do six copies across three availability zones So a higher level of durability than we've been able to provide before Up to 15 read replicas with very low latency on those faster failover down to less than 30 seconds enhanced scaling Show you some performance numbers and the other one of the cool ones is that it'll auto scale your storage up to 64 terabytes without you having to go and add more storage or do any of that So like I said, I'll cover that as we get we get further into the talk On the RDS Postgres front we released support for 9.6 Shortly after the community did we're just prepping right now to get the new minor releases 9.62 9.56 and some of the older ones out which includes some patches But the other thing that we do when we release these is we actually typically add some new functionality In this case we added some extension support on both of the last minor releases So bloom filter and PG visibility, which were just core 9.6 Extensions we added support for those in 9.62. We added this new one called log FDW And I'll get to that in a second because you probably never heard of that one before PG hint plan which we had a lot of requests for especially out of our Japanese customers and PG free space map Which again was a standard one that we just didn't have in the original one So when we started we had 32 Extensions with RDS and then we added a few more on 9.3 and then 39 on 9.4 9.5 had 44 9.6 now has 49 now in the future We're gonna have a lot more and how do we decide on what a lot more is well when people talk to us at conferences They send it to this email Mailing list we basically look at those and then we talk to folks and we try to figure out what the priority is So we've had lots of requests for things like PG repack PG audit just to name a few So if those are things that are interesting to you, please let us know like you're gonna come talk to us at the booths and me emails and you know Because that's what we do We're trying to focus to make sure that we're trying to provide the extensions that we can now we don't do on safe extensions like PL Pearl you Because of the management structure that we put around RDS, but anything that's not like that There's no reason why we you know if we've got enough customer demand that we'll go execute on it So the new one that we added which we actually developed and I say developed it's kind of in quotes because we took basically the file FDW and cut it down to make this thing called log FDW And what it allows you to do is have database access to your Postgres error log So if you set your log destination to CSV, right? And you go create this extension just like you would any other ones you create a server Basically, you can select from list Postgres log files You get that nice list and then you select the one you want and you do the create foreign table for log file and Once you've done that you can see you can select stuff, right? So you can go now Real-time look at your logs and say hey, you know who was can it like I turned on logging for connection So I could see who is connecting to my database for example, right? So this is just a different way than using our API method to get the Postgres error logs out Which you know for folks that have been using my sequel this has kind of been a feature that they've had for a long time And so we had a lot of requests to do something like that. So one of our developers basically just knocked this out I actually had a question about this feature even though we hadn't released it by someone who said hey I heard you're doing this. What's the story? Do I have to use CSV log? I don't necessarily you know turn that on all the time. I said no no you can do it without You just you know specify one of the log names. It's not a CSV log The only thing is of course you get one really long long line, right? You don't get any kind of parsing, but you can see in my select statement. I can still do likes where I can say hey Show me something like connections. It's just gonna you know take a little more to get that out The other one we added like I said that the Japanese customers really liked was PG hand plan a lot of them are moving from Oracle today They're moving to Postgres, you know, they've got an application where they're trying to get things to run And they're having a little bit of difficulty So they wanted this extension I'll show you sort of an example in a second once you load this you have to add it to your shared preload libraries Because it's that kind of extension and then once you do you can you'll see these extra guck parameters And I won't go through all of them that you can set to basically control the behavior of this This extension. What does it look like in practice? Well, let's say you're doing an explain on you know PG bench which everybody does and this is just a join between the two common tables Normally, you're gonna get this kind of explain, you know hash join with this is sequential scan So nothing too complicated. Let's say you're like I hate hash joins For some reason you're like give me make me make it a nest of the loop because that's better not really but but What you see is you can just put this hint in and say I want to nest the loop on a and B and now The planner is changing to do something else. So, you know, obviously you got to you know You know pick the right thing here, but it does allow you to override some behavior also allows you to set some different behaviors as far as Gucks inside of one query. So it's actually kind of a very powerful little extension So that's going to be available in the latest miners for us That's just highlighted what I just said One of the things of course our customers depend on us is to allow them to move up to new major versions So we have a major version upgrade that you can do showing sort of going from nine five here We take a backup when you ask us to do this We run PG upgrade for those of you familiar with it We take another backup and then you get a production nine six instance The reason why we take those two backups for anyone that's not familiar with PG upgrade. It's not transactional So there's no point in time during it, right? It basically is moving around data files and doing some really kind of squishy stuff that you know You want to be able to say hey if it worked great if it didn't I want to be able to go back to where I was right? And this works on a lot of instances, but there's some really funny stuff that you can do like defining views on Catalog schema that then changed during a major version upgrade and then PG upgrade kind of goes I don't like that I'm gonna stop so there are a few things So that's why we recommend not doing this But actually of course building a test instance, which is really easy because you just make a you know A copy of your RDS instance running through the whole thing again Running your application testing making sure that works and then going to do production, right? And this is one of the cool things about RDS is you know doing this extra step Well, maybe you know cost you 20 or 30 minutes of your time to go verify I mean outside of the application testing that it's not going to break when you're gonna do it to your production system So obviously a big thing for our customers, especially you folks that you know are in sort of the financial industry Security is a big deal if you're coming from places like Oracle, you know, this has been a bit of a richer system At least at the database level we've tried to sort of add pieces that allow you to do this at a lower cost So we got the typical application of us database instance snapshots of your data backups basically plus your logs, right? We started by adding first we had the security group that allowed you to control who could access the network was okay Of course we support SSL And then we added the virtual private container cloud kind of thing, which is BPC Which really allows you to have things like ACLs and full network capabilities It actually is better than what most people run their own networks, which are typically very flat To really control access Then we added encryption at rest with a default key or our own key through our KMS system So this is for your snapshots your data files your log backups. That's all protected So at this point you kind of it looks good except for that then customers came back and said well When my people say SSL, you know mode disabled on their clients It does this and now the encryption story is kind of gone, right? So we added an extra piece called New guck called rdsforce SSL when you turn that on by sending it to one it essentially You know causes now if someone sets this they won't be able to connect to your database So you can say to your auditors look i'm fully encrypted no one's going to be able to talk to my database No one's going to be able to look at my data. It's it's all good So this was nice from a running database perspective But we have cool features like snapshot sharing and when we first launched this it was for unencrypted stuff allows you to basically You know share a snapshot with an account And that person can make a snapshot of that they can make an instance They can even make a public one, right? It's all great unless you of course need to encrypt your data And then none of this is applicable So what we did was we rolled out encrypted snapshot sharing Which works similarly, but slightly different because now you have a key involved Now if you go to rds, and this is one of the things, you know We always kind of mess up a few things one is that to make it easy We made it so that you can do encryption arrest with a default key. You don't have to go create a key The problem with that is when you talk about sharing things Since that default key may be shared may be covering many many items We don't actually allow you when you say i would like to share It says uh, no Because you may unintentionally be sharing a lot more things than you meant to by sharing that key out So you actually have to go create a custom key And that's what we recommend when you do encryption arrest with us is to actually go ahead and spend the time to Do your own custom key through kms So once you do that there's basically a two factor here One is that you need to Share that custom key you add an external account to it And then you actually need to share this snapshot So you can actually divide the privileges up in your company and say bob has the ability to share snapshots Steve has the ability to you know, share the keys and that way, you know You don't have someone making a mistake of being like, oh, we just shared all our snapshots to you know our competitors. Whoops Um And once you've done that it works exactly the same way that you can create snapshots or instances off of it So this was good and well received The next thing our customers wanted was they wanted this to work for our cross region replication So for dr purposes, so we're showing here kind of our classic configuration with our multi az high availability You can now with an encrypted instance with a key Basically create a replica in another region all fully encrypted both, you know on the wire and storage again, right? And if you go and promote that guy on the new region, it'll actually have its own independent key So they are actually separated that way The other big news that we announced in november was uh rds postgres becoming a HIPAA eligible service So we've had a lot of people in the health care industry really interested in you know, using rds that they couldn't before this And the other one is that we have fed ramp in our aws cloud cloud region for folks that need that as well So those are you know, sort of long time coming Things that we need, you know to get through the compliance stuff Data movements another one that a lot of customers are talking to us about Whether it's getting off of a current Vendor that they're not happy with or just moving data around between databases Which is kind of common now. We like to do that a lot um So a while back we announced the data migration service Or dms as I like to call it because I actually don't like the m there because I really think of it as a replication service that does migration but You know, I don't win all the naming battles. So uh The you can see all the engines that we sport up top And so these are you can basically go from let's say postgres to postgres So you can go oracle to postgres or postgres to oracle, and I'll talk about the details there But it's a really powerful tool and then it does change data capture And so how does that work? Well, if you were doing a migration for example, and you were on premise You know or even in ec2 you could set this up And you basically go and configure a database migration service instance much like an rds instance You tell it what tables or what connection points you want What's your source and destination and then what tables you're going to use And then you basically go do a full load and this does a consistent select of all your data Sticks it in the new one And but the key thing that's next is that it does change data capture Then to pull from the logs and catch up so that once you're caught up All you got to do is stop writing on the customer premise side and switch over right? So you can't it's not zero downtime, but it's very short, right? We've had people do it in less than a minute So How does this work? Well, you can be on premise you can be an ec2 You can be an rds for those versions that i've specified Now it's nine four and above because we do use the logical replication capabilities of postgres the cdc there So, um, you know, if you're not if you're on premise and not at nine four Then probably the thing you do is upgrade to nine four and then move in right? um As I said about the bulk copy is a consistent select And then we're just using the logical replication and that's the url for that team and actually we have One of their team members is here at the booth. So if you have other questions about this Or some of the other stuff I talk about he'd be happy to answer those The other part that we heard from customers is they actually wanted to migrate from one engine to another So it came up with this tool called the sct the schema conversion tool So it's a downloadable tool that you can use to go basically look at what it takes to convert from one engine to another And What it can do first of all one of the cool things It can do is it can tell you how off you are in doing this like how much work So the green there for example is the stuff that's just going to Transparently move over the red stuff is on the far end where you're probably going to have to do some work with your application Or change some major stuff to make it happen. So some people, you know Asked me well, should I go to my sequel or postgres? So I'm coming from oracle. I said well one of the things you can do is you can go run the sct tool For both of those and see how much work it is for either engine most cases postgres being the richer engine You know has less red on it right So that that's kind of nice in detail like here. I don't know how well you can see this But we have an oracle procedure that we're moving to a postgres function And it would tell us, you know, it'll actually do the conversion for you once you get to that stage The other thing is as part of getting dms to do logical replication support We made generic logical replication support for rds possible. So same versions that I talked about before All you have to do is set this rds logical replication parameter one Which basically changes the wall level to Logical and a few other things and then you got to create a slot so that you start capturing the data And that's what that command and then with pg to receive logical You can just start pulling the data now. There's getting to be all kinds of different ways to connect to this Like the jdbc driver does it now. I think Dave was saying maybe the python one two So this this is kind of a new upcoming area One of the things that that is kind of odd today is that we only support the test decoding plugin I'd be really happy to get any feedback now or later on about what other plugins people are interested in if they're thinking about using logical decoding Now, how many people are familiar with logical decoding in postgres? How many people know when you make a very very large transaction? That it has to be kind of assembled out on disk Before it gets pulled to the other nodes Yeah Couple so yeah, so one of the things that we did was we added a metric so that you could actually track this because You might run out of disk space and you might not know why and it's because you're basically You know materializing this thing from a physical wall to the logical And and uh, and so you can now monitor that as part of the rds solution And of course we have the normal replication leg metrics and then the other one we added was The even though you're creating a slot for logical It's just the same as a physical slot like we use for cross region replication And if you're not pulling you're going to be using up additional this space here So we made another metric so that you could alarm on that in case someone's like Creates a slot and forgets about it and you wonder why you run out of you know space on your database, right? Which is never a good thing So one of the cool things is really talking about what you can do with this right So let's say you have an rds postgres instance You can set up dms and you can replicate to another rds postgres instance You could replicate to redshift. They actually have a very optimized loader for redshift where it goes and does it in chunks Which is what redshift likes as opposed to a single line insert Um, you could go back to on premise Uh, you can go to ec2 You could go to s3. We just announced this functionality for dms You can now do some portion of what you capture coming out of the change data capture into s3 directly Um, you could go to ec2 oracle We have some customers who are in the process of moving from oracle to postgres But still have other oracle databases that they need to fade data back to so this is a way to do that And of course as i showed you could have your own custom logical hender using pg receive log or the jdbc driver Driving let's say a no sequel database right and putting data in there so One of the big lessons that we've seen working with customers is Around vacuum right and this is one where How many people have ever had transaction id wrap around on one of their databases? A few right It's not one not something you're gonna ever forget Because it's painful. Uh, what it forces you to do is to go into single user mode until you vacuum that table Um, and until then guess what you're down, right? This is not a good time for you. Your boss is probably going to be in your office at that point Asking very difficult questions about why this happened. So there's a lot of parameters that you can set and I won't go through this I know um As we just did a talk on vacuum and you know, it's probably much more in-depth So, you know for the details on that but For us for rds one of the things that we noticed was we weren't giving enough information back to the customers So they could see all the vacuum. So we made some changes The first one here was to allow uh logging of the vacuum commands So you can now set the force auto vacuum logging level and this will now spit out things Like this where it shows. Well, we had to cancel an auto vacuuming task because of a lock not being available, right? So if this was the table that you know kept your transaction id going up You need to go kind of figure out why you have this locking problem, right? Uh, the other was seeing what auto vacuum was doing Uh before you get this rds admin is running that command you get insufficient privilege Now you actually see what auto vacuum it's running. So that's kind of helpful. Just if you're like, what's auto vacuum doing at the moment, right? But the big one that I really was actually really happy that the team came up with was this metric around maximum use transaction id And so this is out of the space that is the transaction id space, right that you have It's you can see with now that we have this metric how fast it's growing by kind of the slope of the line And then how close you are to running out and you can set alarms on this Now we monitor this ourselves So if a customer gets way too close we'll probably reach out to them and be like There's a problem because we don't want them to go into a single user mode situation, right? But From a general safety perspective, this has been really helpful because customer said, you know Yes, I could have monitored this but now it's much easier. I like one click set an alarm on this And if I hit a billion, you know Someone in my ops team is going to get a page about, you know, figuring out why we're not vacuuming keeping up. So So that was a big one around vacuum So scale and availability is always a hot topic for a lot of our customers. I like to spend some time on that One of the ones that we do on a regular basis is we introduce new instance classes And this is just showing the m4 and I just picked the m4 large is kind of one of the smaller ones And around a pg bench read only all in memory just to kind of show the cpu power that you're getting Transactions per second on the vertical axis Larger is better, right Blue is the old m3 large, green's the new one And as you can see we get better performance With the new one and that you know, that's good, right? It's the 37 percent You know increase But the cool thing is it's actually a cheaper instance class So your you know price performance is actually increasing So this is kind of the regular cycle that you see with us is that we you know Keep doing new instances and it's funny because you know, my my goal is to have you on the latest instance I actually don't want to support all the old ones. I'd like everybody on the new one So I'm always happy that we're doing this stuff, right? and With with a roar we'll be starting with the r4s and you'll see those roll out as well across the fleet over time One of the other things that we had around sort of performance was customers saying, you know I like the idea of rds, but man. I really like being able to touch the metal. I like being able to run top I like being able to run sar and we said well from we can't really allow you to ssh into the instance That's going to be problematic. So we came up with this idea which is enhanced operating metrics, right? So we basically give you all these metrics and you can get down to a one second granularity on them, right? And you can even pull this stuff via api because it's in our cloud watch logs Service so Any of these can be used to look at the system And then the other cool one is that we actually do a process list like you have in top, right? And again because this is api driven you can actually look at the like this on a one second basis Like back in time for like days if you wanted to so that that's kind of interesting Like here you can see i'm running a select query for those of you probably in the front of the room And it's using three percent of the overall box cpu, right? So, you know if you have those kind of weird runaway ones where you're like, what's using the cpu and you're like Oh, look, you know bob's running his select again. Oh great Sorry if there's a bob in the room And then of course the nice thing is of course, you know people like graphs a little easier to see Let's say you have you know your boss goes and says what happened there, man Why didn't our cpu, you know go off the wall and you're like well I think someone might have started up a whole bunch new processes accidentally, right? So it makes diagnostics a lot easier when you kind of see it in this kind of pain view So our customers are really happy about this, but they said well, that's all great But what about my database? What about the queries running it? And that's where this new feature that we're doing called performance insights or pi for short Is in beta along with the aurora or in preview along with the aurora a postgres And that's where we're the first engine we're starting this on But it's going to roll out across all our engines over time And what it does is it really allows you to look at by weights as you can see sequel hosts or user What's going on in your system has what statements are being run You know, who's running them where they're running them from So and we also look at things like capturing plan changes. So you'll be able to say well, look I had a spike Oh, there's a plan change at that same time. That's the problem or you know These new machines fired up and they're starting to you know abuse the system by doing something, right? So and this is just a different view of that where I'm just doing it by weights Um, so in this case like I was running pg bench on a very small, um Size scale one right which causes a lot of contention on the smaller tables And that's what you know, you can see with these a couple of weights showing right So we think this is going to be really helpful and you know, we're going to be developing a lot of features in in this area So aurora postgres well This is our multi az product before aurora. It was you know, you had a primary you have a multi az secondary It's not readable. It's cold, right? It's highly available because it's synchronous replication cross to availability zones We allowed you to have read replicas and in some cases people just use these if they don't have high availability requirements But you can kind of add them for extra read scaling Um, and it's asynchronous. I mean, that's just standard postgres streaming replication And if you can divide your database up and your application so that you can you know do these Eventually consistent reads you can build this nicely scalable system And we have a lot of customers that do this and it works great But customers ask us to basically improve on this and that's part of the thing that we've done with aurora postgres Because as much as this system works, you know, the primary fails And you can fail over to the secondary you notice there's only two copies, right? And some people say look my kind of industry I need more protection than that so You know this works it does lots of good stuff You can you know keep your read replicas up during upgrades you can modify them So you can build it to be highly available, but it's a little more complex than some of our customers liked So with aurora, it's a little different model Essentially what you have again, you have the application you have like a database host that you connect to But now we have storage that's distributed across three availability zones and we do six copies And I as I have there it's a four of six synchronous writes model and I'll get into the details on that But as you can see we just write to all of them at once Now this is an interesting problem because Typically, oh, I messed up my ordering. Okay, so for aurora what we do We send these off all at the same time And we start getting responses back And as soon as we have four of them, we're basically finished We don't have to wait for the other two to happen now they do happen But we get rid of a lot of jitter on this system And to look at like what that looks like if you're not doing this model This is an early test we did way back before starting aurora where we tried to look at What if we just made our multi z product write to more places? And so we compared sort of two nodes or two locations really from a network perspective with four disc copies to a Three location six disc copy Latency on the vertical axis so smaller is better in this case And you can see if you look at the percentiles of the query responses Or the these are actually disc responses You can see that we're like in the six to seven milliseconds at the 50th percentile So going to extra copies doesn't really hurt you there But if you look at the far side at the four nine so one in 10,000 basically executions Is getting a lot worse performance almost a forex degradation by adding this And for every one of those queries that you miss Right like so when you get one of those 123 It stops probably 20 of the little six millisecond ones from running right That's going to cause kind of problems with your application if you if you really need that kind of latency So that's why we did a lot of different changes for One of the other things that we did is we changed from something that had a log buffer to something that doesn't we don't do checkpointing so Here on the left side is sort of how postgres or traditional databases work as you're getting ready to commit work, right? You're just before you commit, right? You have all this queued work getting ready to go You hit commit and at that point you enter the log buffer What's cool about modern databases that does group commit allows multiple people into that buffer at once So that you can actually get some concurrency But if more work is getting ready to go As soon as that log buffer starts getting ready to send down to the disk you can't actually send more work in right So at that point You're waiting for this stuff to go down to storage and to get acknowledged before you can say that's committed And then the next piece of work can actually enter the log buffer So you can see how this is going to cause your system to sort of move a little bit herky jerky on the You know on its smoothness On a war it's a little different What we have here is as things come in work comes in to be committed It just flows down in whatever order whatever speed we don't care So we don't worry about the ordering on the top side. What we do is on the back side. We we track What's durable so in this case we have this durability tracking And basically there's the all the little transactions over on the side So when we get two of them in we know we've gotten two acknowledgements out of the six But the four we need So once we get somebody to four you can see I can send that commit back and say to the customer. That's good, right? But you'll notice that c I didn't say is acknowledged. Why is that? Because you still want your transactions to go in order, right? You don't want to be like that guy that committed after me is being seen But I'm not right even though I committed before him So since we need to wait for b to get to at least four before we say all of them are good Right and again, you can see in this case the last guy e is also not committed because d is not there But what this allows us to do is to not have to worry about Doing everything in an exact order, right? And this again changes the performance characteristics So from an actual structural perspective Multiple az's got the application you have your read write node and you're talking to this thing that I call a raw storage Right, so it's a layer that we talked to it's got a lot of different machines in it Spread across these three availability zones and then you have 10 gig chunks of data that we stripe things over And you end up with you know six copies, so that's trying to illustrate with the two colors Although I seem to some of the colors look remarkably similar But there are six there And you can think of this sort of as a distributed storage system that allows Us to repair and do all kinds of interesting stuff For example, if this one 10 gig chunk for example was a replacement because that host died Or because it was just behind because of the four of six rule We actually do gossiping between the nodes to do catch up, right? So there's multiple ways that we get you basically back to The correct state on your data now We never commit it before it's four of six, but to get you to six of six, which is where we want you to be Right, we do all this other work This allows you to have what we call replicas, but really are sort of read only nodes in this model, right? And they don't have to spin up and have extra storage like I showed you in the the current rds model So if you want 15 replicas today on rds, you have 15 copies of the data plus your primary In this you have one copy of your data. I mean it's six way copied, but one setup And you can have 15 of these But the interesting thing is we don't actually read from the storage to get to know where we are We use an asynchronous invalidation and update method where we push over to the replicas and say hey You know you that block you have in memory has changed. You need to either get rid of it or update it But the really neat feature is let's say has anyone ever done like a huge backfill on a replication system And had it go really horribly wrong So because if you go commit let's say a 10 gig change to your system that has to flow through Even if nobody cared about it from an application perspective, right? It has to flow to your replica In this model, we basically get to discard those because if they're not in memory on the read only node We just say oh look that's something we don't need to apply because we've stored it in the disk already, right? It's in our central storage system so This means we can have less lag And more performance because we're not doing unnecessary work on the replica that basically isn't benefiting the read only node The other thing that with Aurora that we do differently is we write less So again on the left side sort of classic Aurora on the right So you have this block in memory.  So you end up with that But because let's say it's the first time you've done it since you've check pointed You're going to get a full copy of that log or that block into your log, right? So that's actually a lot of writing right for making two or some very small updates Now the nice thing is when you update that block again, you only get like one little chunk in the wall, right? So we've already done quite a bit of writing When the checkpoint comes around we have to checkpoint that block out, right? And of course we have to archive the wall So that's a lot of work On Aurora when we do this when we go do that update those two changes They basically get sent to Aurora storage as a log vector just like sort of wall And that's it And the same thing when we do another one. That's all we do. So there's no archiving that happens on your system There's no checkpointing There's no full block Logging to the wall stream because we don't need to do it because we don't have split block Problem So this means that you can get more throughput out of the system that and not having the log buffer as I Showed before So what does this look like in practice? Well, here's a pg bench doing, you know, it's sort of initialized Run, right? So you have the copy coming in then vacuum and index build and you can see that we have a Copy inward a bit faster, but vacuum and index build where we can do some different things Mostly on the vacuum. This is a lot faster One of the cool ones that I really liked And I actually did this slide. So of course, that's why I like it Is when you think about the tradeoff between recovery and performance, right? So on a checkpoint based system The more work you allow to happen between a checkpoint the less full wall blocks you're going to have to write But it's the longer the recovery you're going to have. So what I'm showing up here is Aurora with no checkpoints was able to hit 92,000 writes per second Now these I constrained Except for this one where I'm running as fast as I can. So I'm checkpointing at 12 and a half gig I'm only getting to 69,000 writes My recovery time was 102 seconds We don't have to do recovery because we're a log based structure. What comes back is already recovered, right? So there's no crash recovery in aurora. So it's 1.2 seconds And I have these two other examples to show you like if you want to get down to a reasonable recovery rate That's fine But now look what it did to your throughput by capping how much You know checkpointing size I had that then cost me a lot of performance So you used to have to make this decision between the two things of making do I want to go faster? Do I want to have you know more availability? So that's a that's a change This gets to gets to the throughput case where I was talking about not doing as much work and not having a log buffer We're able to sustain higher write rates than standard post-gres for longer and with more connections Uh, this is similar just a strictly the other one was a read write. This is just a write only And then again as I was saying about that jitter This is kind of an interesting one where this time it's response time and again lowers better the yellow as aurora So you can see the consistency we're getting Now this is partially because of checkpointing. It's partially because of the log buffer You can see that post-gres is bouncing around all over the place, right? So even though you might get some final number That says the average is x It's not what you'd be experiencing if you're running an application on it And this is what that looks like sort of drawn in a different way, right? You can see every one of those points is You know, I was going on post-gres from anywhere between 5000 and 30 000 depending on which second I'm looking at versus a very much more consistent band And then one of the other interesting ones that I didn't actually realize for quite a while about post-gres Is this whole thing about having to do full pages written to the wall after a checkpoint So if you can imagine if you have a very small working set the chance that you touch the same page over and over between one checkpoint The chance you're going to hit the same page a lot, right? But let's say you go and have 10 terabytes And you're doing updates all over the place the chance that you hit the same page becomes very small Which means every time you hit a page you're doing a full right To the wall this causes performance to decrease as you go larger with postgres So this one shows that you know with aurora at 10 gig. There's a meaningful difference, but it's not huge But when we start talking about you know 100 gig This becomes quite a large difference where you know we're three times faster and this actually just keeps sort of going up You know it slowly decreases where we don't get much faster, but it does you know as you go into the terabytes It sort of has that that problem And with that That's all I have on the Presentation happy to take questions on any of this or anything else we do Well, that's because that's because it's not being released till next week. Yeah, so That's why I had the word soon when I said when those were happening. Yeah It will be in our standard documentation. Um, it's essentially almost exactly what I did was what's in the documentation I like to copy as much as I can Yeah, so um all those things that I talked about they're going to be rolling out I think next week. Uh, so you should expect to see that then. Yeah, but I just thought hey, I'm here I'd rather tell you guys now about it instead of waiting another, you know X months till another conference to to announce it. So Other questions in the back When is aurora going official? Well, it's officially in preview We're working, you know towards a a date in the you know in the near future. Uh, I think we're Kevin, what do we say? We say q2. Yeah, sometime in q2 is is is the goal. Yeah Yeah He's reminding me since I'm on that development team. So yeah, who's it? Sorry, what's the It's before christmas. Yes, you won't have to wait for christmas to unwrap aurora postgres. Yes What will be the price difference? Uh, the price for aurora postgres is going to be the same as our aurora mysql offering so it's listed on the The page I don't actually look at the prices that much. So I can't tell you specifically in what region so But it'll be the same as like all the aurora ones will be the same from a pricing family perspective Other questions, okay Well, thank you very much


but also in force breaks, and they're in force breaks by the therapist, by the therapist going on holiday. And that often evokes a morbid fear of abandonment, which lies within the troubled psyche of our clients. Or at least made it. Yeah, totally. And even just the time of year. We demystify what goes on behind the therapy room door. Join us on this voyage of discovery and co-creative conversations. This is The Therapy Show, behind closed doors podcast with Bob Cook and Jackie Jones. Welcome back to episode 81 of The Therapy Show behind closed doors with myself, Jackie Jones and the ever-present, ever-epravescent Mr. Bob Cook. And what we're going to be talking about today, which is quite apt, is how to deal with holidays on this run-up to Christmas. Yeah, I'm dyslexic. So I can't even say the word you said about me in the description of it, but it sounded very delightful. Yes, I've just had the dentistry today. So, you know, an hour and a half in the actual dentist, you know, dentist chair while they're preparing for root canal work. So I have gone off the numbness of my, so I'll be able to speak. Good. Okay, so holidays just before, of course, holiday time. Yes. So... It can be quite a big deal and intensive time for a lot of people, can't it? It certainly is. And according to NTA terminology, according to how much adult they've got, even in terms of resilience and robustness will depend on how they may... I use the word in inverted commas, act out, it's a psychological term. And TA might be going to script. Yeah. When, you know, there's holiday time and the therapist goes on holiday and how they then interpret that. Now, having said that, which I can talk about in a minute, I also wanted to book contracts in this stage because your TA is very... A contractual theory is very, you know, pivotal. Yes, yes. So when you actually make the contract with your client at the beginning, in terms of a focus of what they want from the therapy, in the business contract, you will... I'm gonna speak for myself, but I'm gonna go out to you in a minute. We talk about holidays. Yes. So, for example, in contracts I made with my clients, I would talk about, you know, Christmas time, being off of Christmas time, you know, New Year, perhaps. And when I went on holiday. Yeah. So they would know how many holidays I have and they would be prepared for that at a certain level. And also, specifically the one after Christmas, we can prepare them for that. But at the early stages of third of course, there is a contractual process around holidays. Yeah. Is that the same with you? Yeah, yeah. And I think it's important as, you know, therapists and counsellors, that we take account of ourselves in that period, that, you know, we are entitled to have a holiday and to take a break. It's just about planning it. That's, you know, that's the important part. Yeah. Now I've just said that a bit about contracts and... Yeah. That in the contractual process, Clarence and I just know when the holidays are. Yeah. There is a process there at the beginning. I'll go on to the next bit. Now, about 12 years, maybe 15 years ago, a film came out which became a cult film. And it's not a cult film because of my name, because the actual film was called What About Bob. Wow. And I'm called Bob, you see. So it didn't become a cult film because of that. But what about Bob? It is a most wonderful film. It's a comedy. The most wonderful film. And Bill Murray from Groundhog fame. Yeah. Played the obsessive-compulsive, paranoid, schizophrenic, if you like, client. And Richard Dreyfuss played this narcissistic American psychotherapist. And it's good. And basically, how Bill Murray became, who played the client, became a patient of Richard Dreyfuss, who was the psychiatrist, psychotherapist over in America, was that the client, Bill Murray, was so disturbed that a lot of the psychiatrists had given up with him and they turned to the very narcissistic therapist and said, can you help?  So he took on Bill Murray.  They took the whole of August off, generally in America, you have a whole month off. And the client, I, Bill Murray, was told about this about three weeks before Richard Dreyfuss took him on. And of course, he went straight into paranoia and triggered his script and abandoned him phobic and his OCD came out much more and he felt abandoned by the therapist. So that was all going on. And then to cut to the next part of the film, because I don't want to destroy this film for you, he followed Richard Dreyfuss to his whole day home. And he invaded his therapist's home while he was having a vacation and all this is going on. And I'm not gonna tell you the end, but this is really important in terms of what we're talking about because clients have got a morbid fear of abandonment. Even though they were able, from their adult, understand the therapist has gone on holiday, can from child, inadvertent comments, act out because they felt abandoned. Yeah. And in this film, the extreme consequence was the client followed the therapist on holiday. And in fact, engaged in the family of the therapist and there's a lot more to the film. But it's a very funny film. Please go and watch it. I enjoy it. You can get it out on DVD. I'm sure it was 12, 15, 16 years ago. But we take the grain of truth about this is the more disturbed the client is, especially borderline clients in the vertebrate commerce who have a morbid fear of abandonment. They may well act out in the therapy, you know, in the holiday time. So the therapist needs to take this into consideration. And with the client, talk about the, you know, maybe the problems that might arise and what the two of them are going to do about it. Yeah. Which is a good idea because planning and preparing and talking about it and bringing it into awareness is really useful, I think. Yes, I'm very, very important. Yeah, yeah. I always did this with clients. I was always very conscious when I go on holiday, we may cause a rupture in the relationship to the therapist and clients. And I wanted to make sure that we could work around that if that happened. Yeah. Now, if the client is going away for a whole month, which I never did, by the way, it's a long time for a client to hold that, what we call object constancy. In other words, keep the therapist as a good enough object in terms of safety and security, a month's a long time. It is, talking about a constant object, I have known of, and it's not something I've done myself, but I have known the therapist to give the client something as a constant object. Do you know what I mean? Before there is a break, whether that's a holiday or whatever it is, what are your thoughts on that? I've done it myself. And I've also received it. When I was in therapy myself many decades ago, my therapist went on holiday and gave me one of a... How can I explain this? One of her rings, I think it was, in terms of providing a bridge in that relationship. So, and also as I was a therapist myself, I might give some sort of constant object or something from my house to provide that transformational experience. So, if the client was having difficulties and they're resilient or holding the adult place and they were moving to child and feeling abandoned or whatever it is, they could look at the transitionary object or be able to hopefully it would provide a bridge to hold the therapist in an okay position. I just, like I said, it's not something that I do personally, but I know that there are quite a few therapists that do do that. Yeah, they might give them many things like a favourite cushion of theirs. Yeah. Give them a picture, might give them... I often, which is very common, to give a sort of, you know, I was thinking of the sort of gemstones. Yes, yeah. Crystals or something like that. Yeah. The client can take them out and they're very tactile. Yeah. They can feel it. And they can remember the therapist's words or it will help them. Yeah. Therapeutic presence, even though the therapist is away. Yeah. Because it's interesting. I think one of the things that I've experienced, you know, around holidays is that if the client is going on holiday, they seem to be okay with it. But if I go away for a week, then that kind of brings up all the attachment issues of abandonment and everything, but not when they're going away. It's when I go away. Yeah. Which I find quite interesting. Oh, but you've got the magical powers. In other words, you're the secure object. Yeah. Yeah. And in transference terms, you're often the mother, the important sister, maybe even the father.  So in transference terms, it's pretty straight, it's pretty logical that way around. Not the other way around. Because the therapy is with the idealised other, which is you in this place. So if you go away, that might bring out or trigger certainly, which is an attachment, times where they feel neglected or abandoned by their mother, father, or significant other people.  I just find it quite interesting that the way the way that a weaker part can be viewed through different lenses, if that makes sense. Whether it's them going away on holiday or whether it's them being abandoned by you, but it's just looking at it from a different perspective. But the length of time and the being a part is exactly the same in both situations, but it's how they perceive it. Yeah, but if you're going away, you're more likely to stay an adult. You're not going to be triggered really because the therapist hasn't gone away. Therapist, you're choosing to go away and you know the therapist is going to be there when you come back. Yeah. It's very different from a therapist leaving. Yeah. Because the therapist has not chosen the therapist to go. Yeah. Yeah, I understand what you're saying, but it's just how it's perceived, looking at it from a different perspective. You know, seven days is seven days. The length of time is the same. But one has much more impact on the client than the other one. Yeah. You're correct. And I think if we look at it in terms of ego states then psychologically, perhaps you can see it differently because in terms of ego states, the client goes to the child. Yes. Yourself, if they get left. Yeah, yeah. Or if they perceive it that way, as you said. Yeah. We say we'll do, like you said, they don't have a say in it. It's not a decision that they're making to be left. It's a decision made by the therapist. And yeah. So we brought the subject of transfers up. So usually when a therapist chooses to go away, they will know that it might provoke a transferential process. Mm-hmm. And if it provokes a transferential process and you'll know by the script of the client or the history of the client, then by definition the child will move, sorry, the client will move to the child ego state. Yeah. If they move to the child ego state, which is the younger self, that's usually where the trauma is. Or where they felt abandoned or traumatized. So in terms of ego states and transfers, then the clinical treatment makes sense. Yeah. The real key to this is preparation. Yeah. And the therapist preparing with the client for this process. And also utilising transformational objects or in a sense consistency, whatever we want to look at it. So that if it's too long or the client feels that they are likely to act out in some way, they've got some sort of bridge in terms of a constant object to remind themselves that the therapist has gone away and it's going to come back again. Yeah. See coming back is the bit. So if the person moves to a younger self, especially if they're quite disturbed, they can lose sight that the therapist might come back because the history usually or might be one where they were left or neglected or abandoned, traumatized, but significantly, they didn't come back. Yeah. So they find it harder to hold in their heads the idea that the therapist is going to come back. Yeah. Or if they did come back, everything had changed when they came back. You know, it's that continuation. And that first session after you've had a break can be very different to what it was before you went away. Absolutely. And there's a famous book written by Paul Patterson. And I think the other person knows Margaret Atwood, their attachment therapist. And they wrote a book called Separation of the Young. I think it was 1954 or something like that. Don't swear me on the action. You know, you came out, but their attachment therapist and there's a lot of photographs, black-and-white photographs in this book. And one of them is of the mother taking their young child, who's seven, to hospital. And the young child was going to hospital for some reason, which was going to be about a week. Yeah. So walking into hospital, they were holding hands. Yeah? Yeah. Okay? Yeah. She went to fetch her daughter and they came out again. They weren't holding hands. So you're perfectly correct. Even though the mother went back after a week or whatever it is to collect the child, the child had unfelt by the sense of this picture able to trust the mother enough to be able to attach to her again. Wow. So when the therapist comes back, the therapist needs to understand that things like you've just psychologically, pups have changed and that the client will need to talk about the process to be able to attach back to any sense of secure attachment, hopefully, that the person had before in the therapeutic process. Yeah. Now, if the therapist doesn't understand that, they don't understand the attachment process and ruptures in the attachment process. They might well be caused by a holiday and Christmas is coming up. Yeah. If they don't understand that process and don't give credence to that process, they're much more likely to cause ruptures in the therapeutic process, which will become much harder to get back to where they were before. Yeah. Yeah. Because ruptures in our past, however they show up, do you know what I mean? It might be quite a normal process that a family is going through where one of the parents has to go away, whether it's through work or illness or whatever it is.  So it can unearth an awful lot of hidden trauma that the client isn't even aware of? Absolutely.  Yeah. Yeah. And we have a sense of resilience to be able to cope with a week's break or two weeks break. But the more fragile the adult or the resilience in the client, and the more they've had a history of cumulative neglect and trauma. Yeah. Then a therapist going away for two weeks or a week means a completely different process to what I'm talking about. Yeah. You know, you and me are talking about. Yeah. And will by definition of both things. Yeah. A therapist needs to, I say it again, really needs to understand attachment theory or at least understand some sense of what might be laid out or recreation of history for the client by the therapist taking Christmas off or something. Yeah. Yeah. It needs to be really talked through psychologically, I think. Yeah. And again, you know, it is up to the therapist and the client to talk through certain things. Again, you know, I have in the past, if I've taken time off contracted that maybe we could have a 10 minute telephone conversation during the week. Good. Just to touch base or, you know, not that it's a free for all and they can follow me at any point but it's contracted a time and a date for either a text message or a quick five minute phone call. Yes. You know, so there are ways around this as long as it's contracted and it's agreed beforehand. I think that's the key to a lot of this. Absolutely. And with disturbed clients, especially the so-called borderline clients, they will attempt to push that boundary. Yeah. Yeah. Completely. Yeah. Suddenly caught up in a particularly difficult situation. So, but on the whole, you're correct. Yeah. I think it's a contractual process that can be worked out beforehand. Yeah. Yeah. So there are things that we can do, you know, that's gonna make it less of a rupture in the therapeutic relationship than, you know, just going away for a week or two. You know, and like I said at the beginning, you know, the downside to that is that we are entitled to have a break and a holiday. We have a duty of care to the client, obviously, but we also need to, you know, the self-care and us recharging our own batteries and having time away too. Absolutely. And we, in terms of this duty of care to the client framework, we need to think clinically about what us going away may evoke. Yeah. Urson script. In my experience, nine times out of 10, coming back after Christmas and I'd always take two weeks off. Yeah. Was never the same. In other words, what I mean by that, whether it's in the business or in a group, clients had to attach back to me. Yeah. To be able to do work they needed to do. And usually the first, individually the first hour back or this group usually two hours was taken up, not just talking about a holiday, but you know, working through a process of getting back to some semblance of attachment with the client and the client with the therapist. Yeah. I'm being mindful of that. And, you know, I don't want to say scheduling that first session in, but having a process to go through in that first session in order that you can get back in the relationship. I think it's really important rather than just coming back in as acting as if everything's fine. And we're just going to carry on where we left off type of thing. That's right. Or ignoring the psychological significance. Yeah. You know, and I think therapists that do that will pay the price and also clients will. Yeah. They'll be, you know, because in the therapist says, oh, I don't know why that client left. I mean, we're doing such good work. I know Christmas came up, but, you know, I don't understand, you know, I came back after Christmas and three or four weeks later, the client handed their notice in. Yeah. Or decided they wanted to leave. And I thought we'd get on fire. They really don't understand what happened. And I think that therapist doesn't or hasn't been given enough emphasis on, you know, attachment theory or at least an understanding of that. Yeah. Which could evoke the process of termination with the client terminating therapy. Yeah. See, I often when I'm working with clients or whatever, I kind of put myself into a similar situation in my upbringing and how I felt and connect with that, which kind of makes me a bit more empathic towards the client. And I can remember it when, you know, at school, particularly, you know, primary school, the end of the term, so at the beginning of the Christmas holidays, everything was stripped out of the classroom. You know, all the old displays on the wall, you took everything home after that first term, so your little drawers were all empty and you went back to this bare box. And I can remember feeling really strange going back into that classroom because it wasn't like this in a classroom that I'd left just before Christmas, if that makes sense. No, a very good analogy. I mean, for many clients who had very difficult histories, when the therapist has gone away and comes back in January in this case, it's almost like the world has changed. Yeah, yeah. Or could be like that. Yeah, and potentially that's how it feels.  So it's really important preparation here. Yeah. Sometimes they need to know that they've been in your thoughts as well, which can be quite impactful for them, that you haven't just closed the door and not thought anything about them or your practice at all in the week or two that you've been gone.  Yeah. This all has to be done within contractual process. Yes, really important, yeah, yeah. Because like you said, some clients will see a, you know, a gaping in the rules and, you know, yeah, it wouldn't be helpful for the relationship. It could be open to interpretation. Yeah. One way, so following up from your suggestion, when the therapist comes back, so when the therapist comes back in January after this Christmas break, I don't know if you're suggesting this, but I'll go with the way you're talking. Are you saying that one idea would be for the therapist to talk about what's happened for themselves at Christmas and talk about what they did and put in the process, say, you know, I was thinking about you and I know Christmas is an unbucketed time for you and you were in my thoughts and I'm glad I'm back now so we can talk about, you know, what Christmas did bring up for you. Yeah, totally. And that's what I would do, yeah. Not just deny Christmas never happened? No, no, because it did.  And if I say I'm coming back, I'm going to come back and, you know, just model a different behavior to a client. No, I think that's really important what you've just said there. The modelling of different behavior from the person's history. Yeah, because, you know, the festivities and Christmas is going to happen every year and, you know, the summer period is going to happen every year and there are going to be times where there might be a rupture in relationships and trusting the other person when they say, I will be back, is really important. It's very important, I think, as well as preparation, it's really important for the therapist to think developmentally. Yeah. And making cries about how Christmas was for their clients at a different, younger time. Yeah. Because a lot of clients actually express back they don't enjoy Christmas. And when you say, well, how can we go into a Christmas? They talk about their history. Yeah. And how Christmas perhaps was such a dreadful time for them. Maybe they have parents who always argued or maybe they had parents which didn't like to be at home with each other. Maybe they had parents who would get drunk on Christmas. Maybe they had parents who actually hadn't got enough money to ever give them presents. Perhaps they had parents which went off themselves to expect their clients in the house. Yeah. Maybe Christmas is a very traumatic time and I think that needs to be all talked about because we must not assume that Christmas is an okay time for somebody. Particularly from their history. 100%. And I think statistically, I think the likelihood is that a lot more people will find it stressful and emotional and all those sorts of things rather than it being like the picture postcard or like it is in the films. I think the majority of us have experienced some distress or something around Christmas time. Yeah. The statistics will tell you that New Year's Eve is the time when there's more suicides. Secondly, Christmas. We know that Christmas will bring up a lot of things but also in forced breaks and they're in forced breaks by the therapist, by the therapist going on holiday. And that often evokes a morbid fear of abandonment which lies within the troubled psyche of our clients. Or at least made it. Yeah, totally. And even just the time of year, do you know what I mean? Statistic, I don't know whether it's just me or not but over the summer period when the days are longer and the sun is shining, I get a lot less people wanting therapy. Whereas as soon as the clocks go back and the nights are drawing in and everything else, I tend to get busier over the winter months. Yeah, definitely. So it does have a bearing on how we're feeling. Yeah. Yeah. So if we go back to holidays in the summer, for example, or in the Easter, for example, I know there's Christmas as well. I've got an added sense of implication there but you really usually what's underneath all this is the clients who's had a neglected history. Yeah. And ruptures in an important attachment system which gets a vote by the therapist going on holiday. Yeah. And that needs to be discussed, there needs to be a preparation, there needs to be contractual thinking and maybe the importance of transformational objects to bridge the gaps so the client can realize the therapist is coming back and can hold the focus. These sorts of ways of thinking developmentally, I think are really important when we think about holidays with clients. Yeah. And I know you've said, and I completely agree, it's contracted in the beginning to me that around bank holidays or whatever, there's gonna be holidays, but when we say talking about it and discussing it prior to it, it's not just a week before or remember, I'm not here next week, we're talking, dipping in and out throughout the year, touching on this if anything's coming up and a month before the planning and the preparation for having that week off. Yeah. I couldn't agree more. I remember clients that I took on board but I knew this from the beginning. It was a holiday, a summer holiday and the mother went off and she didn't come back. You know, she had an accident. And so the holidays, in the sense of what we're talking about now, with the therapist going away. Yeah. Would bring up so much. So if you can talk to the client way before and you know their history. Yeah. Then you can prepare ahead. Yeah. And for me as well, I always found it okay or I was comfortable with asking the client what it is that they needed or they felt they would need. You know, rather than making assumptions or me presuming, I can give them a crystal off my cupboard and they'll be absolutely fine. Do you know what I mean? Asking the client, you know, what is it that you feel like you would need from me during that week or is there anything that we can plan together that's going to make it easier for you or whatever it is? Yeah. And that shows that you're thinking about the client, you're taking account of their history and those things are so important, I think. Yeah. Yeah. Thank you. I think that's been really helpful for this time of year because, you know, we will want to have family time on our own with our own family. But, you know, there is always that relationship that we need to be mindful of in the work situation. Yeah. Yeah, and to be mindful of when we come back to our clients to inquire and take account of what they've been up to and what it's been like for them. Yeah. Not just assuming they've had a good old jolly time. Yeah. To think developmentally, yeah. Yeah. And I think, you know, I'm not sure whether it was the last podcast or the one before then about, you know, relational needs, you know, the need for the other to initiate. So for us to bring up that conversation and inquire about them and their life and how has it been for them? You know, that's a good starter for coming back into the therapeutic relationship and making that connection again. Yeah, absolutely. And also think about time. Yeah. In other words, it might take time for them to attach back again. Yeah. After the break. Yeah, yeah. It will be aided by the sort of process you've just talked about. Yeah. Just the client.  Well, you know, that's a very important one to think about and then what you do. Yeah. Next. Yes. Yeah. I mean, maybe that's another podcast, but it is an important one. Yeah. Time's just suddenly leave. And of course, they never suddenly just leave. No, no. If you think about it clinically enough, you will put in context, you'll get some understanding. Yes, yeah. And I think that is something, you know, I'm going to write that down, I think, because I think it is a good topic. You know, if a client leaves, what do we do? Do we make contact? And if so, how many and how? And, you know, yeah, absolutely. Another good part, you know, another good podcast off the back of this sometime would be about the use of transitional objects. Yeah. Yeah. But very important in the conversation which you've had about holidays. Yeah. So, thank you, Bob. And following on from, say again. Welcome. Yes. In terms of... In terms of the conversation we just had on me. Yes. But following on from this one, what we're going to be doing in the next one, I think it's quite apt, is we're going to be looking at attachment styles, which I know we've kind of touched on in this one. So, yeah, it might be useful to learn a little bit more about those. Absolutely, and it really follows off on this podcast. Yeah. This is the last podcast then of the year. It is, yeah. It's nearly New Year. It's nearly 2023. Well, I have enjoyed this year of podcast immensely. Me too. So thank you very much. Well, do you think we've aged a bit? Well, every day we age a bit, but do you think... Do you think in the last year we've aged a lot? Well, I think the podcast has... Podcasts have actually invigorated me. There's been lots of stresses throughout the year. So I think I've probably aged a bit more this year, but for other reasons, not because of the podcast. Yeah. And, you know, rounding 2022 up, I think it would be nice. You know, and I would just like to say thank you for everybody that's following us, whether that's on, you know, the podcast listening or whether it's watching the YouTube videos. And we do look at the comments and, you know, we do a bit of a thing before we come on about how many people have actually listened to it. And it does... It's nice to know that there's people out there that are listening to the podcast. And while you do that, we will keep making them. I agree to have a good Christmas. Yes. And, you know, new year, even if it comes. Yeah, good. Yeah. So until next time, Bob, thank you. Yeah, bye-bye. Bye. You've been listening to The Therapy Show behind closed doors podcast. We hope you enjoyed the show. Don't forget to subscribe and leave us a review. We'll be back next week with another episode.


Good morning, everyone. Happy Wednesday, February 21st, 2024. Got a little bit of red coming in today. Big day of earnings in terms of, well, not a big day of the number of earnings, but Nvidia announces after the bell. So I'm sure that will have some effect on the market this time tomorrow. Nvidia's really sold off in the last couple of days. It's at 6.78, and man, it was at like 7.30 or something a couple of days ago or last week. So we'll have to see what happens. If we have people that are new, make sure that you review the Mighty 90 course, make sure you review the volume runner courses and the continuation runner courses and also make sure you're paper trading to start off. The Dow is down 74, NASDAQ taking a beating again, a big beating yesterday, minus 113, S&P down 14. Are you zero DTE traders? I've been working on starting to track my progress by, I currently do it by week, and by AM lunchtime power hour. Start tracking it by day of the week as well, so see if I can get a grasp on if there is a correlation between as the months go by of what day of the week is good or not good. I don't know if I trade any differently, but I definitely think it's worth looking into. There is the bell, so we are off and running. As always, make sure you know your risk management, make sure you know what going in a small position means for you and your account, medium and large. It's all part of developing a risk management strategy. Vix up 4% of above 16. Personally, I'll be glad when we get through earnings and just have some regular weeks without earnings and Fed speakers and things like that. Just out of curiosity, I'm going to take a look at NVIDIA's strikes and how much they cost. They were all juiced up yesterday. We traded two days to expiration option chain today for these trades. Not yet at the money for NVIDIA. One contract going to cost you $3,800. Good to see you guys in here. Hopefully we have a nice calm day with SPX, zero DTE trading too. Looking back, I mentioned about zero DTE trading on my Wednesdays in January. My AM iron condors, that was 9 and 0 on Wednesdays for AM iron condors. For lunchtime, I was 1, 2, 3, 5 and 0. Audio is going in and out? Can you hear me now fast? How's that? I disconnected and reconnected my Bluetooth kit. I was just going over some of my Wednesdays, zero DTE trades in January. I did not have a losing trade for either AM or lunchtime iron condors in January. I was looking at the day of the week. Not to say I'm going to have no losing trades today. My results were for Wednesdays in January. We're getting our second bar, so looking for some big volume in the same direction. I don't know if we're getting some volume here. I don't know if we'll get there though. Looks like Bob is already there. Check toss. It's coming up to a pivot though, I don't like that. Bob is up 3.25%. Vicks really coming down. Bob's volume is a little different in thinkorswim, which is interesting. But definitely still got there. I'll see if Bob pulls back any. No real pullback in Bob yet. So far the S&P hasn't really gone anywhere. Bob is just pushing up. Yeah, just never really gave a entry. Yeah, I mean, I would have entered if it would have pulled back a little bit. Just didn't give any looking for some mighty 90s here now. Bob of maybe going back a little bit. Getting another big bar. All right, Bob, I would trade the 75 calls. Build at $1.55. And I would get out a half at $1.70. Build at $1.70. Close half my Boba. Nice push up there. I would close another Boba at $1.85. Build at $1.85. Close another, close a quarter of Boba. Nice push up. Just what a volume runner should do. Apple's kind of, looks like it might want to go higher. Close another Boba at $2. Yeah, sometimes, sometimes you miss, but sometimes missing allows to get a better fill too. I always tell people, I mean, if you don't get the fill, I got just, just adjusted and get in. You know, if you adjusted a few cents. Yeah, Apple looked like it wanted to go higher. Yes.  Yeah, I wouldn't adjust it 20 cents to get in. You know, if it was like a, a nickel, probably would have. I could have another Boba at $2. If I hadn't said that yet. Mighty 90s yet that I can see. Boba up four and a, four and a quarter percent. Nestle's staying strong. Microsoft staying weak. Boba pausing a little bit. I'm not surprised by that. I mean, and if you, if you never got in and it pulls back here a little bit more, I could always be a time to enter. A little bit of two way action here. We've got some Microsoft staying weak. Tesla pushing up. Netflix staying weak. Future is kind of choppy at the moment. I'm definitely interested to see what type of faded decay they have today and how choppy they are. You know, given that most people are waiting for Nvidia earnings. Seen a lot of chop from a lot of these stocks. Boba still coming down a little bit. I originally got in at a buck 55. The price is currently at a bucks 80 roughly. I'm glad I got into Boba because there's not much going on right now. Roku pushing through highs. Boba still pulling back. Probably be a good time to get in. Maybe if you didn't get in before, you could see if it comes down a little more towards this pivot. But it's come down about 10 cents since I last got filled. Tesla one of the stronger stocks on the board. Boba is the strongest that I have on my watch list. And I want to re-enter Boba here. That is the question. It's now come down to my 10% fill at a buck 70. Yeah, that's slow though. Setting up to maybe catch some more upside. It pulls back a little bit here. I might get in Tesla on a continuation runner. It's got to pull back a little bit though for me to enter. Okay, so Boba coming back down. It gets back down to a buck 55 I might consider re-entering. If it pushes through this pivot, I probably would bail on it. I definitely don't like seeing two pullbacks like this on a volume runner. Almost down to where I first entered. There's times left on this bar. Re-entered at a buck 59. Same 75 calls buck 59. So I would get out of half at a buck 75. A little mighty 90 in meta there. I'd like to see a little more volume pop than that. Tesla is pulling back. Tesla, I would trade the 195 calls. Built at 495. So playing a little upside continuation here early in Tesla with it being one of the stronger stocks on the board. It comes down to, is it yesterday's open, this orange, I might add to it. Future's still in chop mode. And I've got an order in at 545 to close half my Tesla in case it pops up. Need a bounce out of Boba. Need a bounce out of Boba. Microsoft trying to come back alive like Boba. Need to stay above that pivot though. So definitely seeing a little two-way action here. Tesla came up to yesterday's high and then got rejected. So I just noticed that. I don't really like that either. Boba's trying to come down below this pivot, which is not what I wanted to see. Hopefully it dips its toe below there and comes right back up. If not, I might cut it. And it really was a great volume runner to start. And it has just not done what it's supposed to do right now and needs to get back above that pivot. Last stocks pushing up. Built at 545 in Tesla. Close half. Oh yeah, nice push up there. Just trying to stay above that pivot. I'll close another Tesla at 6 bucks. Future is really popping up. Gaining some strength. It's too bad Boba's not going with him. Built at 6 bucks in Tesla. Nice push up there. Two Teslas left. Close another one at 650. Yeah, Tesla was a continuation runner. Correct.  Roblox got a big green bar. Roblox always gets big bars both directions. I've noticed sometimes it's hard to trade it anymore. And Boba coming back down. What are you doing? That is not what you're supposed to do here. Apple looks like it wants to rip higher. I guess Boeing had a little bit of a mighty 90 here. It's not very big volume though. What are you doing? Boeing? I'm not Boeing with Boba. Not cooperating. The big is really coming down. Man, I was like a nickel away from getting out of half my Boba after that ad. It just could have pushed up a little bit. Nice little bounce off that pivot. Just keep bouncing, buddy. You can do it. You can just rip as high as you want to go. That's coming back down. It's still above where I got in. Man, I don't like seeing it come down like this. Futures pushed up. Now pulling back again. And Boba coming right back down to that pivot again. It's got 45 seconds left. No good looking mighty 90s today. All right. So Boba needs to reverse here. I don't like they came back down to that pivot. Need a quick reversal on Boba. I'm going to cut it. Cutting Boba. Pulled it a buck 45. Close Boba. That was disappointing. Below that pivot. Tesla's holding on though. Yeah, Boba started off so good. I'll look at it. It's probably going to bounce right back up now. Man, Boba, you rat. Sometimes they do that. Sometimes they will get below a pivot or something and then just like, yeah, I don't like it down here. But, you know, once it I've also seen it many times. Once it comes through that pivot, I've seen it then fall real quickly. So you could really get you can really get caught in a bad trade. If you hang on to it there, and that's what it does. Well, I don't think I'm going to trade anymore of these strategies. So Tesla, if it comes down much more, I'll probably just cut it. I've only got a couple of contracts left. Otherwise, I'll see if it wants to push through highs. So I'm going to turn my focus to zero DTE. I'll probably give it a few more bars and see what S&P does. But right now it's kind of had this nice push up. So I don't want to enter if it's going to push up again. So if it wants to consolidate under this pivot, I'll probably end up getting in here in the next 10 or 15 minutes. So look for my entry in the live chat channel. I'll catch everybody during power hour. Have a good one. Peace.