‫About koans.
‫Is there anything bad on this?
‫Well, you saw you saw that go guys.
‫See how complex our clients get.
‫It's so complicated that clients becomes very complicated because they are aware of this sharding thing
‫and they need to know is like, oh, this is what is in this chart and this input is in this jar.
‫Well, you can use consistent hatcheting to hide that.
‫But still, the awareness of the shot has become really complicated.
‫As you start building a huge application, this becomes really nasty, becomes really nasty to have
‫a complex complexity into the client.
‫So the tests, which I think I'm going to make a video about to take from YouTube that allows you to
‫do sharding on the spot and it's hitting from me.
‫It's a back and shouting and the client just makes the way and does the sharding for you, which is
‫pretty cool tech.
‫Right.
‫So that's that's potentially going to talk about that.
‫Transactions across Shahd is a problem.
‫How do I do like to insource.
‫That happened to have two on the two tables.
‫Right.
‫And I want them to do a atomically that's almost impossible because way you're essentially doing two
‫two database transactions, two separate database atomic transactions.
‫It's almost impossible.
‫It's very hard to do.
‫So you can't do transactions very effectively with Sharding Ram.
‫Right.
‫I mean, if you do it on the same show, that's yes.
‫You can do that.
‫Rollbacks are very hard.
‫Let's just say, oh, I want to insert in this table and then I want to insert in detail.
‫But something bad happened.
‫Let's roll back everything.
‫Well, what does that mean?
‫You're going to rollback this transaction, also rollback the other transaction, despite it being one
‫logical transaction, complicating stuff.
‫Right.
‫Roll back some very hard schema changes.
‫Let's say I want to add another feel to my your RL table, I don't know, date or something.
‫I have to add it in all the Shah like I make a change in all the shards and you can just roll through
‫all this change slowly if you want to.
‫But it's a little bit dangerous if you miss adding one schema and one shard, but you add it to the
‫other shards.
‫Joynes I've no idea how to do joins code database.
‫Is that even possible.
‫Right.
‫It just becomes very hard to do.
‫Joynes right.
‫That's why you might use horizontal partition instead of sharding.
‫So your stuff that's one benefit are horizontal partitioning, not human resources.
‫Right.
‫So so you essentially have the two tables in the same database and then you can join them.
‫Right.
‫Instead of having the tables across multiple databases and how that sort of thing has to be something.
‫You know, Nicoya.
‫So if you're if you're querying for something, the key, the partition key, the shot in key in our
‫case was that you are elide.
‫That's what we know.
‫Right.
‫And that's based on that we know which database to hit.
‫But what what what if I want to query on some other field that I have no knowledge on?
‫So that is expensive because now you have no knowledge, you don't have the key.
‫So you forced to hit all the databases to know which key right where where this data reside as an example
‫would be like if you have a customer West and customer E on two shards and you searching by name, Aflac
‫name has nothing to do with short.
‫So you have to query both shards.