6 videos 📅 2025-01-27 09:00:00 Africa/Blantyre
28:16
2025-01-27 13:22:37
2:15:00
2025-01-27 15:12:42
2:08:39
2025-01-27 15:41:27
2:16:52
2025-01-27 20:41:38
3:55:27
2025-01-27 20:41:42
4:47:11
2025-01-28 08:47:09

Visit the Mongo DB for Administrators course recordings page

                WEBVTT

00:00:34.160 --> 00:00:39.200
I love you.

00:00:39.600 --> 00:00:40.160
I love you too.

00:00:42.120 --> 00:00:45.240
I got these ones.

00:00:49.160 --> 00:00:50.120
Bye.

00:03:47.540 --> 00:03:48.940
Oh

00:03:50.120 --> 00:03:50.460
Oh

00:04:57.840 --> 00:04:58.640
Oh

00:04:58.640 --> 00:05:00.600
Three five minutes also, I'll be with you guys

00:05:08.380 --> 00:05:09.180
Morning

00:05:13.480 --> 00:05:16.220
Morning, okay, cool. Yeah

00:05:21.000 --> 00:05:23.120
Any questions from yesterday I

00:05:25.240 --> 00:05:26.540
Presume none

00:05:27.400 --> 00:05:28.520
Okay

00:05:29.360 --> 00:05:32.080
So we will continue just one second

00:05:37.540 --> 00:05:38.660
Okay

00:05:51.180 --> 00:05:52.840
Can you guys see my screen

00:05:55.020 --> 00:06:00.700
Yes, okay cool now, let's continue today and talk about

00:06:01.640 --> 00:06:03.000
Divers right

00:06:03.000 --> 00:06:09.560
When when you're writing code right for those that were developers mainly or if we're developers

00:06:10.080 --> 00:06:13.720
You there is a way to be able to write

00:06:14.840 --> 00:06:15.480
Um

00:06:16.340 --> 00:06:19.020
Code that we can set data into

00:06:19.740 --> 00:06:23.940
The database remember there is the there is the one of writing a query part

00:06:23.940 --> 00:06:31.120
Right when you're in the database in itself and then when you're using programming languages different programming languages

00:06:31.120 --> 00:06:32.080
Yes

00:06:33.520 --> 00:06:35.100
Oh, yes, please

00:06:35.100 --> 00:06:36.840
Thank you

00:06:36.840 --> 00:06:42.260
Let me know when you're ready when it's when it starts recording. Yes, thank you

00:06:44.400 --> 00:06:44.960
Uh

00:06:47.220 --> 00:06:51.980
Okay, can you see my screen? Okay, so um

00:06:53.680 --> 00:06:59.220
So I was saying when when you are writing code in different languages your Java your Python, you know

00:06:59.220 --> 00:07:05.780
There is there is a communication that needs to happen between the database and the application in itself

00:07:05.780 --> 00:07:09.980
And what MongoDB uses is what you call drivers, right?

00:07:09.980 --> 00:07:16.060
So the interaction between the language in itself or the library module or

00:07:16.060 --> 00:07:23.480
The the language in itself and the database is mainly connected or interact the interaction happen using what you call a driver

00:07:23.480 --> 00:07:29.420
And what is the driver? It's a library or module that allows your application right to communicate with MongoDB

00:07:31.540 --> 00:07:34.900
Yes, oh, oh I was a mute sorry guys

00:07:37.580 --> 00:07:39.960
Sorry, I forgot that it's

00:07:39.980 --> 00:07:41.700
When you start recording when your side

00:07:43.060 --> 00:07:45.620
Goes on mute and whatnot, but anyway

00:07:46.760 --> 00:07:48.580
So I was saying that

00:07:49.920 --> 00:07:56.300
The communication between a language right specific programming language and MongoDB is

00:07:57.120 --> 00:08:01.060
Done using what you call a driver, right and what is the driver?

00:08:01.100 --> 00:08:07.220
It's merely a library or module that allows your application to be able to communicate with MongoDB, right?

00:08:08.340 --> 00:08:12.500
Mongo the driver obviously will handle the lower level details of

00:08:12.500 --> 00:08:17.900
Connecting to the database sending the queries receiving the responses and all that stuff, right and

00:08:19.140 --> 00:08:19.860
with

00:08:19.860 --> 00:08:27.900
Mongo it has official drivers for many languages, right your Java your Python your Perlin all that stuff and

00:08:29.640 --> 00:08:31.920
Key responsibilities of those

00:08:32.720 --> 00:08:39.640
Of those mongodrivers is first connection management it establishes the connection and manages those connections

00:08:39.640 --> 00:08:42.540
To the mongodb server, right?

00:08:42.880 --> 00:08:45.440
When you write a query when you send a query

00:08:45.440 --> 00:08:51.880
It handles that from the programming language is converted to whatever is mongodb

00:08:52.480 --> 00:08:57.600
Related side of it and also converting data between the database

00:08:58.680 --> 00:09:01.300
Databases bson and the language, right?

00:09:01.520 --> 00:09:08.260
So it still needs to give an output that is understood by the programming language that you're that you're using so that conversion

00:09:09.200 --> 00:09:15.900
From the programming language to bson and then from bson back to the programming languages, right?

00:09:16.080 --> 00:09:20.160
It also is able to handle errors, right in the exception

00:09:20.160 --> 00:09:27.260
So whenever there's an issue then it can be able to end the handle errors, right? And then it also has

00:09:28.220 --> 00:09:32.760
features like connection pooling connection pooling and

00:09:32.760 --> 00:09:40.220
Betching for efficient communication. So a connection pooling is where you open a number of connections to be able to have parallel

00:09:40.720 --> 00:09:42.980
connections and be able to sort of

00:09:45.040 --> 00:09:48.340
Process some tasks in parallel, right?

00:09:48.480 --> 00:09:56.020
So how do drivers and this and the show with the work with the shell or the mongodb, right?

00:09:56.020 --> 00:10:01.980
So firstly, there's the communication protocol right way what the drivers in the mongo shell

00:10:01.980 --> 00:10:04.800
communicate with the mongodb using

00:10:05.700 --> 00:10:07.900
Okay, what happened to my sharing now?

00:10:09.740 --> 00:10:12.680
Did someone take over the screen because the sharing just stopped

00:10:12.680 --> 00:10:16.200
Can you see my screen? No. Yes. Okay, cool

00:10:18.040 --> 00:10:19.480
so, um, I

00:10:19.480 --> 00:10:24.500
Was talking about drivers and show communication with mongodb. So what happens is

00:10:25.720 --> 00:10:33.200
You've got the drivers and the mongo shell right and of which they communicate with the mongodb using what you call a mongodb

00:10:33.200 --> 00:10:37.300
wire protocol, right which is a it's a binary protocol basically that

00:10:37.920 --> 00:10:41.100
Defines how the messages are structured and transmitted between

00:10:42.080 --> 00:10:43.880
the to the client

00:10:44.580 --> 00:10:51.400
Which is the driver or shell and the service right and then also there's the part where the that there's the data

00:10:51.400 --> 00:10:54.160
Exchanged in bson format, right

00:10:54.160 --> 00:10:56.720
it comes in as

00:10:56.720 --> 00:10:59.720
Whatever language it is. It's

00:10:59.720 --> 00:11:03.560
Binary encoded serialized into Jason like documents

00:11:03.560 --> 00:11:09.480
Which is bson goes into the safe bit into the mongodb server. It's processed and then taken back as

00:11:10.340 --> 00:11:15.520
Plain JSON for example, right and then there's a connection to the mongodb way

00:11:15.520 --> 00:11:21.120
The driver is responsible for that connection. So it establishes that connection between

00:11:21.400 --> 00:11:25.680
the client and the mongodb server, right it also

00:11:26.920 --> 00:11:30.600
Does the managing of the connection pools, right?

00:11:31.160 --> 00:11:34.960
And then you've got the shell which is the mongodb shell which is the mongos h

00:11:34.960 --> 00:11:39.080
Which then connects to the server using a similar connection string, you know

00:11:39.580 --> 00:11:46.600
And then the drivers in itself using the drivers API can be able to send commands to mongodb

00:11:47.300 --> 00:11:49.960
So in Python, for example

00:11:50.860 --> 00:11:51.460
DB

00:11:52.420 --> 00:11:55.760
DB dot collection dot find to query document

00:11:55.760 --> 00:12:02.160
So you can actually write your query like that the API of the driver can be able to actually send that to

00:12:03.180 --> 00:12:06.120
to the mongodb server and then

00:12:06.860 --> 00:12:13.380
In regards to the shell you type commands directly into the shell. So it's the same way that you be able to do

00:12:13.380 --> 00:12:14.940
So it differs with

00:12:14.940 --> 00:12:16.480
With programming languages

00:12:16.480 --> 00:12:21.600
So for example in Python you use DB dot collection dot find in Java

00:12:21.600 --> 00:12:26.460
You just use collection dot find but they both interpret to the shell

00:12:26.460 --> 00:12:33.480
To the shell part being DB dot collection dot find right and then at the at the other end

00:12:33.480 --> 00:12:36.600
It also receives the responses. So

00:12:36.600 --> 00:12:38.320
responses that come back

00:12:39.800 --> 00:12:40.440
MongoDB

00:12:40.440 --> 00:12:42.580
Uses bson format, right?

00:12:42.660 --> 00:12:49.760
so it sends back in bson format what the drivers do is they then take that bson format and then

00:12:50.320 --> 00:12:53.580
Convert it to the data structure for the programming language, right?

00:12:53.640 --> 00:13:00.240
For example, it could be a JSON or it could be a dictionary in Python or it could be an object, right?

00:13:01.400 --> 00:13:02.040
they

00:13:02.040 --> 00:13:03.820
able to

00:13:03.820 --> 00:13:10.440
Then convert the data right usually the most used I think the most easiest and used

00:13:11.740 --> 00:13:15.040
Response in most languages would be JSON, right?

00:13:15.380 --> 00:13:19.740
And then it also does error handling as we spoke about it if errors, okay

00:13:19.740 --> 00:13:24.300
Let's say there's a network issue or there's an error message back to the client

00:13:24.300 --> 00:13:29.100
it's able to actually could better be able to showcase that this is the error and

00:13:30.740 --> 00:13:33.400
You can then do some troubleshooting

00:13:33.980 --> 00:13:36.220
Now let's talk about the binary

00:13:36.220 --> 00:13:41.300
JSON right binary JSON, which is bson which is binary JSON is

00:13:42.520 --> 00:13:45.580
binary code of serialization of JSON like document

00:13:45.580 --> 00:13:52.660
So when you see it, it's like a JSON document JSON a document, right the structure in itself is like a JSON anyway, right?

00:13:54.660 --> 00:13:59.940
The bson part of it is designed to be more efficient for storage and network transmission, right?

00:13:59.940 --> 00:14:04.420
Which means that it's it's compressed. It's a bit smaller in terms of

00:14:05.640 --> 00:14:08.980
What you call this the size of it, right and then

00:14:09.740 --> 00:14:17.780
Bison also extends that by adding, you know, your additional data types your dates your binary data and all that stuff, right?

00:14:18.280 --> 00:14:22.800
And why did the MongoDB choose this specific one bson bson is more compact

00:14:22.800 --> 00:14:27.600
You know, it's way more compact and faster to pass than a JSON, right?

00:14:27.640 --> 00:14:29.920
Which means it's smaller and easier to process

00:14:29.940 --> 00:14:33.580
Quicker to process and then it's got rich data types

00:14:34.140 --> 00:14:34.920
your

00:14:34.920 --> 00:14:41.380
Date your binary data your object ID 32 and 64 bit integers, you know and decimals

00:14:42.000 --> 00:14:45.420
128 right and it's also compatible anyway with

00:14:46.680 --> 00:14:50.260
MongoDB because it stores data in bson format, right and

00:14:51.220 --> 00:14:56.380
It ensures that there is that seamless communication between the database and the applications

00:14:56.900 --> 00:15:02.760
Right and how does it how does bson work in MongoDB, right when you insert a

00:15:03.560 --> 00:15:09.740
Document for example, right the driver converts it from the language native format

00:15:09.740 --> 00:15:13.800
Which is obviously the Python or the Java into bson

00:15:13.800 --> 00:15:17.860
And then that's when it will be able to be processed, right?

00:15:18.020 --> 00:15:19.620
And then when you query the data

00:15:19.920 --> 00:15:26.980
MongoDB then returns the results in a bson and then the driver converts it back into the languages

00:15:27.640 --> 00:15:33.360
Native format, right and then we've got the MongoDB MongoDB wire protocol

00:15:33.960 --> 00:15:41.920
Which is a protocol that defines how the clients communicate to the MongoDB, right with the MongoDB server, right and

00:15:43.580 --> 00:15:48.600
It specifies the format of the message is send so including the query request

00:15:49.300 --> 00:15:52.940
Instead of data delete commands, what is it that you're going to be doing?

00:15:53.300 --> 00:15:59.800
What is it that you're getting back the results that you're getting back from the server, right? And it's a protocol

00:16:01.620 --> 00:16:05.620
That is designed to be lightweight and efficient, right?

00:16:05.680 --> 00:16:12.980
It's lightweight. It's efficient and it makes it suitable for high-performance application because it's lightweight and efficient

00:16:12.980 --> 00:16:15.080
It's very quick in its processing

00:16:15.080 --> 00:16:19.880
You know and some key features of that wire protocol obviously is the binary format way

00:16:22.220 --> 00:16:27.560
Messages are transmitted in binary and it is faster to pass and more compact, right?

00:16:29.720 --> 00:16:30.620
And then

00:16:30.620 --> 00:16:35.520
If the client sends a request which is a p and it gets it sends back

00:16:36.520 --> 00:16:41.620
A response right and then it's got this support for bson

00:16:41.620 --> 00:16:48.900
Where you can be able to have a bson format it then is able to actually assist in

00:16:49.680 --> 00:16:52.860
Connecting with the drive and all that stuff and then it also does

00:16:53.600 --> 00:17:00.780
Connection handling where it supports your connection pulling you keep alive to improve performance and all that stuff

00:17:02.960 --> 00:17:04.940
All right some key differences between

00:17:06.120 --> 00:17:07.820
bson and the wire protocol

00:17:07.820 --> 00:17:12.540
The purpose bson is for data format for storage and transmission

00:17:12.540 --> 00:17:19.460
And then the mongoDB is obvious if the wire protocol is for communication protocol between client and server and

00:17:20.560 --> 00:17:21.280
then

00:17:21.280 --> 00:17:23.420
bson is binary encoded

00:17:23.420 --> 00:17:27.920
JSON like documents and then the wire protocol is binary messages

00:17:29.400 --> 00:17:35.740
With the headers and payloads, right and then usage you used to represent documents in mongoDB

00:17:35.740 --> 00:17:40.520
And then the wire protocol is used to send and receive messages

00:17:42.480 --> 00:17:48.580
Between client and server and then some data types it bson supports

00:17:48.580 --> 00:17:55.500
Your date object id binary data and all that stuff and then the wire protocol

00:17:56.500 --> 00:18:00.460
Defines how operations and the responses are structured

00:18:01.740 --> 00:18:03.180
Any questions on that?

00:18:05.920 --> 00:18:07.240
No, no question

00:18:07.980 --> 00:18:09.680
All right, cool

00:18:10.600 --> 00:18:11.240
um

00:18:11.240 --> 00:18:15.380
Let's talk about some troubleshooting right your application connections

00:18:16.400 --> 00:18:17.040
um

00:18:17.040 --> 00:18:21.100
So sort of some things that you need to look at right?

00:18:21.400 --> 00:18:23.000
Let's say there's an incorrect

00:18:24.060 --> 00:18:26.560
The error is an incorrect

00:18:26.560 --> 00:18:30.540
Connection string, right? It might fail because of that, right?

00:18:30.540 --> 00:18:36.940
Your url might be missing some required parameters you need to check your typos or you could be using

00:18:38.120 --> 00:18:42.040
um incorrect credentials, right if there's a network issue then

00:18:42.040 --> 00:18:46.000
Uh, for example application might not be able to reach the mongoDB, right?

00:18:46.040 --> 00:18:52.220
You need to check things like your file any dns any ip any host name if there was any

00:18:53.040 --> 00:18:59.860
Error in regards to that and then authentication failures, right? It could be an incorrect username or password

00:18:59.860 --> 00:19:01.020
um

00:19:02.580 --> 00:19:03.240
um

00:19:03.240 --> 00:19:09.700
Or some missing or incorrect authentication, um database which is on the mongoDB side or

00:19:10.420 --> 00:19:14.060
User might not have the required permissions. For example, I remember yesterday

00:19:14.580 --> 00:19:18.560
There was a user when we had admin we couldn't create something

00:19:18.560 --> 00:19:22.180
Um after creating it so that could be another issue

00:19:22.180 --> 00:19:28.860
And then mongoDB server not running so the service in itself the server itself might not be running

00:19:28.860 --> 00:19:36.340
so, uh, you might want to check if it's down or it's properly configured to be able to accept connections and then

00:19:36.340 --> 00:19:42.800
There could be a drive or library issue. It's either it's incompatible or it's outdated

00:19:43.760 --> 00:19:45.260
um and um

00:19:46.500 --> 00:19:50.780
What you call this or there could be missing dependencies or incorrect driver configuration

00:19:50.780 --> 00:19:57.560
These are things that you need to be able to look at and then there also might be resource limitations where there is heavy load

00:19:57.560 --> 00:20:03.080
Or have reached its connection limit. It's things that you can also be able to look at and then

00:20:03.720 --> 00:20:09.560
TLS and SSL misconfiguration this one can be a very big one because it can bring your whole system down

00:20:09.560 --> 00:20:15.640
When you when you don't configure your certificates properly, you know, uh, it's it's a very very

00:20:16.300 --> 00:20:22.600
Big one anything that involves SSL if it's not configured properly then it can be a big issue

00:20:24.060 --> 00:20:31.260
Now let's talk about some scaling right? We want to scale some write and uh read and write

00:20:31.260 --> 00:20:33.280
uh scaling right and

00:20:33.280 --> 00:20:34.640
of which

00:20:34.640 --> 00:20:40.960
Scaling is obviously being is the ability for a system to be able to handle increased load, right?

00:20:41.240 --> 00:20:42.420
um and

00:20:42.420 --> 00:20:44.700
MongoDB has two main ones, right?

00:20:44.820 --> 00:20:51.800
There's the vertical one and the horizontal the vertical one is more or less increasing the capacity of a single server

00:20:51.800 --> 00:20:55.820
Right, so you're adding more cpu or ram or storage

00:20:55.820 --> 00:20:57.000
um

00:20:57.960 --> 00:21:02.520
And then some use cases obviously suitable for more small medium workloads

00:21:02.520 --> 00:21:05.860
Uh, the only limitation is hardware constraints, right?

00:21:05.860 --> 00:21:11.360
If you don't have enough hardware, then there's that limited constraint and then there's the horizontal scaling

00:21:11.360 --> 00:21:18.360
Which is the distributing the load across multiple servers, right in as much as yes the limitation is also

00:21:19.180 --> 00:21:25.420
Um the hardware that you have but also if you can convert that into virtual servers and all that stuff it could assist

00:21:25.420 --> 00:21:27.820
And this is usually ideal for

00:21:28.480 --> 00:21:34.500
Large scale applications right that have got a very high read and write demand, right?

00:21:34.960 --> 00:21:39.340
Um, and how does mongoDB achieve this when it's horizontal scaling?

00:21:39.360 --> 00:21:46.060
There's what you call sharding sharding is more or less splitting data across multiple servers, right to distribute the load and

00:21:46.780 --> 00:21:47.640
shards is

00:21:48.600 --> 00:21:51.800
Be putting them in small chunks, right?

00:21:52.240 --> 00:21:56.860
And then there's also replication where you maintain multiple copies of data

00:21:57.400 --> 00:21:59.380
To improve read

00:21:59.940 --> 00:22:01.580
Scalability and fault tolerance

00:22:02.520 --> 00:22:10.020
Right. Now, let's look at replication replication is where you've got data the same data across multiple servers

00:22:10.020 --> 00:22:14.980
Right and you ensure that there is that higher availability and fault tolerance

00:22:14.980 --> 00:22:22.460
And if the primary replica goes down a second replica can kick in and it wouldn't have any issue

00:22:22.460 --> 00:22:27.860
Because it's updated. It's got all well, we are saying theoretically

00:22:27.860 --> 00:22:30.700
We are saying that everything will be up to date, right?

00:22:30.840 --> 00:22:34.540
There is no technical issue that could be happening and all that stuff, right?

00:22:34.800 --> 00:22:41.860
And what is replication is is where there's a group of mongoDB instances that maintain the same data, right?

00:22:41.860 --> 00:22:44.820
There's the primary node which all handles your

00:22:45.540 --> 00:22:51.080
Read your all your write operations and replicate that across to the secondary nodes

00:22:51.080 --> 00:22:55.560
And then there's the secondary node which handles the read, right?

00:22:55.560 --> 00:23:02.020
It can handle the read operations and this is where your replicate replicated data is stored

00:23:02.020 --> 00:23:06.320
Right, and then you've got a lab bit away an arbiter. Sorry way

00:23:06.320 --> 00:23:12.540
This is an option optional one as you spoke the last time that it's a lightweight member that participates in election

00:23:12.540 --> 00:23:19.200
but doesn't store data its purpose is just to um be able to determine um

00:23:20.360 --> 00:23:26.400
Which one is the primary node today, you know, it's an option. It's an optional one. So

00:23:26.400 --> 00:23:30.400
Getting to how replication works. The first thing is there's the write operation

00:23:30.400 --> 00:23:34.020
So all write operations go to the primary node, right?

00:23:34.020 --> 00:23:39.940
It records the changes in its oplog operation log and then the secondary nodes

00:23:40.540 --> 00:23:46.620
Um asynchronously replicate the oplog and apply the changes to their own data

00:23:46.620 --> 00:23:53.140
Right, and then what then happens is when the read open read, um operations happen

00:23:53.740 --> 00:23:59.720
Reads are directed to the primary node, but you can also configure to say

00:23:59.720 --> 00:24:07.640
Um, let the read happen on a secondary node, for example any of the secondary nodes, right so that it improves

00:24:07.640 --> 00:24:08.780
um

00:24:08.780 --> 00:24:12.480
the operations you leave the right operations to just

00:24:12.480 --> 00:24:14.200
um the

00:24:14.200 --> 00:24:18.180
Primary node and you have the secondary node being the read ones

00:24:19.720 --> 00:24:23.980
Um, and then benefits of replication right high availability

00:24:24.700 --> 00:24:25.340
so

00:24:25.340 --> 00:24:32.780
Obviously when primary node fails it automatically switches to the next one, um by election process

00:24:32.780 --> 00:24:38.380
Um, which would obviously be one of the secondary ones and then it becomes the primary

00:24:38.380 --> 00:24:42.460
And then secondary nodes can handle read operations, right?

00:24:42.760 --> 00:24:49.960
So reducing the load on the primary and then data durability. There's that multiple copies of data

00:24:50.600 --> 00:24:58.240
That is ensured so even if you've one server fails you still have a copy of uh, what you call this

00:24:58.240 --> 00:24:59.080
um

00:24:59.080 --> 00:25:01.420
Of the data in another server

00:25:02.400 --> 00:25:03.080
right

00:25:03.980 --> 00:25:08.540
Let's go on to durability. Um durability way

00:25:08.540 --> 00:25:12.900
It ensures that once a write operation is acknowledged, right?

00:25:14.020 --> 00:25:16.800
The data is safely stored and won't be lost

00:25:17.480 --> 00:25:19.800
Right even in the case of a failure

00:25:19.960 --> 00:25:23.240
So how does mongo db do that? So

00:25:23.240 --> 00:25:25.700
There's what you call a write concern, right?

00:25:26.120 --> 00:25:31.340
The write concern specifies the level of acknowledgement required for a write operation, right?

00:25:31.640 --> 00:25:36.640
So for example, if it's one it's acknowledged by the primary node, which is the default

00:25:36.640 --> 00:25:40.340
There is majority which is acknowledged by majority of nodes

00:25:40.920 --> 00:25:42.520
in the replica set

00:25:43.620 --> 00:25:44.300
or

00:25:44.300 --> 00:25:45.240
Two

00:25:45.240 --> 00:25:48.240
Is got it says acknowledged by at least two nodes

00:25:48.240 --> 00:25:53.520
so at least two nodes to be able to confirm that they've written the same data

00:25:54.340 --> 00:25:54.960
and

00:25:55.580 --> 00:25:58.980
They've written the same data and then it will be like, okay

00:25:58.980 --> 00:26:07.020
This is fine now, right and higher write concern levels increase durability. So the more the higher you put it the more

00:26:07.940 --> 00:26:08.560
um

00:26:08.560 --> 00:26:12.960
uh, there's that durability but also be mindful of performance because

00:26:12.960 --> 00:26:18.120
If you've got a hundred servers that need to be written and you need acknowledgement from 50

00:26:18.120 --> 00:26:24.100
It might take time as compared if you just need acknowledgement from let's say five servers

00:26:24.100 --> 00:26:30.660
And then it's confirmed as good then, you know that at least to be quick, you know

00:26:31.200 --> 00:26:34.560
And then there's journaling journaling is where um

00:26:35.700 --> 00:26:40.920
Your mongo db uses a write ahead log, right to ensure

00:26:41.480 --> 00:26:46.700
Um data durability and then before applying any changes to the data file

00:26:46.700 --> 00:26:48.920
Mongo db writes them to a journal

00:26:48.920 --> 00:26:52.860
It's like just writing in a in a in a diary or something, right?

00:26:53.160 --> 00:26:56.340
And then in case of a class the journal can be used to recover data

00:26:57.000 --> 00:27:01.240
so you can be able to use that journal to be able to recover your data because you

00:27:01.760 --> 00:27:04.760
Just go into your journal and be able to um

00:27:05.480 --> 00:27:09.360
Recover that data. It's very very recommended to have journaling in place

00:27:09.360 --> 00:27:14.760
Uh, because that way if there's a situation you can be able to recover to the last

00:27:15.400 --> 00:27:20.560
Available data, right? And then there's replication. Um where um

00:27:21.720 --> 00:27:27.500
You replicate, uh, obviously data to the different nodes, but there are some trade-offs, right?

00:27:27.740 --> 00:27:32.840
Where there's performance versus durability high durability, which is more or less

00:27:32.840 --> 00:27:35.880
Let's say majority can slow down your write operation

00:27:35.880 --> 00:27:40.500
Right because there is increased number of acknowledgement that is required

00:27:40.500 --> 00:27:43.680
Right and so you need to be careful

00:27:43.680 --> 00:27:48.700
You need to have that trade-off and then the configuration wise you need to choose the right balance

00:27:48.700 --> 00:27:53.160
Based on your application requirements. So you need to have that sort of

00:27:54.360 --> 00:27:57.400
Um, you need to look at okay. What is it exactly that?

00:27:58.180 --> 00:28:04.220
Works for us. Should I just have small number should I have majority of acknowledgement and all that stuff?

00:28:05.080 --> 00:28:05.720
Right

00:28:06.300 --> 00:28:10.480
Then you can be able to combine scalability replication and durability, right?

00:28:10.540 --> 00:28:15.820
So you can have read scalability, for example using your secondary nodes to be able to

00:28:16.500 --> 00:28:20.300
For for your read right that way you distribute your read

00:28:20.300 --> 00:28:21.100
um

00:28:21.100 --> 00:28:26.800
Um to your secondary nodes and then you configure read preferences, right?

00:28:27.320 --> 00:28:28.480
uh to your

00:28:29.320 --> 00:28:29.960
um

00:28:29.960 --> 00:28:37.720
To direct configure read preferences to direct reads to secondary, right? So primary you're left with just the rights, right?

00:28:39.080 --> 00:28:42.400
Leave it don't use that as the read although it is by default

00:28:42.400 --> 00:28:49.020
But direct all the reads to go to the secondaries and then you can also be able to direct it to the nearest

00:28:49.020 --> 00:28:54.840
So you can direct it to the node the lowest network latency available. That's another way of

00:28:56.140 --> 00:28:56.700
um

00:28:56.700 --> 00:29:03.740
Doing read scalability and then write scalability use sharding to distribute your rights

00:29:04.580 --> 00:29:05.420
um

00:29:05.420 --> 00:29:12.120
Across multiple shards, right? And each shard can be a replica set combining horizontal scaling with replication

00:29:12.120 --> 00:29:17.420
So you can be able to combine both and then durability wise you can then use your

00:29:18.160 --> 00:29:21.100
right content in journaling so that you

00:29:21.100 --> 00:29:24.920
um ensure data is safely stored and then

00:29:24.920 --> 00:29:27.240
Replication also provides that additional layer

00:29:27.780 --> 00:29:33.560
Um of durability by maintaining multiple copies of data so you can actually incorporate all these

00:29:34.480 --> 00:29:35.240
um

00:29:35.240 --> 00:29:42.240
Uh, what's called all these uh three and be able to have quite uh, um

00:29:42.240 --> 00:29:42.780
optimized

00:29:42.780 --> 00:29:45.920
System some best practices to it

00:29:45.920 --> 00:29:50.540
Uh use replica sets always deploy mongo db with the replica set

00:29:50.540 --> 00:29:54.800
Right that way it helps in higher availability and for tolerance

00:29:54.920 --> 00:29:56.880
And then monitor performance

00:29:56.880 --> 00:30:02.640
Uh tools like mongo db atlas or mongo stat can help you to monitor your read write performances

00:30:02.640 --> 00:30:10.100
And also external tools that you can use your promethias your grafana and then optimize sharding choose a shard key

00:30:10.600 --> 00:30:15.240
That distributes data evenly across hot spots

00:30:15.240 --> 00:30:19.880
To and avoid sorry and avoid hotspots. So avoiding hotspots is

00:30:20.640 --> 00:30:24.900
Avoiding just one shard being the one that's fed the data, right?

00:30:24.900 --> 00:30:32.720
So you spread them evenly and then regularly test your replica sets fail over sit off one replica and see what happens

00:30:32.720 --> 00:30:34.020
You know

00:30:34.660 --> 00:30:38.340
And then balance durability choose the right the right concern

00:30:38.340 --> 00:30:43.640
And journaling settings based on your application needs questions before we go to the next one

00:30:43.640 --> 00:30:48.900
No question from my side. All right, Winnie. Are you there? Yes. I'm here. No questions from me. Thank you

00:30:49.460 --> 00:30:50.540
All right, cool

00:30:50.540 --> 00:30:53.760
Let's talk about master slave replication, right?

00:30:54.700 --> 00:30:58.400
It's now legacy. Um, so you find that there is probably some

00:30:59.720 --> 00:31:00.260
um

00:31:00.960 --> 00:31:02.720
What you call the some

00:31:03.480 --> 00:31:09.040
Um organization that still have the legacy mongo db. Uh, it's outdated but you're gonna speak about it

00:31:09.640 --> 00:31:11.640
it's more or less like um

00:31:11.640 --> 00:31:16.860
Um, then your normal replication is just that um, it's it's now legacy, right?

00:31:17.040 --> 00:31:22.040
So you've got your master and your slave your master node handling or write operations

00:31:22.040 --> 00:31:28.940
And it's the primary source of truth and you've got the slave node which replicates data from master

00:31:29.560 --> 00:31:33.080
And can be able to read um operations, right?

00:31:34.140 --> 00:31:39.660
Some characteristics of it one-way replication. So data flows only from the master to the slaves

00:31:40.200 --> 00:31:44.980
No automatic fail over if master fell over then you have to have a manual intervention

00:31:44.980 --> 00:31:49.160
to be able to promote a slave to a master and then

00:31:50.900 --> 00:31:52.140
Limited scalability

00:31:52.840 --> 00:31:57.180
Only the master can handle rights which can become a bottleneck, right?

00:31:58.280 --> 00:31:59.820
How does it work?

00:32:00.700 --> 00:32:05.580
Write operations all insert updates and deletes are sent to the master nodes and then the master

00:32:05.580 --> 00:32:09.900
records the changes in the oplog the operation log and then

00:32:10.620 --> 00:32:17.680
Slave nodes asynchronously pull the changes from the master's oplog right and apply them to their own data

00:32:18.240 --> 00:32:25.680
Right and then the read operations by default reads are directed to the master nodes, but also you can be able to

00:32:26.420 --> 00:32:27.880
uh configure slaves

00:32:27.880 --> 00:32:36.240
To handle read operations which improves read scalability. There is a very thin line between master slave

00:32:36.240 --> 00:32:43.440
Replication and the replica sets right and then so why master slave replication is depleted

00:32:43.440 --> 00:32:46.360
So there's there were some limitations to it, right?

00:32:47.040 --> 00:32:47.640
um

00:32:47.640 --> 00:32:51.800
In favor of replica sets, so no automatic failover, which is a very big one

00:32:52.320 --> 00:32:54.760
If there's an issue then you go have to

00:32:55.580 --> 00:32:56.180
promote

00:32:57.420 --> 00:33:01.320
The slave into master, but now we're talking about downtime at that time

00:33:01.880 --> 00:33:07.600
Uh loss of data at the time right limited for tolerance, right only one master exists

00:33:07.600 --> 00:33:12.460
So which is a single point of failure and then you've got no built-in election

00:33:12.460 --> 00:33:16.640
So for example the arbiter you can be able to use the arbiter to

00:33:16.640 --> 00:33:20.900
Do the election of a new primary right in the replica sets

00:33:20.900 --> 00:33:27.900
But with this and it doesn't have and then there is no support for modern features your arbiters your priority setting your right concern

00:33:27.900 --> 00:33:29.340
which then

00:33:31.100 --> 00:33:32.960
Makes it uh deprecated

00:33:33.580 --> 00:33:39.340
All right, but some best practices when you have that legacy system is monitor the master node

00:33:39.340 --> 00:33:43.720
It's the most important one you need to make sure that you're monitoring its health and performance

00:33:43.720 --> 00:33:46.960
Um, and then configure slave nodes for read scaling

00:33:47.500 --> 00:33:52.020
Right configure that your reading goals your read operations go to the slave

00:33:52.020 --> 00:33:57.320
So that you lessen the load on the master and then plan for manual failover

00:33:57.320 --> 00:33:58.980
You have a documented process

00:33:58.980 --> 00:34:06.120
You know for promoting slave to master in case of a failure and then backup data regularly using your mongo dam

00:34:06.120 --> 00:34:10.320
Your file system snapshots and all that stuff and then

00:34:10.320 --> 00:34:15.240
Upgrades to replica as soon as possible as when you can

00:34:15.240 --> 00:34:21.000
Right, you can be able to do that migration from master to master slave replication to replica sets

00:34:21.000 --> 00:34:25.500
and then replica sets obviously have the advantage of

00:34:25.500 --> 00:34:30.320
Automatic failover better for tolerance. There's some some modern features

00:34:30.320 --> 00:34:34.480
So how then do you do your migrating from master slave to replica sets?

00:34:34.480 --> 00:34:42.780
The very first thing is stop rights to the master, right? Uh temporarily stop your right operations to the master node

00:34:42.780 --> 00:34:48.700
Add slave nodes to the replica set. So you restart the master and slaves as part of a replica set

00:34:48.700 --> 00:34:54.320
and then initialize your replica sets, right you connect to the master node and run the

00:34:55.280 --> 00:34:56.020
uh replica set

00:34:56.020 --> 00:35:01.680
initiate command and then you add the slave nodes using the replica

00:35:02.920 --> 00:35:08.080
Replicaset dot ed or rs dot ed command and then simulate a failure of

00:35:08.760 --> 00:35:11.360
the primary node and ensure the secondary is

00:35:12.160 --> 00:35:19.080
Automatically promoted and then update your application configuration or connection strings, right?

00:35:19.160 --> 00:35:23.800
To be able to point at that replica set. Is anyone familiar with kubernetes?

00:35:24.260 --> 00:35:27.520
Uh, not much on my side, but yeah, it's something that i'm interested in

00:35:27.700 --> 00:35:34.900
Mm-hmm. It's yeah, it's a very interesting one because I know it's about micros. Uh, so it's credentialed microservices

00:35:36.200 --> 00:35:38.980
Basically, it's uh instead of using the traditional

00:35:39.760 --> 00:35:43.300
uh dedicated host or server they need to

00:35:43.300 --> 00:35:45.440
have uh

00:35:46.740 --> 00:35:48.260
Containers yes containers

00:35:49.280 --> 00:35:55.020
Uh and portion your your your microservices or your applications. Yeah, definitely

00:35:55.020 --> 00:35:57.060
It's a very good tool out advice

00:35:57.060 --> 00:36:01.940
Anyone to look into it companies to look into it because it helps a lot in terms of

00:36:02.600 --> 00:36:07.480
High availability scaling because there is that automated scaling that happened

00:36:08.260 --> 00:36:14.020
You you also break your system into into smaller chunks. So you have a situation where if

00:36:14.900 --> 00:36:20.660
If people can't log in it means it doesn't mean that somebody that's logged in already has issues

00:36:20.660 --> 00:36:22.960
It would just be the logging in that's the problem

00:36:22.960 --> 00:36:28.200
So you just need to fix that the rest will still be up and running, you know, as an example, which is very very good

00:36:28.200 --> 00:36:33.040
That's another that's another technology where replica sets are used. So in essence

00:36:33.040 --> 00:36:40.340
You would say your replica set in kubernetes. You want to have a minimum of four containers that are

00:36:40.880 --> 00:36:45.240
That represents log in log in right your authentication

00:36:45.760 --> 00:36:51.240
So you tell kubernetes that I want a minimum of four. I want a maximum of ten, right?

00:36:51.240 --> 00:36:58.520
So automatically when there is pressure on the logging in it increases the number of replicas, right according to

00:36:59.200 --> 00:37:03.380
um, obviously what you would have set in terms of usage, let's say

00:37:04.120 --> 00:37:04.800
um

00:37:04.800 --> 00:37:10.460
CPU usage for example average cpu usage when it gets to 70 then create another replica

00:37:10.460 --> 00:37:16.940
That's another technology that uses the replica sets in a in a way that replica sets should be used

00:37:17.880 --> 00:37:19.940
So it's worth looking at

00:37:19.940 --> 00:37:27.360
Um, so what is a replica set? Uh, obviously mongo db is a group of mongo db instances that maintain the same data

00:37:27.360 --> 00:37:32.560
Uh, it helps in terms of high availability where you've got the automatic failover

00:37:32.560 --> 00:37:38.520
Some data redundancy where you've got multiple copies of data across different servers

00:37:38.520 --> 00:37:45.260
And then uh read scalability, um the way you've got secondary nodes where that can handle

00:37:45.260 --> 00:37:49.400
um, uh what you call this that can handle read operations

00:37:49.940 --> 00:37:56.740
And then some key components of a replica set. You've got the primary node obviously handling all the right operations

00:37:56.740 --> 00:37:58.720
does the

00:37:58.720 --> 00:38:04.000
Does the recording of changes in the operation log and then replicates data to the secondary nodes?

00:38:04.520 --> 00:38:12.100
Then you've got the secondary nodes which replicate data from the primary can handle read operations if you configure that and then

00:38:12.860 --> 00:38:19.280
um, it can participate in elections to select a new primary if the current primary fails

00:38:19.280 --> 00:38:23.400
And then you've got an arbiter which does the election

00:38:24.240 --> 00:38:25.840
But it doesn't store data

00:38:25.840 --> 00:38:33.020
Um, and then you've got the oplog the oplog which is a kept collection that records all right operations

00:38:33.020 --> 00:38:39.200
So anything that's written is logged into that and then used by secondary nodes to replicate data

00:38:40.120 --> 00:38:43.040
All right, how do upper replicas work?

00:38:43.900 --> 00:38:45.140
replica sets work

00:38:45.140 --> 00:38:51.020
Um, firstly, all right operations go to the primary nodes the primary node record the changes into the oplog

00:38:51.020 --> 00:39:00.240
And then there's the data replication where asynchronously secondary nodes pull the changes from the primary's oplog and apply them to their own data

00:39:00.240 --> 00:39:01.340
and then

00:39:01.340 --> 00:39:08.700
This ensures all nodes in the replica set of the same data and then the read operations by default

00:39:08.700 --> 00:39:15.480
Read is directed to the primary node, but it you can then configure read preferences to be distributed

00:39:15.980 --> 00:39:21.960
Uh to the secondary nodes, right and then you've got automatic failover if a primary node falls

00:39:21.960 --> 00:39:24.680
Fails an automatic election

00:39:24.680 --> 00:39:29.600
process happens right and then a new primary for

00:39:29.600 --> 00:39:31.820
the secondary nodes then is

00:39:32.340 --> 00:39:34.040
then um

00:39:34.040 --> 00:39:35.820
promoted right and

00:39:35.820 --> 00:39:39.200
Factors that it's based on it could be priority

00:39:39.900 --> 00:39:46.540
It could be not held. It could be 14. So those are some of the ways that it can be able to do that. So

00:39:46.540 --> 00:39:48.400
a replica set configuration

00:39:48.400 --> 00:39:53.340
Um, for example your replica set should have members. So there's host

00:39:54.600 --> 00:39:55.200
uh

00:39:55.200 --> 00:40:01.780
Worst one which is mongo mongo one priority two mongo two is priority one

00:40:01.780 --> 00:40:07.620
And then mongo three is the arbiter right so it doesn't their mongo three doesn't store anything

00:40:07.620 --> 00:40:12.220
It just helps in terms of the voting process of making

00:40:12.840 --> 00:40:14.560
the what you call this

00:40:15.060 --> 00:40:20.240
Between one and two making it the primary in case there's a there's a situation, right?

00:40:20.820 --> 00:40:25.740
And I idea id is the name of the replica set and then you've got members

00:40:25.740 --> 00:40:32.060
Uh an array of nodes in the replica set and then priority in the likelihood of a node becoming

00:40:32.920 --> 00:40:33.480
uh

00:40:33.480 --> 00:40:39.760
Primarily the higher values goes to higher priority and obviously the arbiter only marks the node as an arbiter

00:40:39.760 --> 00:40:41.780
And that one does the voting

00:40:43.280 --> 00:40:49.000
Some best practices to replica sets, um use an odd number of nodes, right?

00:40:49.000 --> 00:40:51.380
Always the plain odd number of nodes three five

00:40:51.380 --> 00:40:59.260
Uh, so that you have proper elections, I don't and i've never got to understand this, um way of doing things off

00:40:59.260 --> 00:41:03.960
Uh, what you call this deploying odd numbers of nodes, right?

00:41:04.860 --> 00:41:10.220
But if you have an even number of nodes using arbiter to break ties, right?

00:41:10.620 --> 00:41:17.080
And then distribute nodes geographically deploy nodes in different data centers or regions to improve for tolerance

00:41:17.080 --> 00:41:19.780
but considering that also you need to

00:41:19.960 --> 00:41:23.720
Um look at the networking between um

00:41:25.340 --> 00:41:32.280
What you call this networking between those and then use priority settings to control which nodes can become primary

00:41:33.300 --> 00:41:34.140
um

00:41:34.140 --> 00:41:34.780
configure

00:41:34.780 --> 00:41:40.200
Read preferences so use read preferences to distribute read operations, right?

00:41:41.460 --> 00:41:45.880
Primarily obviously default but also use secondary all reads

00:41:46.420 --> 00:41:48.840
send all reads to the secondary or

00:41:48.840 --> 00:41:53.560
Send all reads to the nearest right, uh with the lowest network latency

00:41:53.560 --> 00:41:57.640
Then monitor replication lag. It's very very much important

00:41:57.640 --> 00:42:03.780
MongoDB atlas or rs status, which is replica set status to monitor replication lag

00:42:03.780 --> 00:42:09.400
And then ensure secondaries are keeping up with the primary to avoid stale reads

00:42:10.660 --> 00:42:16.680
Enable authentication when it comes to replication use key file authentication or

00:42:17.700 --> 00:42:21.900
509 certificates to secure communication between nodes, right?

00:42:22.820 --> 00:42:26.680
Um ensure only authorized nodes can be able to join the replica set, right?

00:42:27.460 --> 00:42:31.680
Test fail over regularly. It's very very much important simulate and not failure

00:42:31.680 --> 00:42:36.740
And then use your ris step down command to manually step down the primary for testing

00:42:37.380 --> 00:42:44.940
Use right concern as we spoke about it where one is acknowledged by the primary default majority acknowledged by majority of nodes

00:42:44.940 --> 00:42:48.700
And then two acknowledged by at least two nodes, right?

00:42:49.400 --> 00:42:50.880
Always back up your data

00:42:51.980 --> 00:42:56.860
Always make sure that you back up your data regularly and then upgrade to the latest version

00:42:56.860 --> 00:42:59.860
um as always to uh

00:42:59.860 --> 00:43:05.100
To take advantage of the latest features and bug fixes, right just a summary about it

00:43:05.780 --> 00:43:12.700
Um replica sets obviously provide high availability some fault tolerance data redundancy mongo db

00:43:12.700 --> 00:43:17.060
And then there is the consistency of the primary node secondary nodes and abita

00:43:17.060 --> 00:43:24.640
And then best practice is using odd number for nodes and distribute distributing nodes geographically

00:43:27.720 --> 00:43:34.140
Um configuring read preferences and testing failover regularly and then replica sets are critical

00:43:34.740 --> 00:43:38.040
component of mongo db architecture because then it helps

00:43:38.600 --> 00:43:43.460
In overall performance, um, and when you configure them you need to be

00:43:43.460 --> 00:43:51.640
You need to configure them and manage them carefully to be able to ensure optimal performance and read liability

00:43:55.200 --> 00:44:00.040
Now some right concern, right let's talk about some right concern any questions on replicas

00:44:01.360 --> 00:44:02.000
um

00:44:02.000 --> 00:44:03.820
no question

00:44:03.820 --> 00:44:06.080
maybe just uh

00:44:06.080 --> 00:44:08.400
Yeah, I think this might be a question so

00:44:09.820 --> 00:44:11.920
With databases the

00:44:12.640 --> 00:44:19.280
When you talk about replication and that concept of active active active

00:44:19.280 --> 00:44:21.580
standby active

00:44:21.580 --> 00:44:22.240
something

00:44:22.880 --> 00:44:29.600
So in this case, um, do they have such a setup where you can run active active active standby and so

00:44:30.900 --> 00:44:36.680
Um in this setup when it comes to replica sets, they are all active the functionality is um

00:44:37.480 --> 00:44:44.860
What differs so your primary done the writing so your inserts your update, right?

00:44:45.140 --> 00:44:48.740
and then your your your um

00:44:48.740 --> 00:44:54.520
Your replicas right your secondary nodes do the reading you can configure to do the reading

00:44:54.520 --> 00:44:58.220
So they are all active in essence the functionality is what's different

00:44:58.220 --> 00:45:00.680
So in this case you can have um

00:45:00.680 --> 00:45:06.220
You have five active servers the functionality is what differs right? There's that

00:45:06.940 --> 00:45:13.180
That that one where it's um, it's that situation. We've got a whole lot of replicas and one

00:45:13.820 --> 00:45:21.060
Uh primary and many secondary then you can have a situation where you've got active and um

00:45:21.060 --> 00:45:26.960
Inactive so you've got the active one which you're doing everything basically the read the write, right?

00:45:26.960 --> 00:45:32.220
And then you've got one secondary node probably that's just there for replication purposes

00:45:32.220 --> 00:45:35.880
You're not doing any read or any write on it, right?

00:45:36.140 --> 00:45:42.180
Then you have that active and non-active type of type of setup but with replicas, right?

00:45:42.360 --> 00:45:45.520
Normally with replicas, they are all active. The difference is

00:45:46.280 --> 00:45:52.560
Uh the functionality the primary nodes does the right and then you can configure this the other secondary nodes to

00:45:53.100 --> 00:45:55.320
Actually be the ones to do the read

00:45:56.100 --> 00:45:58.520
Okay, so but then the

00:45:58.520 --> 00:46:01.440
The the switch over is it seamless like

00:46:02.200 --> 00:46:08.380
It doesn't need manual intervention it when it comes to replicas. Yes, the switchover is automatic

00:46:08.960 --> 00:46:10.720
Okay, so it will promote

00:46:10.720 --> 00:46:15.020
What was the secondary to become the primary to become the primary? Yes

00:46:15.020 --> 00:46:21.160
So if it's got many right if you've got many secondary nodes, there's the election part

00:46:21.160 --> 00:46:24.860
There's the priority part, right? So it could be done. Um

00:46:25.320 --> 00:46:26.680
Uh what you call those?

00:46:27.440 --> 00:46:30.820
Through the election part where the arbiter does the election to say okay

00:46:30.820 --> 00:46:34.620
This one is closer to the primary and it's a health

00:46:34.620 --> 00:46:38.880
It's very healthy network latency is very good in terms of it and the application

00:46:38.880 --> 00:46:41.680
This is based on let's say geographical location

00:46:41.680 --> 00:46:48.020
So then it will elect that one or it will elect based on priority. Which one is the highest priority?

00:46:48.460 --> 00:46:52.620
You know if it's priority one, then we're going to elect priority one

00:46:52.620 --> 00:46:56.540
For example, but it's automatic the failover is automatic

00:46:57.540 --> 00:46:59.400
Oh, okay. Yeah

00:46:59.400 --> 00:47:00.340
Thanks

00:47:00.340 --> 00:47:04.060
No, okay some right concern. Um

00:47:04.060 --> 00:47:10.640
Uh where we sit we are sort of set it's a setting that determines how mongo db acknowledges your right operation

00:47:10.640 --> 00:47:13.240
So you insert your updates your deletes, right?

00:47:13.920 --> 00:47:17.660
Um, it specifies how many nodes must acknowledge the right

00:47:17.660 --> 00:47:19.080
it then

00:47:19.080 --> 00:47:22.060
Um specifies whether the right must be journaled

00:47:22.060 --> 00:47:28.540
Right written on the disk journal, which is very much recommended and then by configuring this right concern

00:47:28.540 --> 00:47:33.620
You ensure that the data is safely stored and replicated across nodes, right?

00:47:34.700 --> 00:47:40.480
Why is it important? There's durability you ensure that the data is not lost in case of a failure, right?

00:47:40.580 --> 00:47:45.920
You make sure that it's only written when it's acknowledged by other nodes, right?

00:47:46.020 --> 00:47:50.240
There's consistent so you're guaranteed that the data is replicated to the required number of nodes

00:47:50.240 --> 00:47:57.560
And then there's the performance trade-offs right way higher levels to the right concern increased durability, but may affect right performance

00:47:57.560 --> 00:48:00.300
So you need to be mindful of that sort

00:48:01.280 --> 00:48:05.680
The right level the right concern levels, right? There is the

00:48:05.680 --> 00:48:08.620
Zero unacknowledged. So just right

00:48:09.120 --> 00:48:14.100
You know, I don't um, uh, you don't need to acknowledge anything right?

00:48:14.480 --> 00:48:19.840
Um where these are in situations where it's just the right and forget scenarios, right?

00:48:20.240 --> 00:48:23.140
Performance is critical data loss is acceptable, right?

00:48:23.620 --> 00:48:28.660
I wouldn't know what situation where data loss is acceptable. Um, but

00:48:28.660 --> 00:48:33.440
Yeah, you can have that situation and then acknowledge one which means primer not just

00:48:34.260 --> 00:48:38.600
Needs to acknowledge right? So general your general purpose applications

00:48:39.360 --> 00:48:41.920
Uh, you can be able to do that. Um

00:48:42.600 --> 00:48:46.320
Uh, and then when you have majority now we are saying

00:48:46.540 --> 00:48:52.300
Majority of the servers right of the replica set if you've got 10 replicas

00:48:52.300 --> 00:49:00.140
Majority of them 60 to 70 percent 75 percent of them should acknowledge to have written the data, right?

00:49:00.920 --> 00:49:01.560
which

00:49:01.560 --> 00:49:03.280
Can cause

00:49:03.280 --> 00:49:10.140
Uh issues, right? Um in regards to uh all this. Uh, let me just pick up a call one second

00:49:10.140 --> 00:49:11.680
It's an important call

00:49:13.140 --> 00:49:14.300
Hello, hi

00:49:16.540 --> 00:49:20.140
Okay, i'm back so that's your majority and then

00:49:20.820 --> 00:49:25.360
Um, you've got a situation where you can write the specified number of nodes to acknowledge

00:49:25.360 --> 00:49:31.640
So in essence if you want four to acknowledge out of the 20 or you want five to acknowledge out of the 20

00:49:32.400 --> 00:49:32.940
um

00:49:32.940 --> 00:49:36.240
Then you can be able to give that and then

00:49:36.240 --> 00:49:41.300
You also need to have journal right being active being true. So

00:49:41.300 --> 00:49:44.640
Uh journal being true is the j true. Um

00:49:45.520 --> 00:49:51.400
This would be obviously right is acknowledged only after it is returned to the

00:49:51.400 --> 00:49:54.320
to the on-desk journal, right that way there's

00:49:55.600 --> 00:50:02.920
Surety that data durability it ensures that data durability even in the case of a server crash, right?

00:50:03.200 --> 00:50:04.280
and then

00:50:04.280 --> 00:50:10.980
Um, you've got your time out which in essence means that if there is a time out if the

00:50:10.980 --> 00:50:18.740
It gives us time limit to the right operation to complete right if the timeout is reached then the operation

00:50:19.360 --> 00:50:24.260
It returns an error. So it's your right time out, right? For example in this case

00:50:25.320 --> 00:50:25.960
um

00:50:25.960 --> 00:50:28.820
It's in set one right concern should be

00:50:29.480 --> 00:50:35.700
Uh should be acknowledged by two, but if there is a timeout of five thousand seconds then um milliseconds then

00:50:36.220 --> 00:50:38.580
seconds actually then um

00:50:39.500 --> 00:50:40.980
It should give an error

00:50:40.980 --> 00:50:45.300
So how does right concern work client sends right operation, right?

00:50:45.580 --> 00:50:50.660
Whether it's the application whether it's the user or whatever and then primary nodes process the right

00:50:50.660 --> 00:50:57.380
So which means the primary node applies the right to its data set and if j is specified it also writes

00:50:58.720 --> 00:50:59.280
um

00:50:59.280 --> 00:51:04.980
The the right is also written to the journal and then the primary nodes replicate the secondary

00:51:05.560 --> 00:51:06.600
Nodes, right?

00:51:07.080 --> 00:51:13.580
If then there are 10 that needs to acknowledge it then acknowledges that and then only after that

00:51:14.320 --> 00:51:18.600
Only after it gets that acknowledgement then the right is actually

00:51:19.460 --> 00:51:22.760
um what you call this the right is actually

00:51:22.760 --> 00:51:29.420
Acknowledged and then um sends a response to a client some best practices towards it

00:51:29.420 --> 00:51:38.220
Uh, choose the right right concern, right? Um one for general purpose application majority for high durability requirements or

00:51:38.820 --> 00:51:42.620
Zero for non-critical data that you don't really need to um keep

00:51:42.620 --> 00:51:48.820
You know, um enable journaling. It's very very much important set a reasonable time out

00:51:48.820 --> 00:51:54.560
And then monitor right performances. You need to monitor that and then test fail over scenarios

00:51:54.560 --> 00:51:59.100
And then use right concern with replica sets. It's very very much good

00:51:59.420 --> 00:52:01.500
um when you use the combination of two

00:52:03.200 --> 00:52:04.640
now, um

00:52:04.640 --> 00:52:05.600
some

00:52:05.600 --> 00:52:07.520
replication failures

00:52:08.340 --> 00:52:09.060
um

00:52:09.060 --> 00:52:16.700
What are these replication failures? So replication failures can okay when the secondary nodes are able to replicate from the primary node and

00:52:16.700 --> 00:52:19.040
Which could lead to data inconsistencies?

00:52:20.460 --> 00:52:25.320
Uh loss of high availability because now you can't automatically switch over

00:52:25.320 --> 00:52:26.360
And even

00:52:26.360 --> 00:52:33.960
If the primary fails, right the second that is not up to date to even take over right and then application may experience

00:52:34.680 --> 00:52:41.580
Errors or degraded performances, right and then some common causes of uh replication failures

00:52:41.580 --> 00:52:46.640
Could be network issue between the servers right the nodes in themselves, right?

00:52:46.820 --> 00:52:52.580
Uh, it could be high latency or some packet loss. Also could be hardware failures. It could be a disk failure

00:52:52.580 --> 00:52:54.320
You know, um

00:52:55.200 --> 00:53:00.000
Server crashes or power outages could be another issue and then configuration errors

00:53:00.660 --> 00:53:01.820
um

00:53:01.820 --> 00:53:03.580
incorrect replica

00:53:03.580 --> 00:53:12.320
uh set configuration and also um and also mismatched mongo db uh versions of um

00:53:13.940 --> 00:53:21.380
Mismatched mongo db versions or configurations and then some resource constraints could be insufficient cpu

00:53:21.380 --> 00:53:27.940
Memory or disk i or you know, um high high write a throughput causing, um,

00:53:28.960 --> 00:53:29.640
uh

00:53:29.640 --> 00:53:33.100
Replication lag and then some oplog issues, right?

00:53:33.160 --> 00:53:40.100
Let's say the oplog on the primary node is too small which can cause it to override old entries before

00:53:40.100 --> 00:53:44.340
Secondaries can replicate them and then some data corruption

00:53:44.340 --> 00:53:49.880
You know that's a corruption of the corruption of data files on the primary or secondary nodes

00:53:49.880 --> 00:53:52.180
Could be another issue

00:53:52.180 --> 00:53:55.480
some diagnosis to um to that

00:53:56.240 --> 00:54:03.300
Check replica status rs.Status is very much important. Look for the state of each node the primary the secondary

00:54:03.300 --> 00:54:04.920
uh recovering etc

00:54:04.920 --> 00:54:08.620
uh replication lag opt uptime

00:54:08.620 --> 00:54:14.480
Date and last heartbeat fields can be able to tell you that and then some error messages or warning

00:54:14.480 --> 00:54:22.400
And then monitor your replication lag also rs the print secondary replication info to be able to check replication lag

00:54:22.400 --> 00:54:28.720
Your high leg indicates that secondaries are failing behind the prime falling behind the primary. So you need to

00:54:29.440 --> 00:54:30.580
uh probably restart

00:54:30.580 --> 00:54:31.620
um

00:54:31.620 --> 00:54:32.640
um

00:54:32.640 --> 00:54:36.640
Your your your replica set so that it catches up or you need to

00:54:37.160 --> 00:54:40.800
Stop the application from writing until they catch up. It just depends what you do

00:54:40.800 --> 00:54:45.980
It's never advised to stop the application anyway, you know, and then check mongo db logs

00:54:45.980 --> 00:54:51.980
You need to examine your mongo d.log for any errors or warnings in relation to replication

00:54:52.640 --> 00:54:53.280
um

00:54:53.280 --> 00:54:59.260
These messages like your replication is too far behind or cannot replicate because oplog is full

00:54:59.260 --> 00:55:01.320
You need to be able to look for that

00:55:01.320 --> 00:55:06.080
Um, and then verify network connectivity, right? Um pin

00:55:10.140 --> 00:55:10.780
um

00:55:10.780 --> 00:55:11.600
between nodes

00:55:11.600 --> 00:55:14.460
Your files or your security groups allow

00:55:15.020 --> 00:55:18.800
traffic on mongo db make sure that they're open

00:55:18.800 --> 00:55:22.860
um, they are okay and then check disk and resource usage your

00:55:23.400 --> 00:55:29.500
Disk space usage your cpu your memory usage on all nodes and then also your tools like your

00:55:30.420 --> 00:55:33.660
mongo start mongo top can help you in terms of

00:55:35.040 --> 00:55:40.480
identifying resource, um

00:55:41.200 --> 00:55:49.020
Obviously when there's a network issue resolve some connectivity between the nodes, uh resolve any other issues if you need to make any changes

00:55:49.020 --> 00:55:53.720
Um adjust oplog size oplog size is is very important

00:55:53.720 --> 00:55:57.960
You need to be mindful of that after you increase that you restart the primary node

00:55:57.960 --> 00:56:04.900
And then re-sync affected secondaries and then um reconfigure replica set if you want

00:56:04.900 --> 00:56:07.520
Ensure that it's configured properly using the

00:56:07.720 --> 00:56:10.220
Uh rs.conf

00:56:10.220 --> 00:56:15.700
Uh to view the configuration update anything using the rs and reconfig if needed

00:56:15.700 --> 00:56:19.080
then upgrade your mongo db to the latest version but

00:56:19.780 --> 00:56:22.920
The stable version not just the latest version

00:56:22.920 --> 00:56:28.220
But the stable version and then monitor and optimize performance optimize your queries

00:56:28.220 --> 00:56:34.700
Use indexes to reduce write throughput scale up hardware resources if necessary

00:56:35.660 --> 00:56:39.280
Write some how to prevent replication failures

00:56:40.060 --> 00:56:43.160
Use odd number of nodes, right?

00:56:43.260 --> 00:56:46.300
Because then there's proper election and fault tolerance

00:56:46.860 --> 00:56:49.880
and then monitor, uh replication lag

00:56:49.880 --> 00:56:55.700
Regularly backup, uh your data test failovers regularly use right concern

00:56:56.700 --> 00:56:58.080
To ensure that

00:56:58.080 --> 00:56:59.580
data is replicated

00:56:59.580 --> 00:57:05.620
Uh to multiple nodes and then keep your mongo db updated

00:57:07.480 --> 00:57:10.400
Questions on replicas i'm so good

00:57:12.380 --> 00:57:15.580
Where is akona today and ito they are too quiet

00:57:17.040 --> 00:57:19.580
Oh, we are listening oh we are listening

00:57:21.480 --> 00:57:22.360
Okay

00:57:25.140 --> 00:57:26.020
Okay

00:57:26.020 --> 00:57:33.180
Now let's talk about sharding sharding is the mechanism of distributing data across multiple servers which are called shards, right?

00:57:33.900 --> 00:57:35.800
uh where you then achieve that, um

00:57:36.660 --> 00:57:42.200
Horizontal scaling right it automatically manages data distribution across shards

00:57:42.940 --> 00:57:49.040
Query routing to the appropriate shards and then balancing data evenly across shards

00:57:49.040 --> 00:57:51.580
Right. Why use sharding?

00:57:52.360 --> 00:57:57.960
It handles large data sets and high read write throughput, right?

00:57:59.100 --> 00:58:00.160
There's that scalability

00:58:00.680 --> 00:58:04.240
And then performance wise it distributes load across multiple servers

00:58:04.920 --> 00:58:08.840
And then it can store more data than a single server can handle

00:58:10.040 --> 00:58:15.480
Right, how do they work? So the key components of it is a shard so

00:58:15.670 --> 00:58:23.750
And each shard is a replica set or a standalone mongo db instance where it stores a subset of data, right?

00:58:25.450 --> 00:58:25.610
um

00:58:25.610 --> 00:58:32.910
For an example's purposes shard one stores data users a to m shard two then stores n to z, right?

00:58:33.610 --> 00:58:35.950
It's also got a config server where

00:58:35.950 --> 00:58:42.390
Metadata is stored about the cluster including the mapping of the data to the shards, right?

00:58:43.180 --> 00:58:46.100
Must be deployed as a replica set for higher availability

00:58:46.620 --> 00:58:49.180
And then it's also got what you call query routers

00:58:49.180 --> 00:58:55.740
Obviously that sort of interface that acts as an interface between the application and the shard cluster, right?

00:58:56.820 --> 00:59:01.660
Trout queries to the appropriate shard based on the shared key on the shard key

00:59:01.660 --> 00:59:08.460
And then what is a shard key a shard key is more or less a field or a set of fields used to distribute

00:59:09.820 --> 00:59:10.380
um

00:59:10.380 --> 00:59:13.060
Uh what you call this used to distribute

00:59:13.840 --> 00:59:14.440
um

00:59:14.440 --> 00:59:16.020
Data across shards, right?

00:59:16.300 --> 00:59:23.020
So if let's say your shard key is a user id which means mongo db access the user id value to determine which

00:59:23.540 --> 00:59:26.080
Shard should store the document, right?

00:59:26.560 --> 00:59:33.160
And then there's also that data distribution where it's a range based or hashed shedding. Um

00:59:33.160 --> 00:59:36.620
um strategy to distribute the data so when it's a range based

00:59:37.300 --> 00:59:44.800
Data is divided into ranges based on the shared key, right is is the example above the a to m and n to z

00:59:44.800 --> 00:59:51.860
and then um hashed shedding is data is distributed using a hash of the shared key, right?

00:59:52.360 --> 00:59:59.020
Then there's also the part of query routing where when a query is sent to the cluster, right?

00:59:59.140 --> 01:00:03.780
The mongo s router determines which shards contain the relevant data

01:00:03.780 --> 01:00:10.540
And then the query is routed to the appropriate shard, right and the results are combined and returned to the client

01:00:10.540 --> 01:00:12.240
and then

01:00:12.240 --> 01:00:16.180
Does what you call balancing there's what you call a balancer that

01:00:17.180 --> 01:00:19.600
Automatically balances data across

01:00:19.600 --> 01:00:20.860
um

01:00:20.860 --> 01:00:27.220
Across the shards and then this balancer moves chunks subsets of data between shards to ensure even distribution

01:00:27.900 --> 01:00:34.380
All right, how do you then set up a shard cluster, right first you set up the config server

01:00:34.380 --> 01:00:37.020
So you deploy a replica set for the config server

01:00:37.020 --> 01:00:43.800
For example there in blue. You've got sharding cluster role is the config server and then the replication

01:00:43.800 --> 01:00:47.060
uh replication set name is configure replica set

01:00:48.220 --> 01:00:55.600
config being the config server replica set and then you set up shards so you deploy replica sets for each shard and then

01:00:55.600 --> 01:01:01.320
An example is uh, you call cluster role is the shard server, right?

01:01:01.540 --> 01:01:04.900
And then replication you name it shard one replica set

01:01:04.900 --> 01:01:09.980
And then you can be able to add replicas to a replica set, right?

01:01:10.320 --> 01:01:13.820
Uh, so you start your query routers start mongo s instances

01:01:13.820 --> 01:01:20.800
And configure them to connect automatically for examples purposes mongo s configure db the config set

01:01:20.980 --> 01:01:28.260
Um configure replica set, uh config one and then config two and then config three as you go

01:01:28.260 --> 01:01:34.360
Which is more or less. This is you connecting your configuration replica and then you add shards

01:01:34.360 --> 01:01:36.420
To the cluster. All right, so

01:01:37.040 --> 01:01:40.980
Connect to mongo s instance and add shards to the cluster. For example

01:01:41.680 --> 01:01:43.700
add shards sh dot s shard

01:01:44.780 --> 01:01:46.500
Shard one replica set

01:01:46.500 --> 01:01:52.740
Uh shard one a shard one b shard one c and they connect using that port

01:01:52.740 --> 01:01:59.780
And then shard two replica sets shard two a shard two b. This is how you can be able to add those

01:02:00.800 --> 01:02:02.160
shards to

01:02:02.160 --> 01:02:07.380
the cluster, right and then enable sharding for a database where um

01:02:08.120 --> 01:02:14.840
You enable sharding my database to a specific database and then you can be able to shard the collection

01:02:14.840 --> 01:02:17.200
So you can also shard the collection, right?

01:02:17.740 --> 01:02:23.260
Where you've got shard collection and then my database dot my collection user id one

01:02:23.260 --> 01:02:25.800
And then some best practices for sharding

01:02:26.400 --> 01:02:29.080
You need to choose the right shard key. You need to

01:02:30.120 --> 01:02:35.160
um have a high cardinality many unique values type of key and then

01:02:35.680 --> 01:02:41.040
Distribute rights evenly across across shards and then also support your most common queens

01:02:41.040 --> 01:02:44.400
So your your key should be able to support your most common queens

01:02:44.400 --> 01:02:49.520
um, as I gave an example when you get into the bank the very first thing they ask you is your

01:02:50.200 --> 01:02:53.880
Your your id your id will be able to pull everything so things like that

01:02:53.880 --> 01:02:56.440
You can be able to have it as a shard key, right?

01:02:56.560 --> 01:03:01.360
And then monitor and balance the cluster if you use things like mongo db atlas or

01:03:02.060 --> 01:03:04.140
sh status right shard status

01:03:04.140 --> 01:03:11.120
You can then be able to monitor your cluster and then ensure the balancer is running and that is evenly distributed

01:03:12.080 --> 01:03:17.440
Use hard hashed sharding for even distribution, right and um

01:03:18.840 --> 01:03:23.820
Your shared key is low cardinality or is monotonically increasing

01:03:23.820 --> 01:03:25.300
so

01:03:25.300 --> 01:03:33.660
Use hashed sharding to distribute data more evenly and then avoid hotspots and the hotspots is an even distribution of rights

01:03:33.660 --> 01:03:38.240
And plan for growth plan that you are going to add more shards

01:03:38.240 --> 01:03:42.660
Um, or because there's going to be add there's going to be more data coming through

01:03:42.660 --> 01:03:49.940
You probably need to add more shards and then back up and secure your cluster and then test before production

01:03:51.120 --> 01:03:52.900
It's very much important

01:03:53.680 --> 01:03:59.200
How do you choose a shard key, right? It's a very critical component of it, right and

01:04:00.100 --> 01:04:05.740
Shard key as we said is a field or a set of fields in a document that mongo db uses

01:04:05.740 --> 01:04:13.900
To distribute data across shards, right? You could use user id and then when you select user id

01:04:13.900 --> 01:04:20.060
Then it's going to use the user id value to determine which shard should store the document. So if you've got

01:04:20.740 --> 01:04:21.920
10 shards

01:04:21.920 --> 01:04:27.260
And your user id is incremental then it will be able to determine where to place

01:04:27.840 --> 01:04:32.240
Um, which document some characteristics of a good shard is high cardinality

01:04:32.240 --> 01:04:34.940
So it should have unique values, right?

01:04:34.940 --> 01:04:42.460
Unique values to ensure that there's that even distribution an example being user id because um

01:04:43.100 --> 01:04:44.940
It has many unique values, right?

01:04:45.720 --> 01:04:51.620
Even distribution if the shard key should distribute rights and reads evenly across shards, right?

01:04:51.680 --> 01:04:58.040
It avoids keys that create hotspots and then query support so it's able to assist with queries

01:04:58.040 --> 01:05:04.760
Um, and then for example if most queries filter by region use region as part of the shared key

01:05:04.940 --> 01:05:06.980
Right the shard key

01:05:06.980 --> 01:05:13.360
Immutable, right? It cannot be changed after shutting a collection. So you can't change that after shutting a collection

01:05:13.360 --> 01:05:17.660
So you need to choose a field that will not change over time. That's very very

01:05:18.540 --> 01:05:23.340
Uh important to the system and then some type of shard keys. We've got single

01:05:24.240 --> 01:05:27.420
Field shard key, for example user id

01:05:28.540 --> 01:05:34.540
Right, uh simple and then this compound one which is region one and user id

01:05:34.540 --> 01:05:36.700
Where you provide like a compound

01:05:37.280 --> 01:05:40.620
Uh shard keys like a compound indexing and then there's the hashed

01:05:42.040 --> 01:05:44.720
Shard key where you hash. Um

01:05:44.720 --> 01:05:45.680
um

01:05:45.680 --> 01:05:47.740
What you call this you hash the

01:05:47.740 --> 01:05:49.020
the user id

01:05:49.020 --> 01:05:53.920
Right and then uh choose an example for a collection of user data

01:05:53.920 --> 01:05:58.940
You can use user id and then for a collection of orders you can then compound

01:06:00.580 --> 01:06:01.220
uh

01:06:01.220 --> 01:06:02.640
Shard key, right?

01:06:02.640 --> 01:06:11.740
Could be order date region. It could be user whatever right and then sharding and indexes play a very

01:06:11.740 --> 01:06:13.660
Uh critical role, right?

01:06:13.980 --> 01:06:18.780
In optimizing queries now shard key shard key index, right?

01:06:18.980 --> 01:06:25.280
So mongo db also requires an index on the shard key, right? You can actually index that if no index exists

01:06:26.220 --> 01:06:30.200
mongo db creates one automatically when you shard the collection

01:06:30.920 --> 01:06:32.340
So it's

01:06:32.340 --> 01:06:35.680
It's that type of scenario where it says I really need

01:06:35.680 --> 01:06:39.720
This shard key to be indexed if you don't index it i'll index it on my own

01:06:39.720 --> 01:06:44.680
and then if you're using compound shard key ensure the index matches the shard key so

01:06:46.080 --> 01:06:53.560
Like previously I did email and age right as indexes then I need to make sure that my

01:06:54.280 --> 01:06:54.780
um

01:06:54.780 --> 01:06:57.280
my shard key also, uh

01:06:57.280 --> 01:06:58.260
email and

01:06:58.820 --> 01:07:03.380
Age right it helps a lot and then it helps in terms of query performances

01:07:04.280 --> 01:07:07.720
Um queries that include the shard key are added to specific shards

01:07:07.720 --> 01:07:12.040
So which is very good for performance and queries that do not include

01:07:12.040 --> 01:07:16.280
The shard key are broadcast to all shards which can make it slower, right?

01:07:16.480 --> 01:07:20.760
The same way with index when data doesn't have an index or when you don't have an index

01:07:20.760 --> 01:07:24.020
It needs to go through a whole collection when it's got an index

01:07:24.020 --> 01:07:26.340
Then it just goes straight to the index and that's it

01:07:26.340 --> 01:07:33.920
All right, some best practices is create indexes on fields commonly used in queries the same way you use shards shards

01:07:33.920 --> 01:07:35.980
Use them use them

01:07:35.980 --> 01:07:43.780
Commonly the fields that are commonly used in queries and then or the data that's commonly requested or created and then

01:07:44.300 --> 01:07:48.920
Use covered queries queries that use only index fields to improve performance

01:07:49.880 --> 01:07:56.300
Then you've got sharding and replica set topologies, right? Um, they are often used together, right?

01:07:56.340 --> 01:07:58.900
Not often they are used together, right?

01:07:59.300 --> 01:08:04.060
There you've got scalability. You've got high availability. You've got improved performances, right?

01:08:04.280 --> 01:08:07.960
And you're going to also have shard as a replica set when I was showing

01:08:08.940 --> 01:08:09.460
the um

01:08:10.400 --> 01:08:18.340
The configuration here, right? They actually had a replica set. It's got shard as a replica set, right? Um, so

01:08:19.380 --> 01:08:23.600
Um each shard in a sharded cluster is typically a replica set

01:08:23.600 --> 01:08:28.340
And this obviously ensures high availability and full tolerance for each shard

01:08:28.340 --> 01:08:33.280
and then when you have a config server as a replica set, it means that your

01:08:34.520 --> 01:08:35.060
Um metadata

01:08:35.600 --> 01:08:38.560
Um is distributed and that way

01:08:39.460 --> 01:08:40.060
um

01:08:40.060 --> 01:08:45.940
Config server that store metadata about the shard server must be deployed as a replica set for high availability, right?

01:08:46.200 --> 01:08:47.960
Is you've got that high availability

01:08:47.960 --> 01:08:54.360
Where when one crashes the primary crashes then you've got the secondary and then um,

01:08:54.960 --> 01:09:01.180
Also have query routers where mongo instances are stateless and can be deployed on multiple servers

01:09:01.180 --> 01:09:03.400
um for scalability and

01:09:04.300 --> 01:09:09.080
Uh redundant that's your mongo s and then an example of a topologies

01:09:09.080 --> 01:09:14.440
Having shards which are three replica sets shard one shard two shard three and you've got config

01:09:15.000 --> 01:09:22.080
Servers which is one replica set which has got three nodes and then you've got query routers, which is three mongo s instances

01:09:22.080 --> 01:09:24.500
Right. That's an example

01:09:25.060 --> 01:09:27.480
Topology that you can be able to have in place

01:09:28.020 --> 01:09:30.340
Now, how do you minister?

01:09:30.860 --> 01:09:33.060
administer um

01:09:33.060 --> 01:09:38.860
Sharded clusters, right? Firstly you monitor using your mongo db atlas, right?

01:09:38.860 --> 01:09:46.520
Um, you monitor you balance you optimize performances and the monitoring part you can use your mongo db atlas

01:09:46.520 --> 01:09:54.000
Uh or mongo stat to monitor the cluster. The key matrices to look out for there is your replication leg

01:09:54.000 --> 01:09:58.520
Um, is it falling behind and then your shared by your shard balancing?

01:09:58.820 --> 01:10:02.280
Is it balancing it right and then your query performances, right?

01:10:02.600 --> 01:10:07.140
Are they are they slow are the pretty performance the pretty performance slow, right?

01:10:07.140 --> 01:10:10.540
You also need to balance your cluster, right?

01:10:10.960 --> 01:10:14.560
Um using a balancer so you can disable the balance for for a collection

01:10:14.560 --> 01:10:19.180
You can also be able to start a balance manually. So for example, they

01:10:19.180 --> 01:10:25.860
Disable balancing for my collection. So your database name is university and your collection is students. You can disable that

01:10:26.580 --> 01:10:32.680
um, you can also manually start or stop the balancer and then you can also be able to add

01:10:32.680 --> 01:10:34.900
Or remove shards. So for example

01:10:35.760 --> 01:10:40.060
The shard replica set, um is shard replica set one

01:10:40.060 --> 01:10:45.340
Um, that's the name of the replica set and then you want to add the host and port

01:10:45.340 --> 01:10:51.060
So you want to add the new host or you want to remove a host, right? So you can have that

01:10:52.400 --> 01:10:57.140
sh shard dot sh dot remove shard and then um

01:10:57.820 --> 01:11:04.240
The name of the replica set and then the host that you want to remove, right? It's also important to do

01:11:04.240 --> 01:11:09.400
Uh some baking up and restoring are very much important and then enable

01:11:10.480 --> 01:11:12.400
authentication and encryption

01:11:12.400 --> 01:11:19.300
Uh to secure your cluster use role-based access control and then upgrade your cluster

01:11:19.300 --> 01:11:20.700
It's very much important

01:11:20.700 --> 01:11:26.660
So but you need to follow the mongo db upgrade instructions to upgrade your shared cluster

01:11:26.660 --> 01:11:32.640
It's very very much important and then ensure all components your shards your config servers and mongos

01:11:32.640 --> 01:11:38.160
Upgraded in correct order based on what mongo db would be

01:11:38.940 --> 01:11:40.720
Um instructing you to do

01:11:43.720 --> 01:11:44.640
Questions

01:12:02.240 --> 01:12:08.480
Anyone else no silence means we are good. Okay. Now let's talk about um

01:12:10.620 --> 01:12:13.360
Shard chunk migration so shard chunk migration is

01:12:14.680 --> 01:12:19.900
Uh a key feature of mongo db, right and it ensures that there's that

01:12:20.620 --> 01:12:23.360
Ensures that data is evenly distributed across

01:12:23.880 --> 01:12:30.240
Shards, right? What is a chunk a chunk is a subset of data, right in the shard collection

01:12:30.240 --> 01:12:35.820
And what mongo db does is it divides data into chunks based on the shard key?

01:12:36.480 --> 01:12:40.640
And each chunk is assigned to a specific shard, right?

01:12:40.640 --> 01:12:41.340
Um

01:12:42.080 --> 01:12:46.180
Why does chunk migration happen right for balancing purposes?

01:12:46.200 --> 01:12:53.420
For example, right between shards it wants to have that even distribution or when there's that manual intervention

01:12:53.420 --> 01:12:55.920
Um where administrators can actually move

01:12:56.620 --> 01:13:01.780
Chunks for maintenance or optimization. That's another reason why chunks can be migrated

01:13:01.780 --> 01:13:08.980
And how do chunks chunk migration work? How does it work? Right? There is the balancer the balancer

01:13:08.980 --> 01:13:15.380
Monitors the distribution of chunk across. Um chunks across shards, right the shed

01:13:15.380 --> 01:13:16.620
for shard

01:13:16.620 --> 01:13:24.160
Has significantly more chunks than the other the balancer initiates the chunk migration to one that you've got. Um

01:13:24.160 --> 01:13:25.480
That it needs to level up

01:13:25.480 --> 01:13:31.400
And then the migration process behind it is the source shard copies the chunk to the destination shard

01:13:31.400 --> 01:13:38.620
The destination shard applies any changes that occurred during the migration and then the config server updates the metadata to

01:13:38.980 --> 01:13:41.220
Reflect the new location of the chunk

01:13:41.780 --> 01:13:47.960
Right and then upon completion once the migration is completed the chunk is removed from the source shard

01:13:47.960 --> 01:13:52.940
So it makes sure that everything is good and it's updated in the

01:13:52.940 --> 01:13:56.440
In the config server and then it removes from the source

01:13:56.440 --> 01:13:58.820
Some backup and restore plans

01:14:00.780 --> 01:14:01.440
Um

01:14:01.440 --> 01:14:03.540
backup and restore plans, um

01:14:04.100 --> 01:14:06.420
Some backup strategies that are available

01:14:06.420 --> 01:14:12.020
File-based backup so you can take snapshots of your mongo db data files, right?

01:14:12.220 --> 01:14:13.320
and then

01:14:13.320 --> 01:14:16.620
Um, this one is suitable for large data sets with minimal downtime

01:14:16.620 --> 01:14:20.340
So you can use things like other sync or whatever or you can use

01:14:21.420 --> 01:14:22.020
um

01:14:22.020 --> 01:14:27.860
Snapshot kvm snapshot if you're using kvm and then you can do logical backups where you can use mongo

01:14:28.760 --> 01:14:29.360
dump

01:14:30.200 --> 01:14:36.400
Where you can export data in bison to json format. This one is suitable for smaller data sets

01:14:36.420 --> 01:14:44.800
Or specific concerns collections and then you can also have cloud-based backup right your mongo db atlas or other cloud services

01:14:45.380 --> 01:14:46.740
for automated backups

01:14:47.900 --> 01:14:49.180
and then

01:14:49.180 --> 01:14:50.520
restore strategies

01:14:51.380 --> 01:14:56.260
You can restore data from a file system snapshot. You can do logical restores

01:14:56.920 --> 01:15:04.520
So if you do mongo db, you can then do mongo restore to import that data and then restore data from cloud backups

01:15:04.520 --> 01:15:09.480
That's another option that you can be able to use some so some files based

01:15:10.220 --> 01:15:17.160
file system based strategies, right some steps to it. So for example taking a snapshot of

01:15:18.160 --> 01:15:19.580
uh mongo db data files

01:15:19.580 --> 01:15:24.460
So first thing you need to do is stop the mongo db instance or lock the database, right?

01:15:24.960 --> 01:15:30.800
Take a snapshot of the data using tools like your lvm, uh, your aws eb snapshots, you know

01:15:30.800 --> 01:15:35.980
Or whatever you're using and then after it's done you unlock the database, right?

01:15:36.360 --> 01:15:41.560
And then some steps, uh for file system based restore stop the mongo db instance

01:15:41.560 --> 01:15:47.360
Replace the data files with the snapshot and then start the mongo db instance. Be mindful that

01:15:47.940 --> 01:15:50.480
you need to place your data files in the

01:15:51.400 --> 01:15:58.000
Um the path that is configured within your mongo db config file, right? It's very much important

01:15:58.640 --> 01:16:00.440
Some best practices to it

01:16:00.440 --> 01:16:06.360
Obviously test regularly to ensure that they can be restored and then use journaling to ensure that the data

01:16:06.360 --> 01:16:08.920
Is consistent during backups

01:16:09.440 --> 01:16:14.800
Then when you also use mongo db and mongo mongo dump and mongo restore, right?

01:16:15.020 --> 01:16:18.520
Mongo dump being uh, for example there you've got mongo dump

01:16:18.520 --> 01:16:22.480
Your host is your local host the port and then the out backup

01:16:22.480 --> 01:16:27.420
I think we did this this yesterday and then you can just be replace the mongo dump

01:16:27.420 --> 01:16:29.880
Uh command with the mongo restore

01:16:30.460 --> 01:16:35.300
Same everything else stays the same is just from mongo db you change it to mongo restore

01:16:35.300 --> 01:16:38.540
And then some best practices to it use the oplog with

01:16:39.260 --> 01:16:40.460
mongo db

01:16:40.460 --> 01:16:45.020
Um mongo dump. Sorry to capture ongoing changes during the backup

01:16:45.020 --> 01:16:51.580
And then compress the backups to save space so you can use the dash dash jzip

01:16:51.580 --> 01:16:54.620
Right when you're using the dash dash when you're using the oplog

01:16:54.760 --> 01:16:57.580
It's a matter of just adding dash dash oplog onto it

01:16:57.580 --> 01:16:58.880
onto the command

01:16:59.520 --> 01:17:02.440
You can also be able to use arsync, right?

01:17:03.720 --> 01:17:07.960
Um arsync where you make copies of data files to a backup location

01:17:07.960 --> 01:17:12.920
It could be to a remote location or to another folder. For example, you can be able to use

01:17:13.580 --> 01:17:15.440
arsync and then

01:17:15.440 --> 01:17:23.700
Um best practices is using arsync with delete to remove the files in the destination that no longer exists in the source

01:17:23.700 --> 01:17:25.340
right, so

01:17:25.340 --> 01:17:28.340
Updating wise use the dash dash delete which then tells

01:17:29.040 --> 01:17:33.780
arsync to be able to get to the destination and be able to check if it's not from

01:17:34.920 --> 01:17:40.400
Um from the source, it's not if it's not available in the source then make sure it is deleted in the

01:17:40.400 --> 01:17:45.220
Destination also right some there's also mongo import and mongo export

01:17:46.160 --> 01:17:50.360
mongo export is where you export data from a collection

01:17:50.360 --> 01:17:53.400
To a json or csv file, right?

01:17:53.820 --> 01:17:59.420
So for example there you've got your mongo export dash dash host localhost port

01:17:59.420 --> 01:18:04.000
You are doing my database you could you could be university in our case

01:18:04.000 --> 01:18:08.040
And then your collection is students and then you are putting it in

01:18:08.800 --> 01:18:09.420
um

01:18:09.420 --> 01:18:13.360
In a backup folder and you're making it my collection dot json

01:18:13.360 --> 01:18:20.260
And then when you then need to import it's a matter of making sure that you just change from mongo export

01:18:20.360 --> 01:18:22.920
to mongo import and then

01:18:23.520 --> 01:18:27.480
More or less the rest of the stuff is the same. It will just do

01:18:28.140 --> 01:18:29.180
the reversal

01:18:30.100 --> 01:18:31.140
Any questions?

01:18:31.800 --> 01:18:36.040
That's for good mind. Okay, cool. Um, we probably going to

01:18:36.800 --> 01:18:41.120
finish the theory part and then we go into

01:18:41.120 --> 01:18:44.440
our tea break and then from our tea break we come and then

01:18:45.300 --> 01:18:49.300
Uh do the practicals then it will take us through the rest of the day

01:18:49.300 --> 01:18:51.640
So some best practices, um

01:18:52.340 --> 01:18:54.340
for the for your

01:18:54.880 --> 01:18:56.100
Backup and restore

01:18:56.840 --> 01:19:04.400
Use dash dash type to specify the file format and then use dash dash fields to spot specific field to export specific fields

01:19:04.400 --> 01:19:06.660
And then some some some summary to that

01:19:07.640 --> 01:19:14.420
Shard and chunk migration it ensures that even distribution of data across shards. You can use the balancer or you can

01:19:15.360 --> 01:19:16.960
um manually move chunks

01:19:16.960 --> 01:19:24.560
Um backup and restore plans you can use the file-based strategies. You can use the mongo dump mongo restore you could use

01:19:24.560 --> 01:19:25.600
um

01:19:25.600 --> 01:19:29.600
What you got this cloud-based backup and then you've got your mongo db

01:19:30.200 --> 01:19:36.480
mongo dump or mongo restore obviously for export and import data and then file based

01:19:37.280 --> 01:19:38.840
file system based strategies

01:19:39.440 --> 01:19:43.420
Taking snapshots of your mongo db data files for light sets

01:19:43.420 --> 01:19:47.260
And then you've got arsync also where you can synchronize mongo db

01:19:48.160 --> 01:19:56.500
Um data files for backups and then you can also use the mongo import and export, right? Um

01:19:56.500 --> 01:19:58.380
Exporting it into or importing it

01:19:59.220 --> 01:20:05.080
Exporting or importing in json or csv format obviously for specific collections

01:20:05.080 --> 01:20:10.380
It just depends. What is it that you want to be able to do?

01:20:11.100 --> 01:20:14.160
Now that's the theory part about today

01:20:14.160 --> 01:20:19.340
um any questions in terms of today and yesterday the theory part

01:20:19.340 --> 01:20:22.540
Before then we go into

01:20:23.180 --> 01:20:30.100
Um the practical part of it. Okay. Silent says we are good. Um, it's 21 past

01:20:31.100 --> 01:20:34.820
We can take now and be back at quarter two

01:20:34.820 --> 01:20:41.900
Um from our tea break and then we'll continue from number six on the practical practical stuff

01:20:42.660 --> 01:20:44.820
All right. Thanks. Happy with that

01:20:45.880 --> 01:20:49.140
Awesome stuff. All right cool. I'm gonna you can go and eat

01:20:50.280 --> 01:20:51.580
He's already good

01:20:52.680 --> 01:20:53.820
Yeah, correct

01:21:33.080 --> 01:21:34.480
So

01:21:34.820 --> 01:21:35.940
So

01:22:38.000 --> 01:22:38.480
I

01:22:38.480 --> 01:22:43.700
So are you saying I'm not saying people will just come to see me and

01:22:44.580 --> 01:22:49.680
And people will just come to see me. Yeah, we will just meet up and whatever happens happens

01:22:49.680 --> 01:22:54.940
Did you get me from that? Yeah, but i'm gonna put it like this, right? Where's the camera?

01:22:55.020 --> 01:22:56.040
I want to look at the camera

01:22:56.580 --> 01:23:01.360
I actually just want to make it clear that a lot of people actually think

01:23:01.360 --> 01:23:08.120
This is like prostitution and this is like no, but it's actually knowing the radio so you smash the cash. Yes

01:23:10.220 --> 01:23:11.340
But wait

01:23:12.540 --> 01:23:15.280
I'm a bit confused. I'll tell you why it's like

01:23:16.320 --> 01:23:19.000
Baby, I don't know the textbook definition

01:23:49.180 --> 01:23:50.580
So

01:24:01.360 --> 01:24:05.320
If you go to this website it can create a step-by-step guide with screenshots

01:24:05.320 --> 01:24:11.260
You can open google sheet or excel click on start capture in the second row type in equal sequence

01:24:11.260 --> 01:24:14.940
So we need one thousand rows one column start at one step

01:24:15.520 --> 01:24:17.620
Then hit enter. There we go

01:24:17.620 --> 01:24:23.200
Then click on complete capture now you have step-by-step guide of how to make a lock here's gpt hack that will change

01:24:31.700 --> 01:24:35.760
I'm sure you'll record what happened back in 2011. I had the entire state security

01:24:40.040 --> 01:24:45.920
Because we're seen as as a threat to the national security simply because there was a file on our desk

01:24:46.620 --> 01:24:53.620
About a very senior politician and as a result they deployed all the state resources to counter that

01:24:54.140 --> 01:24:55.500
That's why I was sitting at home

01:24:56.460 --> 01:24:58.040
So that was not surprised

01:25:01.560 --> 01:25:07.300
I gel with the rock animals in the organization, which they irritated some politicians

01:25:07.920 --> 01:25:13.120
And then i'm happy to say today some of the rock animals are dealing with in the police are not in the service anymore

01:25:13.120 --> 01:25:15.640
Some of them senior people are sitting in prison

01:25:15.640 --> 01:25:18.500
That we're dealing with back then in 2011

01:25:19.120 --> 01:25:25.000
But when we're doing that we were handcuffed were the bad ones simple because we charged the wrong people

01:25:25.000 --> 01:25:28.100
So we do not surrender them. We're not going to surrender now

01:25:28.100 --> 01:25:28.860
So

01:25:43.300 --> 01:25:47.060
I'm not going to waste my bread and dealing with people that are faceless

01:25:47.060 --> 01:25:52.280
But for those that are within the system that are doing things around we're going to challenge them

01:25:52.900 --> 01:25:57.960
And deal with them, but if they want to come physical we'll find each other on the field. That's just about what it is

01:25:59.120 --> 01:26:05.560
Um, so we have another beautiful lady over here. Hi, what's your name? Hi, who are you i'm tasha cubes. Oh tasha cubes

01:26:05.560 --> 01:26:07.120
Nice to meet you

01:26:07.120 --> 01:26:09.140
um, so a couple of questions

01:26:09.660 --> 01:26:15.220
Um, so if we were to offer you a 10k eft or 500 e-wallet, what would you choose?

01:26:16.740 --> 01:26:18.740
What would you do with it

01:26:28.480 --> 01:26:29.840
Solo date guys

01:26:33.840 --> 01:26:41.520
Um, so we have another beautiful lady over here. Hi, I need your guys's help

01:27:06.680 --> 01:27:09.460
Did you know if you go to this website

01:27:10.060 --> 01:27:15.300
Try problems to separate your business dealings with your personal affairs

01:27:16.000 --> 01:27:20.440
If you're running a business or an emerging entrepreneur doing a startup

01:27:21.220 --> 01:27:24.000
Ensure that you separate your business matters to

01:27:24.560 --> 01:27:28.340
Our business matters don't mix up the expenses don't pay

01:27:29.120 --> 01:27:29.220
using

01:27:30.000 --> 01:27:32.120
the business money

01:27:32.120 --> 01:27:37.220
Make sure it's distinguishable between yourself and the legal entity which is your business

01:27:37.220 --> 01:27:43.440
We find this to be a problem amongst most of our clients that are having startups or they are running

01:27:44.680 --> 01:27:45.880
sole proprietorship

01:27:47.280 --> 01:27:52.640
Businesses where they are the sole trader and so forth and some of them we find them paying medical aid

01:27:53.520 --> 01:27:59.480
Using the company and they're paying for their parents and so forth which are not employees of the company

01:27:59.480 --> 01:28:02.300
and it becomes difficult then to

01:28:03.240 --> 01:28:04.960
comply with that

01:28:04.960 --> 01:28:08.060
a lot of them we find them to be non-compliant and

01:28:08.880 --> 01:28:11.500
We have to do vdps and then try to

01:28:12.360 --> 01:28:14.920
Help them with their compliance. So it's just an edge

01:28:14.920 --> 01:28:21.440
To most of to most taxpayers just to to keep that distinction clear guys

01:28:21.440 --> 01:28:22.020
It's

01:28:22.820 --> 01:28:23.460
2025

01:28:24.240 --> 01:28:29.220
We can't keep having the same conversation about video call etiquette

01:28:30.760 --> 01:28:39.120
You can't open your whatsapp or open your facetime app and type someone's name that you're not used to in that way

01:28:39.120 --> 01:28:44.800
That you don't have that relationship with maybe when that person talk like once or twice a month

01:28:45.360 --> 01:28:51.400
You type their name and you paste that little video button and call them without even giving them a heads up

01:28:51.440 --> 01:28:56.060
Something that's simple. That's just before you're gonna call to say are you free? Can you take a call?

01:28:56.660 --> 01:29:01.860
Can I video call you let me know when you can take a video call. Let me know you can take a call simple

01:29:02.360 --> 01:29:07.600
I look at my phone chain. I stay like my phone. I just stay at my phone like this because

01:29:08.660 --> 01:29:12.480
Why are you just with some of the funny moments he initiated in house?

01:29:14.580 --> 01:29:14.600
Is

01:29:15.580 --> 01:29:24.280
One of the politicians that is a popularity appeal across political spectrum his personality and him the title

01:29:28.920 --> 01:29:30.680
Just imagine how good

01:29:39.400 --> 01:29:41.760
You guys have a dated scammers

01:29:41.760 --> 01:29:43.760
Like because you're not like scammers like

01:29:45.320 --> 01:29:47.620
Hey guys, charlotte here with me and my family

01:29:47.620 --> 01:29:52.560
So my best friend kind of picked me up so she could drop me off at my brother's place because that's where my parents were meeting us

01:29:52.560 --> 01:29:56.020
Also, his suitcase was very close and then he's come with a new suitcase for him

01:29:56.020 --> 01:29:59.580
And I basically went into one car so I had to take two cars and no one doesn't trust my driving

01:29:59.580 --> 01:30:04.180
So I drove my dad and my brother drove his car and got to get boards and we had the support to help us

01:30:04.180 --> 01:30:06.000
And he was actually so rude he had to shout at us

01:30:06.000 --> 01:30:10.580
But anyways, we had to take the standard picture and then we got to the lounge and the food was a bit

01:30:10.580 --> 01:30:13.640
But I was happy and my precious little tequila

01:30:13.640 --> 01:30:18.880
Then we finally got onto the plane ready for our 11 and a half hour flight and there was so much to choose from

01:30:18.880 --> 01:30:24.700
I was just so overwhelmed, but I just ended up watching it ends with us and then had some dinner and this cocktail

01:30:25.900 --> 01:30:30.540
And then we landed in london and had to go find our connecting

01:30:30.540 --> 01:30:37.140
Flight and we had another eight hour flight ahead of us, but we were so excited and I was waiting for my son's flight

01:30:37.140 --> 01:30:43.640
So I watched harry potter had this cocktail. I had this charcuterie plate and it was too good and then guys my brain fell

01:30:43.640 --> 01:30:45.900
And I was just like so sad

01:30:45.900 --> 01:30:53.280
I watched french issue and had some bubbles and after playing for almost 20 hours, we finally made it and can you remember me?

01:31:01.000 --> 01:31:01.660
Hey guys

01:31:07.140 --> 01:31:07.520
Anyone

01:31:16.440 --> 01:31:18.600
So this is video number two number one

01:31:37.140 --> 01:31:37.540
Me

01:32:00.020 --> 01:32:05.740
I'm seeing a lot of people using cursor wrong anywhere like I cheated. Okay

01:32:05.740 --> 01:32:08.220
Because I've already forgiven cheating seven times

01:32:11.080 --> 01:32:34.200
Okay, are we back

01:32:36.280 --> 01:32:37.020
Oh

01:32:39.100 --> 01:32:44.160
Okay, cool, I just need to log into my machine quickly

01:33:05.740 --> 01:33:05.880
Um

01:33:32.640 --> 01:33:34.280
You guys see my screen

01:33:37.520 --> 01:33:37.900
Um

01:33:39.660 --> 01:33:41.240
Okay, cool. So

01:33:41.240 --> 01:33:46.540
Yesterday we did up until number five and then we did exercise day one

01:33:47.260 --> 01:33:49.820
so we can

01:33:50.920 --> 01:33:53.020
Uh, let's see

01:33:55.020 --> 01:34:02.180
Uh, what languages do you guys um understand best programming language?

01:34:13.080 --> 01:34:13.960
Um

01:34:14.940 --> 01:34:21.900
So this one has got some python, um, it's got some java

01:34:22.700 --> 01:34:24.860
Uh, it's also got some ruby

01:34:26.060 --> 01:34:28.580
Uh some php some pearl

01:34:28.580 --> 01:34:32.040
So it's just examples of how drivers work

01:34:32.680 --> 01:34:37.080
Um, and then also some debugging steps that might this might just be

01:34:37.860 --> 01:34:43.540
Some reading that you may need to do but number seven. Um

01:34:43.540 --> 01:34:45.960
Probably need to do that one

01:34:50.540 --> 01:34:54.540
Probably need to do that one because you're going to start three config servers

01:34:55.080 --> 01:35:00.040
And then you initialize the config replica set and then you create some shards

01:35:00.040 --> 01:35:04.400
And the difference with the shards when it's localhost is basically

01:35:04.400 --> 01:35:07.080
The folder that's going to be created on

01:35:07.820 --> 01:35:13.240
the server so you see shard one, uh, and then shard two and then

01:35:14.000 --> 01:35:19.700
Um initialize the replica sets based on port, which is obviously this port

01:35:20.280 --> 01:35:23.800
And then you can start the query. So number six

01:35:23.800 --> 01:35:27.800
Um, you can do it. It's just a simple one to showcase

01:35:28.360 --> 01:35:34.420
Uh the connecting but um number seven you need to do it because then it shows sharding

01:35:34.420 --> 01:35:39.400
And then um this one number eight, we also need to do it

01:35:40.240 --> 01:35:44.820
Um, you enable right scalability and all that stuff

01:35:44.820 --> 01:35:48.920
Um, you can be able to use the if you're clever enough

01:35:48.920 --> 01:35:52.320
You can use the shards from the other one or you can recreate

01:35:52.960 --> 01:35:58.840
New shards right that you can be able to um create here and then create a mask

01:35:58.840 --> 01:36:02.120
This is a master slave replication type of setup

01:36:02.900 --> 01:36:07.520
Um, and then you can be able to use your right concerns and all that stuff

01:36:10.080 --> 01:36:12.560
And then number nine is backup and restore

01:36:13.240 --> 01:36:18.000
And nothing much to it, but you set up your shard cluster

01:36:18.720 --> 01:36:20.700
You simulate chunk migration

01:36:21.280 --> 01:36:27.900
And then the chunk distribution you check your chunk distribution or you manually move the chunk distribution

01:36:27.900 --> 01:36:34.600
Uh, and then you do your backup and restore so you lock it first you do your other sync

01:36:34.600 --> 01:36:37.320
and then you um

01:36:37.320 --> 01:36:39.640
Unlock the database and then

01:36:39.640 --> 01:36:44.560
Yeah, it's more or less doing that. So six seven eight nine. Let's do them

01:36:44.560 --> 01:36:54.080
Number sorry seven eight nine. Let's do them six is optional and then after that we do exercise day one day two, sorry

01:36:54.080 --> 01:36:57.840
Clear on that so first before we all

01:36:58.820 --> 01:37:01.100
Going to ask in different sessions

01:37:01.100 --> 01:37:05.880
Uh, we are doing seven eight nine and within seven eight nine

01:37:05.880 --> 01:37:07.540
Are there any?

01:37:07.760 --> 01:37:09.940
Subsections that we must jump

01:37:09.940 --> 01:37:10.100
Uh

01:37:11.060 --> 01:37:15.300
Maybe either due to information not being available

01:37:16.800 --> 01:37:23.860
Most so so seven eight and nine most of them, uh, I don't think there's anything that you need to jump

01:37:23.860 --> 01:37:25.260
uh, so

01:37:25.260 --> 01:37:26.680
When you monitor your shared

01:37:27.300 --> 01:37:30.100
um just going through this but um

01:37:31.060 --> 01:37:33.260
Seven there's nothing that you need to skip

01:37:33.260 --> 01:37:35.740
uh, and then

01:37:36.400 --> 01:37:37.060
uh

01:37:38.020 --> 01:37:41.780
This one you read right, okay you distribute that

01:37:43.320 --> 01:37:43.920
um

01:37:45.720 --> 01:37:54.820
Let's see, let's see, let's see master slave replication using uh, right content for durability. Okay replicas

01:37:56.300 --> 01:37:56.900
uh

01:37:56.900 --> 01:37:59.760
Resolve replica failures. Okay, that's fine

01:38:00.580 --> 01:38:06.620
This one is straightforward. So you shouldn't have any issues. So seven eight and nine you should be able to do all of them

01:38:14.520 --> 01:38:15.280
Okay

01:38:15.280 --> 01:38:20.420
Okay, cool. Thanks. Yeah, I don't think there's anything that you need to miss out

01:38:23.980 --> 01:38:24.740
um

01:38:24.740 --> 01:38:30.020
Yeah, seven is good, uh, read write create a database

01:38:32.560 --> 01:38:33.320
Uh

01:38:36.320 --> 01:38:39.160
Read write distribute the reads, okay

01:38:40.240 --> 01:38:43.220
Uh replication you create your replicas

01:38:43.220 --> 01:38:46.740
You verify your replicas check the documents

01:38:47.560 --> 01:38:50.600
Uh set up master slave replication

01:38:51.320 --> 01:38:54.840
Okay, that's fine. And this is both on um

01:38:56.300 --> 01:39:03.180
On localhost because then it's just the difference within the ports and then it's a data into master

01:39:03.320 --> 01:39:08.000
Um verify replication. Okay, cool

01:39:08.000 --> 01:39:10.380
Then use right concern

01:39:10.380 --> 01:39:12.680
Okay, do you know d?

01:39:14.680 --> 01:39:18.040
Verify that handling. Yeah, so it should be good to go

01:39:20.600 --> 01:39:24.040
So the command are we are we are we

01:39:24.040 --> 01:39:25.440
Starting from six

01:39:25.440 --> 01:39:30.520
Uh, you can six six it depends with your language that you understand

01:39:31.240 --> 01:39:35.340
If that makes sense, yeah, because there is the part where

01:39:35.340 --> 01:39:37.620
It's in python if you understand python

01:39:37.620 --> 01:39:42.680
Then you can do this one because then it's going to connect to the db and query some stuff

01:39:42.680 --> 01:39:45.960
You can also change the queries. There's the java one

01:39:45.960 --> 01:39:52.100
Uh that you can also be able to query the data. There's the ruby one. There's the php one

01:39:52.100 --> 01:39:57.380
So it depends which one you you which language you understand which programming language you understand

01:39:57.380 --> 01:40:03.400
If you don't understand any this thing you can skip it but it sort of tells you how um

01:40:03.400 --> 01:40:04.720
What do you call this?

01:40:05.260 --> 01:40:12.340
Um, how all of this works in terms of querying of data using a programming language or how the drivers work?

01:40:13.280 --> 01:40:14.600
Okay. Yeah

01:40:55.520 --> 01:40:56.920
So

01:41:20.400 --> 01:41:24.100
Uh, who is who's speaking it's lucky

01:41:24.660 --> 01:41:29.140
Okay, just one second i'll go to your machine, okay what issue

01:41:30.760 --> 01:41:36.020
Command insert requires that. Um

01:41:39.180 --> 01:41:39.900
Let's see

01:41:40.660 --> 01:41:42.640
Let's do this

01:41:44.820 --> 01:41:48.580
Let's just switch it off so that it doesn't give you any issues

01:41:48.580 --> 01:41:55.700
But normally what you need to do is run, you know that bongo sh minus user and what what

01:41:55.700 --> 01:41:58.580
That's what you need to run it with

01:41:59.660 --> 01:42:08.260
Yeah, yeah, yeah, yeah, but for now let's let's just make life easy and just switch this off

01:42:08.260 --> 01:42:12.840
Switch the authentication off so when it when it asks you for authentication, it means

01:42:13.380 --> 01:42:16.260
you need to log off the database and then

01:42:17.660 --> 01:42:19.100
Authenticate using

01:42:20.600 --> 01:42:23.560
What do you call this

01:42:25.900 --> 01:42:28.660
Um authenticate using um

01:42:32.040 --> 01:42:37.080
Using that username and password that you created now so now you can you can continue

01:42:37.620 --> 01:42:39.480
Whatever you're doing. Yeah

01:42:40.020 --> 01:42:40.520
Okay

01:42:41.340 --> 01:42:42.560
Thank you

01:43:01.960 --> 01:43:03.360
Okay

01:43:44.660 --> 01:43:46.060
So

01:43:52.660 --> 01:43:53.220
So

01:43:53.220 --> 01:43:55.000
Just one second, i'll be right back

01:44:29.500 --> 01:44:30.900
You

01:44:51.760 --> 01:44:52.400
Okay

01:44:59.280 --> 01:45:03.940
When we try to initialize when I try to initialize the conflict server it says the

01:45:06.380 --> 01:45:07.780
Then the replication is not enabled

01:45:10.880 --> 01:45:12.820
Uh, let's see

01:45:15.100 --> 01:45:19.280
I been it's iven, right? Yes

01:45:22.660 --> 01:45:25.940
Let us initiate configure please set

01:45:27.260 --> 01:45:34.020
And that this node was not started with the replication. I think there is a missing command just one second

01:45:36.080 --> 01:45:40.620
Just to check on the thing that I sent

01:45:53.140 --> 01:45:56.640
Um, can you exit your database quickly

01:45:58.260 --> 01:46:01.700
So just type exit here and then open the config file

01:46:04.500 --> 01:46:06.500
So just do um

01:46:08.200 --> 01:46:10.180
Vim space etc

01:46:11.140 --> 01:46:14.260
For slash etc mongod.com there

01:46:16.460 --> 01:46:17.260
Yeah

01:46:18.340 --> 01:46:20.500
And then go down it says replication

01:46:21.400 --> 01:46:31.700
That's why that's why you need to enable it. So you need to write it as replication. Yeah, so um

01:46:31.700 --> 01:46:35.220
No, no, no, so just just um remove the hash

01:46:36.120 --> 01:46:44.600
Oh, yes, and then on the next line with one space then you then you write let me let me add it to

01:46:45.440 --> 01:46:46.080
um

01:46:46.600 --> 01:46:49.080
Let me add it to the chat quickly

01:46:50.640 --> 01:46:52.240
Where is the chat?

01:46:59.100 --> 01:47:01.160
Just add that line

01:47:01.160 --> 01:47:02.860
That I sent in the chat

01:47:02.860 --> 01:47:07.900
So you can change the name to whatever um name you want to add there

01:47:11.720 --> 01:47:14.780
Okay, wait, hold on let me see if I can paste it

01:47:16.540 --> 01:47:18.300
Okay, hold on

01:47:19.880 --> 01:47:22.220
Okay, if you want to change the name you can change the name

01:47:23.500 --> 01:47:25.800
Uh, if I change it, what effect?

01:47:26.720 --> 01:47:32.540
Um, what did you name replica set config replica set? Um

01:47:32.860 --> 01:47:35.160
Name it config replica set

01:47:36.100 --> 01:47:39.260
So you see the name that you gave it there on

01:47:40.140 --> 01:47:45.440
On rs initiate is config replica set. So just change that rs zero

01:47:45.440 --> 01:47:48.300
to config replica replace sets

01:47:49.400 --> 01:47:54.860
Can you can you share screen there because I feel like I've got the same issue. I think this is

01:47:57.060 --> 01:47:58.300
Okay, just

01:47:58.300 --> 01:48:03.720
All right, also I have the same issue is it the same

01:48:04.800 --> 01:48:09.420
No, I think I typed on the top. Yeah, can you see his screen now?

01:48:11.520 --> 01:48:16.720
So you went into mongod. Yeah the mongod.com

01:48:17.960 --> 01:48:21.580
Then set okay cool and then let's close that

01:48:22.280 --> 01:48:26.360
Let's restart mongod. Uh, just do a control r

01:48:26.360 --> 01:48:28.400
Oh there we are

01:48:30.120 --> 01:48:36.840
Usually what you do is just do control r so remove everything do control r type restart

01:48:38.380 --> 01:48:43.260
Yeah, there we are it goes back to anything that's got that word anything you want yeah

01:48:43.260 --> 01:48:43.960
Enter

01:48:44.760 --> 01:48:56.340
And then log into your database and then let's try and initiate it. Let's say I can run it and

01:48:56.340 --> 01:49:03.640
Started with the config server, okay. Oh you need to start that we need to run those commands first. Sorry

01:49:03.640 --> 01:49:07.560
Uh, we'd go on the the three the one on top. Yeah exit

01:49:07.560 --> 01:49:08.660
Oh

01:49:08.660 --> 01:49:13.200
Exit yeah, and then run those three the ones that have got

01:49:13.780 --> 01:49:20.680
Yeah, that one the number one right run number one. So just copy them and paste them. Yeah

01:49:22.300 --> 01:49:23.580
Yep enter

01:49:24.380 --> 01:49:28.560
Cool and then log in again. Yeah

01:49:28.560 --> 01:49:30.540
And then run it uh the

01:49:32.180 --> 01:49:33.320
We're running

01:49:34.060 --> 01:49:38.060
Yeah cells. Yeah, and then run let's see what error comes

01:49:39.460 --> 01:49:42.700
Okay, but you have them as config server

01:49:47.800 --> 01:49:51.680
Invalid replica set config it's weird

01:49:52.660 --> 01:49:53.540
Oops

01:49:54.720 --> 01:49:57.560
Did I lose connect did you also lose connection?

01:50:00.440 --> 01:50:03.280
Okay, all right, that's fine

01:50:05.480 --> 01:50:14.480
Sorry wait, there's a config I think we let's let's rather do the adding of the the config server in the

01:50:17.560 --> 01:50:18.760
Server

01:50:18.760 --> 01:50:23.620
Under sharding, let's see cluster row i'm gonna

01:50:24.740 --> 01:50:28.260
Want to copy paste something

01:50:32.940 --> 01:50:35.340
Shard saver

01:50:37.140 --> 01:50:39.300
Where did I put my teams

01:51:11.100 --> 01:51:13.260
Let's describe the new configuration

01:51:28.760 --> 01:51:29.200
Okay

01:51:29.200 --> 01:51:29.360
Okay

01:51:36.520 --> 01:51:39.300
Lucky when I how did you solve this issue as you are quiet?

01:51:41.320 --> 01:51:42.860
I didn't solve the issue

01:51:42.860 --> 01:51:44.300
I didn't do anything

01:51:46.300 --> 01:51:51.280
I tried to skip and then when I was writing things, so I just say refuse

01:51:52.060 --> 01:51:52.660
Yeah

01:51:52.660 --> 01:51:54.680
You try to see something

01:51:54.680 --> 01:51:55.800
I see

01:51:58.320 --> 01:52:02.160
I try to start just the connection refuse of something

01:52:02.160 --> 01:52:03.900
It caused by connection

01:52:05.280 --> 01:52:09.500
Movers and shakers then I was like, okay, let me wait for solution

01:52:10.320 --> 01:52:12.380
Okay, i'm waiting for solution

01:52:13.640 --> 01:52:14.080
do

01:52:14.960 --> 01:52:15.400
number

01:52:16.600 --> 01:52:21.860
Number eight. Why don't I look at this one? Uh, let's see. Wait read scalability. Okay

01:52:21.860 --> 01:52:25.260
Second, okay, but she still needs the secondary node

01:52:27.720 --> 01:52:30.380
Yeah, you still need the secondary nodes

01:52:35.980 --> 01:52:40.920
Okay, give me about 10 minutes, let me look at this and see what could be the issue

01:52:40.920 --> 01:52:47.820
Um, so 10 minutes for break because you're still gonna need it on number seven also

01:52:48.360 --> 01:52:50.720
So let me just look at this

01:52:50.720 --> 01:52:52.360
Let's see here

01:52:52.900 --> 01:52:56.700
Yeah, we'll be back at half past 11. All right, cool

01:52:56.700 --> 01:52:58.360
That's fine

01:53:25.240 --> 01:53:25.960
So

01:53:25.960 --> 01:53:30.400
Oh by the way, yeah

01:54:07.100 --> 01:54:08.500
So

01:54:39.040 --> 01:54:40.440
So

01:55:09.040 --> 01:55:10.440
So

01:55:22.780 --> 01:55:26.780
Okay, i'm back i'm gonna share my screen just now

01:55:37.280 --> 01:55:39.860
Let me know when you can see my screen, please

01:55:47.440 --> 01:55:48.160
Oh

01:55:48.160 --> 01:55:49.800
Okay, is everyone back

01:55:54.120 --> 01:55:55.560
Okay, cool

01:55:56.740 --> 01:55:59.200
So yes, i'm also here it

01:55:59.880 --> 01:56:04.360
Okay, cool. That's fine. So what i've done is if you go and refresh

01:56:06.560 --> 01:56:07.280
Uh

01:56:08.000 --> 01:56:15.920
The github there should be a new page that's called creating shards, right? So basically what to get us to do is

01:56:16.860 --> 01:56:19.360
It will get us to create

01:56:20.040 --> 01:56:21.740
a config server

01:56:21.740 --> 01:56:27.280
Shard servers and then among us the router, right? So it's a matter of um

01:56:28.720 --> 01:56:34.500
Just following the instructions. So the very first thing is you need to create directories. I think that was missing on the other

01:56:35.080 --> 01:56:36.960
um on the other instruction

01:56:37.280 --> 01:56:41.620
I haven't touched that instruction. So I haven't changed anything but for it to be quicker

01:56:41.620 --> 01:56:46.600
I thought let me just put instructions to create a cluster. That's got three nodes

01:56:46.600 --> 01:56:47.480
um

01:56:48.240 --> 01:56:55.900
And all that stuff. So firstly you create the folders then after you create the folders you then start the config replica sets, right?

01:56:56.600 --> 01:57:01.120
And then you connect to one of the config servers and then you initiate

01:57:01.120 --> 01:57:06.080
You replicate you initiate your replica set right and then you verify your status

01:57:06.080 --> 01:57:13.040
Um, and then you start the shard servers. Um, so it has worked for for me, right?

01:57:13.380 --> 01:57:16.480
Um, so which means it should work for you guys

01:57:17.520 --> 01:57:19.740
um use self

01:57:20.620 --> 01:57:26.700
Right and then uh, let's let's try and see

01:57:28.160 --> 01:57:29.680
Let's use

01:57:31.260 --> 01:57:33.680
Come on move this

01:57:34.480 --> 01:57:36.640
Because I can't copy now

01:57:38.160 --> 01:57:42.160
So for example, let's log on to

01:57:43.280 --> 01:57:47.660
This one so be mindful where it says mongo. It means mongo sh

01:57:49.300 --> 01:57:49.860
um

01:57:49.860 --> 01:57:53.980
So for example this right, uh, it means mongo sh

01:57:53.980 --> 01:57:56.740
So you need to add that sh because or else it will fail

01:57:56.740 --> 01:58:00.080
So what i'm doing now is i'm going to log into one of the

01:58:00.900 --> 01:58:02.200
shards, right?

01:58:02.200 --> 01:58:09.400
for um the cause the shard, um, okay, I can start with um config server rather

01:58:09.400 --> 01:58:10.600
right

01:58:16.280 --> 01:58:19.880
So i'm gonna paste that and then

01:58:22.380 --> 01:58:28.440
Right when i'm logged into this automatically tells me that i'm already in the primary

01:58:29.410 --> 01:58:35.170
Node right and when I want to verify that I just need to come and take this

01:58:35.770 --> 01:58:39.490
and then just run it in there and

01:58:41.690 --> 01:58:48.530
Then it will be able to show me that um, there's a secondary that's on two seven or two one

01:58:49.210 --> 01:58:51.450
Um, there is let me

01:58:51.450 --> 01:58:52.710
expand this

01:58:52.710 --> 01:58:59.350
So it will give me information where does it start where does it start so

01:59:00.170 --> 01:59:03.750
Array status config replica set, which is the set

01:59:03.750 --> 01:59:09.050
Uh the date my state and all that stuff config server is equal to true

01:59:09.050 --> 01:59:15.550
And then it will then be able to come here and then tell me that the one because it's a local host remember

01:59:15.550 --> 01:59:20.710
so, um what differs is actually the port numbers, but um

01:59:21.370 --> 01:59:23.690
What you call this let's say if it was

01:59:24.250 --> 01:59:29.870
Uh three different servers then you would have here the host name and the port being the primary

01:59:29.870 --> 01:59:31.570
and then

01:59:31.570 --> 01:59:32.590
um

01:59:33.130 --> 01:59:40.190
The local host the next host which is one secondary and then the next host which is another secondary

01:59:40.190 --> 01:59:44.550
And all that stuff and all that stuff. So this is just three one primary and two secondary

01:59:44.550 --> 01:59:45.950
That's the config server

01:59:45.950 --> 01:59:49.850
and then you can then exit and then

01:59:50.410 --> 01:59:52.410
uh log in to

01:59:53.150 --> 01:59:53.970
a shard

01:59:53.970 --> 01:59:58.650
Right, you would have started the shards and then uh for you to log on to this one

01:59:59.210 --> 02:00:01.450
uh, you then go there and then

02:00:04.050 --> 02:00:10.050
Sh i'm now in a shard in um, what do you call this? Um

02:00:10.050 --> 02:00:14.150
Primary so shard one replica set which is primary

02:00:14.150 --> 02:00:20.390
Uh sales, um, and then i'm in the sales one and then if you want to

02:00:21.250 --> 02:00:26.450
Uh check any replica sets or what's happening with the to verify the replica set?

02:00:26.830 --> 02:00:32.390
And then go there and then add it to that right at the moment you run that

02:00:32.390 --> 02:00:35.470
You'll be able to see that. It's actually the primary

02:00:35.990 --> 02:00:37.710
right, um

02:00:37.710 --> 02:00:41.330
And all the information then if you log on to the next one

02:00:41.330 --> 02:00:44.870
To be able to show you that it's actually the secondary as you go as you go

02:00:44.870 --> 02:00:48.830
So just look at this page that says creating shards and then follow that

02:00:48.830 --> 02:00:53.010
It should take you to the point where you even create the routers and all that stuff

02:00:57.450 --> 02:00:57.930
Clear

02:01:01.930 --> 02:01:03.930
Uh, yes and no

02:01:04.870 --> 02:01:05.350
so

02:01:06.470 --> 02:01:07.430
Creating shards

02:01:07.430 --> 02:01:11.670
Uh, the summer where you say yes or with no

02:01:13.910 --> 02:01:15.410
Just follow me

02:01:18.570 --> 02:01:26.630
Do we start with preparing directories or yes, no no no prepare the directors first create the directors first

02:01:27.950 --> 02:01:33.670
That's the step that I said was is actually missing in the in the number seven in sharding

02:01:34.470 --> 02:01:36.330
So prepare the directory first

02:01:38.130 --> 02:01:44.850
And then once creating shards is completed then we go back to number seven. Yes, then you can go back to number seven

02:01:47.330 --> 02:01:52.130
Then you can add all this information into cells and then

02:01:52.130 --> 02:01:57.010
All this part is done for you already, right? Um, you've created the shards already

02:01:57.010 --> 02:02:00.450
All you now need to do is you're monitoring your shards

02:02:00.450 --> 02:02:04.650
Uh, you monitor your chunk distribution you monitor your query and all that stuff

02:02:04.650 --> 02:02:09.930
I'm going to fix it so that we'll have all the instructions in one place in one document number seven

02:02:09.930 --> 02:02:12.350
but for now you can

02:02:12.350 --> 02:02:18.330
Go use the creating shards and then from after you've created your shards then you can go to number

02:02:19.150 --> 02:02:20.290
Well, it's number

02:02:23.430 --> 02:02:25.950
What's the c start query routers, okay

02:02:25.950 --> 02:02:32.630
You start them on the other side and then you can add shards to cluster. You've you would have added it already

02:02:32.630 --> 02:02:39.590
So you're basically going to do the monitoring of the shards after adding the data in the sales database. So

02:02:40.190 --> 02:02:41.910
That's basically what you need to do

02:02:42.830 --> 02:02:48.370
So go create the shards and then come back if you haven't added any data into the database

02:02:48.370 --> 02:02:54.230
Then you need to do step number one b if you have added already then you just need to monitor

02:02:54.930 --> 02:03:00.630
And then when you go to number eight, um, you don't need to set up again the

02:03:01.410 --> 02:03:04.250
The sharding part of it you create

02:03:04.770 --> 02:03:08.190
What you call this a library db you add the data

02:03:08.190 --> 02:03:14.330
And then you continue to do the horizontal scaling the vertical scaling and all that stuff

02:03:15.070 --> 02:03:21.350
This number three you have done it already and uh, you have it set up already and then

02:03:21.350 --> 02:03:27.170
All you then need to look at is you're using your right content for durability and all that stuff

02:03:28.370 --> 02:03:28.970
Happiness

02:03:40.570 --> 02:03:41.770
Okay, so

02:03:41.770 --> 02:03:44.230
Right now what you need to do is

02:03:44.950 --> 02:03:46.210
Go do

02:03:46.210 --> 02:03:50.710
Creating of shards right when you are done with that. Let's move on to the next one

02:03:50.710 --> 02:03:56.870
I think that would be easy because in the earlier instruction, right it was starting from

02:03:56.870 --> 02:04:00.310
Starting the config servers, right?

02:04:00.870 --> 02:04:02.570
But we didn't create any folders

02:04:03.810 --> 02:04:11.070
Right, so go create the folders follow the next instructions and do whatever it is going to tell you to do

02:04:11.070 --> 02:04:13.830
When you are done there, then we'll look at number seven

02:04:15.550 --> 02:04:16.110
Yeah

02:04:16.710 --> 02:04:19.110
And these folders are created within

02:04:19.850 --> 02:04:26.350
Sales, I'm assuming no. No, so this is this is os level. This is not in the database. This is os level

02:04:26.870 --> 02:04:29.990
So remember anything that's that doesn't have

02:04:30.890 --> 02:04:37.990
Instruction of mongo sh first, right? It's os level something that doesn't have db dot something. It's um,

02:04:38.670 --> 02:04:44.670
It's os level so you're creating this on the os level and not on inside the database

02:04:45.350 --> 02:04:47.070
So you exit from the database?

02:04:47.470 --> 02:04:53.610
Do all these instructions? Um wait then says mongo then you know that you're logging into your database

02:04:54.150 --> 02:04:55.910
If that makes sense. Yeah

02:04:57.750 --> 02:04:59.750
I don't know how to write the tag

02:05:01.670 --> 02:05:09.350
All right, it's no problem. Let me just change this mongo what what to mongo s

02:05:12.590 --> 02:05:14.870
This is to be mongo sh

02:05:26.090 --> 02:05:26.850
And

02:05:27.450 --> 02:05:28.010
Sh

02:05:30.390 --> 02:05:35.410
I must wait for you to finish so that we can refresh the page. Yeah, just one second

02:05:35.410 --> 02:05:37.630
Let me just change this stuff quickly

02:05:38.670 --> 02:05:41.810
So that you can just copy and paste rather than having to

02:05:45.650 --> 02:05:49.610
Just give me a second I should be done in a bit

02:05:52.710 --> 02:05:55.630
Three shot two shot one

02:06:25.430 --> 02:06:26.830
And

02:06:33.610 --> 02:06:34.130
Okay

02:06:34.130 --> 02:06:38.050
Okay, I think it should be good to go i've changed that mongo sh

02:06:39.510 --> 02:06:41.350
Uh start mongo s

02:06:41.350 --> 02:06:43.810
Like that. Yeah, they should be good to go

02:06:47.130 --> 02:06:48.490
We must just refresh

02:06:48.490 --> 02:06:51.270
Yes, just refresh and then

02:06:51.270 --> 02:06:55.830
Uh, you should be able to just copy and paste it tells you the instruction what you're supposed to do

02:06:55.830 --> 02:06:58.890
But it also gives you what to copy and paste

02:06:59.670 --> 02:07:01.750
So for me, it was literally just copy and paste

02:07:03.210 --> 02:07:07.270
So there I see on step number five is that the mongo

02:07:08.890 --> 02:07:13.990
Mongo s router. Yes. Yeah. So this one is just mongos

02:07:15.570 --> 02:07:18.710
Yes, yes, it's mongo s we're starting mongo s

02:07:19.690 --> 02:07:20.870
Okay, okay

02:07:20.870 --> 02:07:25.350
It's the query router. Remember there's mongo d there's mongo s there's the config server

02:07:25.830 --> 02:07:30.210
Yes, yes. Yeah. Yeah. So it's the mongo. It's the mongo s that you're starting

02:07:33.710 --> 02:07:34.210
So

02:07:35.510 --> 02:07:42.930
Okay, how long does it take I see for me I write that command it looks like it just stopped somewhere

02:07:44.130 --> 02:07:50.610
How long does it take yeah, because when I start okay it failed child process failed

02:07:51.770 --> 02:07:58.370
Uh, I didn't get that error, let's see your machine who's talking lucky that's your machine

02:08:02.090 --> 02:08:06.770
Uh add the dash dash fork, but the dash dash fork is there. Um, okay

02:08:10.990 --> 02:08:12.030
Let's see

02:08:14.950 --> 02:08:16.930
Let's see what it's giving us

02:08:18.870 --> 02:08:21.030
I'm gonna share your screen just now

02:08:34.110 --> 02:08:41.830
I think these ports are already used and config replica. Okay, 27017

02:08:43.250 --> 02:08:45.490
Okay, let's see

02:08:59.650 --> 02:09:00.430
Okay

02:09:00.430 --> 02:09:01.050
Okay

02:09:02.290 --> 02:09:07.090
Let's see what area we are getting here mongo setup complete something like that

02:09:07.870 --> 02:09:11.570
Transport layer entering that exiting that shutting down

02:09:30.050 --> 02:09:31.450
So

02:09:38.170 --> 02:09:42.110
It was your port number

02:09:43.430 --> 02:09:43.950
Okay

02:09:43.950 --> 02:09:45.550
Yeah, so

02:09:46.790 --> 02:09:47.310
2027

02:09:47.310 --> 02:09:50.490
17 is already being used. I'm not sure what using it

02:09:50.490 --> 02:09:54.650
But it's probably one of the shards or something either one of the shards or config servers

02:09:54.650 --> 02:09:59.250
So I just changed this to 15 and then uh, it has started

02:09:59.250 --> 02:10:04.970
I don't know what happened. Maybe I was just running something and then it created. I don't know

02:10:04.970 --> 02:10:10.530
Maybe just because probably earlier on you tried creating something that was running on that port

02:10:10.530 --> 02:10:18.190
And then while it's going through it. Yeah, it could be that also it could be that on the documentation that port is repeated

02:10:18.970 --> 02:10:22.150
um, so let's see

02:10:22.150 --> 02:10:22.950
27

02:10:22.950 --> 02:10:27.330
Seven that's 24 23 22

02:10:27.970 --> 02:10:30.690
Um 22 23 24. These are shards

02:10:31.370 --> 02:10:33.850
And 19 20 21

02:10:34.370 --> 02:10:35.850
Yeah, so it's probably

02:10:35.850 --> 02:10:42.030
Uh, yeah, maybe on number seven because I ran some other stuff maybe somewhere there

02:10:42.030 --> 02:10:45.050
Yeah, it could be it could be a 19 20 21

02:10:46.330 --> 02:10:46.850
uh

02:10:47.810 --> 02:10:54.950
23 yeah, it could be that it's one of those exercises that you run them. But anyway, it's okay now. It was just a port number

02:10:56.570 --> 02:10:57.090
Uh, okay

02:11:00.890 --> 02:11:01.410
Yes

02:11:01.410 --> 02:11:01.890
Yes

02:11:02.650 --> 02:11:05.650
uh on my site, i'm also getting a

02:11:07.970 --> 02:11:11.330
An error when i'm trying to start the

02:11:12.370 --> 02:11:14.010
config server replica

02:11:14.530 --> 02:11:16.290
because of the

02:11:16.290 --> 02:11:21.430
Processes, let's let's see paste. Let's see. I'm on i'm on your screen even

02:11:21.430 --> 02:11:24.810
Okay, so it's talking about the child process

02:11:25.770 --> 02:11:29.250
Um, let's see. Let me share your screen

02:11:30.010 --> 02:11:37.010
Child process, sorry, which part did you use because I mean two seven zero one I changed to two seven zero one five

02:11:37.010 --> 02:11:39.610
So let's just change it to two seven zero one five

02:11:41.570 --> 02:11:42.130
um

02:11:42.130 --> 02:11:47.290
Ivan i'm gonna change it to two seven zero one five and then let's see

02:11:47.290 --> 02:11:48.590
One five

02:11:50.030 --> 02:11:54.630
Okay, this is taking long it might actually fail

02:11:55.310 --> 02:11:55.870
Okay

02:11:56.570 --> 02:11:58.050
But let's see

02:11:58.050 --> 02:11:58.850
um

02:11:59.530 --> 02:12:02.310
What's the lady's name again? Are you also having the same issue?

02:12:03.850 --> 02:12:06.250
Yes, okay. Yeah, it should be a port number

02:12:06.250 --> 02:12:10.790
Uh, but let's see. Let me get there so that I can also have the same issue

02:12:11.810 --> 02:12:12.250
Yes

02:12:28.050 --> 02:12:32.870
Yeah, this is taking too long just yeah, let's see

02:12:32.870 --> 02:12:35.570
Okay, let's do this

02:12:36.210 --> 02:12:38.710
Yes, let's see what could be happening

02:12:44.290 --> 02:12:46.450
Logs and then

02:12:47.890 --> 02:12:51.290
Minus n 20 lines

02:12:51.290 --> 02:12:56.870
Fail to refresh query try again

02:12:58.650 --> 02:12:59.410
Network

02:13:00.450 --> 02:13:05.650
Not find matching host read preference primary did you set up the primary?

02:13:08.110 --> 02:13:10.770
I'm not sure which part is it

02:13:12.710 --> 02:13:13.470
So

02:13:14.050 --> 02:13:18.990
Wait, so did you create the folders and then started the replica? Yeah. Okay

02:13:19.890 --> 02:13:22.530
Okay, let's let's quickly check something

02:13:23.230 --> 02:13:26.610
Because here it says failed to refresh key cache

02:13:27.690 --> 02:13:28.350
um

02:13:28.910 --> 02:13:30.910
Come on, let's move this

02:13:32.330 --> 02:13:36.030
Uh fail to satisfy read preferences could not find host matching

02:13:36.630 --> 02:13:42.750
Read preferences more than primary preferred for set configure replica set one, right?

02:13:43.050 --> 02:13:45.250
So it's trying to look for

02:13:46.130 --> 02:13:46.790
um

02:13:48.510 --> 02:13:52.510
Uh for a primary and then it can't find it. Let's see

02:13:56.300 --> 02:13:57.740
And then

02:13:58.660 --> 02:14:00.660
This you don't really need to

02:14:01.740 --> 02:14:03.860
Didn't initiate your replica set

02:14:05.580 --> 02:14:06.300
Uh

02:14:07.220 --> 02:14:09.080
No, because I start

02:14:09.620 --> 02:14:11.820
Those first ones before this one

02:14:11.820 --> 02:14:13.940
Okay. Well, this is

02:14:14.680 --> 02:14:17.380
replica set the config replica configs the thingy

02:14:18.240 --> 02:14:22.520
Then I think now we should be able to start right?

02:14:22.820 --> 02:14:25.140
So if we do that

02:14:25.140 --> 02:14:30.040
because for me to get to the initiate and I had to start with the

02:14:30.040 --> 02:14:30.520
the folders

02:14:31.220 --> 02:14:37.780
The config after the folders the config server replicator replica set. Okay, so it's the one that was failing

02:14:37.780 --> 02:14:41.040
Okay, wait, this is the mongo s part

02:14:41.540 --> 02:14:43.320
Which is far down below?

02:14:44.720 --> 02:14:45.280
So

02:14:45.280 --> 02:14:48.320
Had which one was which one had you said is failing?

02:14:48.980 --> 02:14:51.020
The one above this one

02:14:51.900 --> 02:14:52.500
Yeah

02:14:52.500 --> 02:14:58.240
Oh, is it? Okay, then that's why it's failing because then it doesn't have everything

02:14:58.240 --> 02:15:04.780
But having said that now it's got this is running the config server part is running

02:15:05.500 --> 02:15:11.660
All right, because you can see with this right? It's got information. It's got the secondary now

02:15:12.340 --> 02:15:16.240
Uh, it's got another second. So this part is running right?

02:15:16.240 --> 02:15:21.480
Um continue from here right because then you need to create the shards after you create the shards

02:15:21.480 --> 02:15:24.500
Then you can create the mongo s router

02:15:25.600 --> 02:15:26.780
Okay, yeah

02:15:27.500 --> 02:15:31.920
and then i'm gonna change this let me change this port to

02:15:32.940 --> 02:15:35.300
Wait, let me see something

02:15:46.240 --> 02:15:46.520
P

02:15:47.560 --> 02:15:49.700
17 is already being used

02:15:49.700 --> 02:15:52.900
15 is already being used so probably is 14

02:15:53.660 --> 02:15:57.060
So I think as a way to figure out

02:15:57.060 --> 02:16:01.560
The posts that are open. I'm not sure if you guys have used. Um

02:16:01.560 --> 02:16:03.740
net start minus ntlp

02:16:03.740 --> 02:16:05.300
So you say up

02:16:06.120 --> 02:16:06.720
install

02:16:07.440 --> 02:16:08.040
nets

02:16:08.560 --> 02:16:09.760
tools, right

02:16:10.320 --> 02:16:11.220
and then

02:16:11.220 --> 02:16:16.020
Go through the whole process of installing whatever it needs to install and then you write you run

02:16:16.920 --> 02:16:18.900
Net start minus ntlp

02:16:19.840 --> 02:16:24.260
Right what it's then going to do is going to show you the open ports, right?

02:16:24.540 --> 02:16:26.500
What open ports and what?

02:16:27.560 --> 02:16:28.880
Our program is using it

02:16:28.880 --> 02:16:35.040
Right. So if you get to this point and the child is failing to create the child just check this

02:16:35.040 --> 02:16:36.900
I'm going to put the instructions in the chat

02:16:36.900 --> 02:16:39.220
to write um to run

02:16:39.500 --> 02:16:45.780
Up to install tools net tools and then check the ports and then use a different port. That's not here

02:16:45.780 --> 02:16:50.220
So for example, two seven zero one five then you need to use two seven zero

02:16:51.140 --> 02:16:54.000
um one four for example in this case

02:16:54.540 --> 02:16:56.100
It makes sense

02:16:56.100 --> 02:16:57.320
Yes. Yeah

02:16:57.840 --> 02:17:04.800
So i'm gonna put the instructions in the chat window to add this net that two and then do what you need to run

02:17:04.800 --> 02:17:07.000
And then it should be good

02:17:07.920 --> 02:17:12.920
Okay, yeah, so for you go through now go through the sharding part because you did the

02:17:14.360 --> 02:17:14.960
um

02:17:14.960 --> 02:17:19.400
I've just sorted out the config server. So now you need to go through this

02:17:20.160 --> 02:17:22.700
Uh shard starting of the shard servers

02:17:24.540 --> 02:17:27.520
Uh winnie, did you manage to follow suit?

02:17:29.640 --> 02:17:32.320
Okay, let me go to your machine

02:17:37.000 --> 02:17:41.640
Just for understand, yes, um, one number five is that where the issue is

02:17:43.720 --> 02:17:50.660
Uh number five five starting mongoroot. Yes, there could be an issue of the pot

02:17:51.500 --> 02:17:52.240
Okay

02:17:53.320 --> 02:17:57.160
Okay, let's see what winnie has been busy with here

02:17:58.080 --> 02:17:58.720
Welcome

02:18:13.480 --> 02:18:17.240
That's going on now let me open that

02:18:19.980 --> 02:18:20.560
Okay

02:18:20.560 --> 02:18:26.840
To show your window winnie, I don't seem to pick it up maybe it doesn't want you to share

02:18:30.680 --> 02:18:34.280
Uh, because I can't pick it up for some weird reason, okay

02:18:34.280 --> 02:18:36.780
Wait, let's see what's happening here

02:18:38.960 --> 02:18:39.000
Okay

02:18:40.500 --> 02:18:41.300
So

02:18:41.880 --> 02:18:43.740
mongo db config server

02:18:44.360 --> 02:18:49.200
I think the error was you were trying to create those folders in a database

02:18:50.040 --> 02:18:51.320
Yes, then I agree

02:18:52.720 --> 02:18:58.200
And then uh mongo server db you created that

02:18:58.940 --> 02:19:03.080
And then mongod config server. Okay, it managed to create that

02:19:03.300 --> 02:19:09.440
Mongo sh you managed to do that and then when you get to the mongo sh part

02:19:09.440 --> 02:19:12.740
What you need to do is actually run

02:19:13.940 --> 02:19:15.220
the initiate

02:19:16.160 --> 02:19:20.360
Right, which is uh, let me move this quickly

02:19:21.220 --> 02:19:22.940
Which is this part first?

02:19:23.720 --> 02:19:25.460
right, um

02:19:25.460 --> 02:19:30.340
Sales you can use the cells you can use any database, uh, but now you need to run this

02:19:32.280 --> 02:19:37.620
To then initiate that we are good we can verify the status

02:19:38.920 --> 02:19:41.700
And if you be good now

02:19:43.100 --> 02:19:49.220
Now it can show you that there is a cluster. Um, there is a secondary which is this port 21

02:19:50.320 --> 02:19:53.240
um another secondary which is port 20

02:19:53.240 --> 02:19:58.320
Uh, and then another secondary which is port 19, which is 19

02:19:58.320 --> 02:20:04.580
2021 these ports that are here so now you can continue this part

02:20:05.320 --> 02:20:08.040
um just follow the steps as is but

02:20:08.880 --> 02:20:12.660
When you get to mongo sh this this you're running it in the database

02:20:12.660 --> 02:20:15.620
So just be mindful of that part

02:20:16.400 --> 02:20:19.480
Okay. Yeah, so you should be good to go to continue

02:20:20.000 --> 02:20:22.000
Okay. Thank you cool

02:20:22.000 --> 02:20:23.600
anyone else

02:20:23.600 --> 02:20:26.020
Yes here who is that?

02:20:28.320 --> 02:20:28.680
Uh

02:20:33.460 --> 02:20:41.320
I'm here, but you know, i'm i'm struggling today a lot with work, you know, I have I have meeting now at 12

02:20:41.320 --> 02:20:49.120
Oh, so you're juggling with uh with practicals today. So i'll try and catch up later. I just hope that um

02:20:49.120 --> 02:20:51.440
Yeah, I i'm gonna be correcting the

02:20:51.440 --> 02:20:56.480
The errors the number seven, yes, i'll do that. Yeah, i'll do that

02:20:56.480 --> 02:21:00.080
So I i put in a sort of a quick one

02:21:00.080 --> 02:21:06.420
But i'm gonna incorporate everything into one into number seven so that people don't get confused

02:21:06.420 --> 02:21:10.000
Well, it's two minutes to 12 now. How how are you going to?

02:21:10.840 --> 02:21:13.040
Get into a meeting and yet it's your lunch time

02:21:13.620 --> 02:21:16.480
Apparently you like activities under the nose

02:21:17.880 --> 02:21:19.640
I I don't have a choice

02:21:21.440 --> 02:21:26.220
Okay, no problem. So yeah, we'll take 12 o'clock lunch come back at one

02:21:26.220 --> 02:21:27.900
in the meantime, i'm just

02:21:27.900 --> 02:21:30.240
I think let me

02:21:31.600 --> 02:21:33.660
Um live as is for now

02:21:33.660 --> 02:21:39.220
Uh, and then when we have confirmed everyone else is done with the creating of the shards

02:21:39.220 --> 02:21:44.940
Then i'll edit into number seven so that it doesn't confuse everyone else. I don't know if that makes sense

02:21:44.940 --> 02:21:45.640
It does

02:21:45.640 --> 02:21:53.180
Yeah, no it does does does yeah, all right cool so it's lunch time now we can go for lunch come back at one o'clock

02:21:53.180 --> 02:21:55.600
Then we'll assist whoever is having issues

02:21:56.780 --> 02:21:57.300
Oh

02:21:57.300 --> 02:21:58.060
You must have taken

02:22:01.100 --> 02:22:03.100
What issues are you having

02:22:10.520 --> 02:22:14.320
Let me have a look quickly before we go to lunch

02:22:14.880 --> 02:22:17.340
Let's see child process

02:22:18.560 --> 02:22:19.180
um

02:22:19.180 --> 02:22:21.200
Child process blah blah blah

02:22:23.880 --> 02:22:24.500
um

02:22:25.040 --> 02:22:28.080
Do apt install, let's see your

02:22:28.080 --> 02:22:30.340
Just remove that line that whole line

02:22:31.120 --> 02:22:35.900
Let's see what ports are open. I'm pretty sure it's the ports. So apt space install

02:22:36.860 --> 02:22:40.720
Okay, let me let me type it's fine. Um, let me type

02:22:42.320 --> 02:22:43.560
uh install

02:22:46.620 --> 02:22:48.220
net truth

02:22:49.160 --> 02:22:51.620
And then let's start

02:22:54.280 --> 02:22:59.220
So 17 is taken so you can use 16

02:23:00.640 --> 02:23:08.080
They are done it's also good be mindful that that mongo sh is now to port

02:23:08.940 --> 02:23:14.240
16 not 17 change that to 16. Yeah, then you should be able to login

02:23:14.320 --> 02:23:14.720
Yeah

02:23:14.720 --> 02:23:20.640
So you see direct mongo s that means that's your mongo s that you've created

02:23:22.120 --> 02:23:27.060
Then you can do the rest, okay, i'll see you guys at uh one o'clock

02:23:28.260 --> 02:23:30.040
Off for lunch

02:23:30.880 --> 02:23:32.000
Yeah, I will come back

02:23:36.080 --> 02:23:36.780
It what

02:23:44.800 --> 02:23:51.120
But also but also will akona have enough lunch time because he's getting to a meeting now

02:23:52.320 --> 02:23:59.360
And we benchmarked his account. I went to lunch. All right, cool. See you guys at one

02:24:04.180 --> 02:24:04.780
Okay

02:24:05.920 --> 02:24:08.100
Things to do

02:24:14.320 --> 02:24:34.420
Always comes to say hi to me for the past few months he always comes to say hi, I think he has a thing

02:24:44.320 --> 02:24:44.720
So

02:24:52.440 --> 02:24:57.400
Conversation and then I'm like, hey, what's your name? By the way, and he tells me his name

02:24:57.400 --> 02:24:59.040
I'm like, oh, well, he's a little

02:25:01.120 --> 02:25:06.400
And then i'm like, oh very simple by the way, he's like, I know

02:25:08.700 --> 02:25:10.020
I call him by his name

02:25:14.360 --> 02:25:16.700
We introduce ourselves

02:25:18.440 --> 02:25:23.580
It's just I just turned out this viral prompt the people are using

02:25:27.240 --> 02:25:32.400
It's just looking into your soul telling you uncomfortable truth around yourself

02:25:33.200 --> 02:25:35.200
They can't

02:25:37.840 --> 02:25:38.600
Yes

02:25:44.320 --> 02:25:44.640
Is

02:25:56.400 --> 02:25:56.660
And

02:26:03.920 --> 02:26:08.080
So I ask her

02:26:25.820 --> 02:26:34.320
So I always go by that so for real are you willing to include me and your roommate that's paying the same amount of friends as you are

02:26:36.960 --> 02:26:40.540
The same man who obviously is not doing anything for you because

02:26:59.000 --> 02:27:04.020
Is what I can't hear you

02:27:15.980 --> 02:27:17.380
Asanda

02:27:17.380 --> 02:27:41.360
I didn't

02:27:45.000 --> 02:27:46.160
It's not fun

02:27:50.480 --> 02:27:51.940
Don't play with this

02:27:54.320 --> 02:27:55.380
Don't play with this

02:28:45.780 --> 02:28:56.580
This is the most heartbreaking thing I have seen on the internet, and this thing of us

02:28:56.580 --> 02:28:59.920
having a tendency of telling people how they must react to what is happening to them

02:28:59.920 --> 02:29:01.500
is madness, you know?

02:29:04.340 --> 02:29:07.760
We're trying to see as much as we can while seeking shelter.

02:29:08.160 --> 02:29:12.780
This ongoing fighting in the streets is M23, cleans it block by block, trying to

02:29:12.780 --> 02:29:13.740
cement their control.

02:32:13.740 --> 02:32:17.420
We see Claude and Anne have to be tamed together to work with them in one space.

02:32:17.480 --> 02:32:19.080
First, go to Curiso.ai.

02:32:19.260 --> 02:32:23.040
It's completely free and open source, and the developer used to work for the media.

02:32:23.080 --> 02:32:27.840
Click here and download, and then go right here to the app, right here, and click

02:32:27.840 --> 02:32:31.620
this, and it should go ahead, and once you're inside, it should look like this.

02:32:31.860 --> 02:32:32.660
So create a new board.

02:32:32.780 --> 02:32:35.820
This one's called test, and then we're going to go to our settings and chat,

02:32:35.980 --> 02:32:38.060
and as you can see, it also lets you do clocking.

02:32:38.060 --> 02:32:40.680
I tried this challenge on my body.

02:32:48.660 --> 02:32:51.540
I tried it on my body.

02:32:52.560 --> 02:32:53.700
That's what I did.

02:32:58.440 --> 02:32:59.960
I didn't make a song.

02:32:59.960 --> 02:33:03.320
If you check the rules in Perpetual, and guess what?

02:33:03.520 --> 02:33:08.500
You will be the one who got the challenge for 10,000 friends to come up with a new

02:33:08.500 --> 02:33:08.780
ring.

02:33:16.140 --> 02:33:24.240
This lady on the right was a fountain dress inspired by an anti-ecco.

02:33:24.900 --> 02:33:29.080
And she decided about two to three days ago that she wanted to post a

02:33:29.360 --> 02:33:33.000
I'm going to do a TikTok dance for you.

02:33:33.300 --> 02:33:34.200
I'm not too fast.

02:33:39.440 --> 02:33:42.280
Don't forget to create any mobile app, website,

02:33:42.780 --> 02:33:43.980
SaaS company, tag group.

02:34:12.180 --> 02:34:13.960
I'm going to do a TikTok dance for you.

02:34:13.980 --> 02:34:18.600
I've been reading about China and some other companies

02:34:18.600 --> 02:34:22.700
that are coming up with a faster method of AI

02:34:22.700 --> 02:34:24.840
and a much less expensive method.

02:34:24.960 --> 02:34:25.680
And that's good.

02:34:26.040 --> 02:34:27.520
Because you don't have to spend as much money.

02:34:27.700 --> 02:34:29.540
I view that as a positive as an asset.

02:34:30.340 --> 02:34:31.480
So I really thank you.

02:34:44.580 --> 02:34:45.980
Okay.

02:35:14.220 --> 02:35:17.020
Oh, I'm sorry.

02:35:18.120 --> 02:35:18.820
I'm sorry.

02:35:19.900 --> 02:35:20.600
Yeah.

02:35:20.600 --> 02:35:21.460
Okay.

02:35:24.100 --> 02:35:24.260
Okay.

02:35:27.360 --> 02:35:28.760
Okay.

02:35:31.940 --> 02:35:32.300
Okay.

02:35:33.260 --> 02:35:33.980
Okay.

02:35:34.280 --> 02:35:34.340
Okay.

02:35:34.340 --> 02:35:35.400
Okay.

02:36:12.800 --> 02:36:13.620
Yes?

02:36:15.960 --> 02:36:16.520
Hello.

02:36:17.640 --> 02:36:18.460
Yes.

02:36:23.200 --> 02:36:23.500
And?

02:36:25.340 --> 02:36:30.140
And I didn't see.

02:36:32.240 --> 02:36:33.480
Cause I need to go for a haircut.

02:36:34.580 --> 02:36:35.120
Not yet.

02:36:35.120 --> 02:36:36.600
You need to go for it, you can't

02:36:36.600 --> 02:36:39.120
We haven't started combing yet, don't rush it

02:36:42.840 --> 02:36:43.380
Okay

02:37:00.360 --> 02:37:01.680
Not now

02:37:01.680 --> 02:37:03.480
Not now

02:37:04.820 --> 02:37:06.500
That is a great time

02:38:00.080 --> 02:38:02.880
Not now

02:38:02.880 --> 02:38:04.760
That will be good

02:38:04.760 --> 02:38:05.240
Not now

02:38:05.240 --> 02:38:11.420
Not now

02:38:31.420 --> 02:38:33.320
Mine still doesn't work from where

02:38:33.320 --> 02:38:36.080
the last time where you assisted me with

02:38:36.080 --> 02:38:37.840
from the

02:38:37.840 --> 02:38:38.900
SH status

02:38:41.680 --> 02:38:43.080
Okay

02:38:54.840 --> 02:38:57.200
Did you

02:39:02.900 --> 02:39:05.380
Did you do this part

02:39:05.380 --> 02:39:07.760
Hold on

02:39:07.760 --> 02:39:08.200
Hold on

02:39:09.760 --> 02:39:11.260
So RIS status

02:39:11.260 --> 02:39:13.900
and then you log out of the

02:39:13.900 --> 02:39:14.740
database

02:39:21.500 --> 02:39:23.500
And then

02:39:23.500 --> 02:39:25.760
we go into the shard

02:39:28.720 --> 02:39:31.120
You log into that

02:39:31.120 --> 02:39:33.760
and then we initiate that

02:39:37.760 --> 02:39:37.840
Okay

02:39:41.280 --> 02:39:43.300
That's fine

02:39:43.300 --> 02:39:45.760
And then exit that

02:39:51.760 --> 02:39:53.780
And then

02:39:53.780 --> 02:39:55.760
the next one

02:39:59.580 --> 02:40:00.980
Initiate

02:40:00.980 --> 02:40:02.680
Okay that's fine

02:40:03.760 --> 02:40:05.720
And then shard number 3

02:40:11.340 --> 02:40:12.300
Okay

02:40:12.300 --> 02:40:13.200
So it's more or less

02:40:13.760 --> 02:40:15.460
the shards

02:40:15.460 --> 02:40:17.760
just confirming the shards here

02:40:18.280 --> 02:40:19.460
and

02:40:21.760 --> 02:40:22.420
Okay cool

02:40:22.420 --> 02:40:24.120
So let's verify

02:40:25.280 --> 02:40:27.720
the replica set status

02:40:29.760 --> 02:40:31.760
It should be able to show

02:40:33.760 --> 02:40:35.300
There is the primary

02:40:38.060 --> 02:40:40.040
So this one is the primary

02:40:40.040 --> 02:40:40.900
Right

02:40:41.960 --> 02:40:42.800
Okay

02:40:42.800 --> 02:40:45.000
And the shard replica set

02:40:45.760 --> 02:40:47.560
And then we can then

02:40:47.560 --> 02:40:49.100
go onto this one

02:40:49.760 --> 02:40:52.240
So exit that

02:40:52.240 --> 02:40:54.720
And then

02:40:55.760 --> 02:40:57.620
I'm going to change the port

02:40:57.620 --> 02:40:59.620
to 12

02:40:59.620 --> 02:41:01.380
Okay cool

02:41:01.380 --> 02:41:03.000
Then yeah

02:41:03.000 --> 02:41:05.860
You should be good to go

02:41:05.860 --> 02:41:07.860
So for example

02:41:08.400 --> 02:41:12.220
if you're going to do this one

02:41:15.860 --> 02:41:17.600
Change the port to 12

02:41:17.600 --> 02:41:20.040
And then you should see

02:41:20.040 --> 02:41:21.980
it says Mongo S

02:41:21.980 --> 02:41:22.820
Okay

02:41:22.820 --> 02:41:26.140
So you can then

02:41:26.140 --> 02:41:27.880
continue with

02:41:29.860 --> 02:41:30.940
adding this

02:41:30.940 --> 02:41:33.880
You still can do them in this

02:41:33.880 --> 02:41:36.040
specific console

02:41:36.040 --> 02:41:37.880
Okay thank you

02:41:44.160 --> 02:41:46.440
On my side as well

02:41:46.440 --> 02:41:48.280
I'm getting errors

02:41:48.280 --> 02:41:49.880
when I'm trying to

02:41:51.880 --> 02:41:53.880
I think it's sharding

02:41:59.660 --> 02:42:01.880
What number are you trying to

02:42:03.880 --> 02:42:05.040
Yeah I think it's

02:42:05.040 --> 02:42:07.020
You need to exit the database

02:42:10.360 --> 02:42:11.600
Anything that says

02:42:11.600 --> 02:42:13.740
Mongo SH you need to exit the database

02:42:13.740 --> 02:42:16.060
first and then you can run it

02:42:16.060 --> 02:42:17.520
So you can now run that

02:42:17.520 --> 02:42:18.960
Mongo SH port something

02:42:20.160 --> 02:42:21.860
Yeah I ran that

02:42:21.860 --> 02:42:23.880
first I think now I was running the

02:42:25.640 --> 02:42:27.820
You're running it in the database

02:42:28.540 --> 02:42:30.220
Yeah so run it again

02:42:30.220 --> 02:42:31.980
Because you are going to need to

02:42:31.980 --> 02:42:33.260
Log into that

02:42:33.260 --> 02:42:34.780
Shard that you want to

02:42:34.780 --> 02:42:37.380
That you want to run that command yes

02:42:37.380 --> 02:42:38.300
Where your cursor is

02:42:38.300 --> 02:42:40.280
So for this part I must log into the database

02:42:41.320 --> 02:42:43.440
Yeah that's what I did so

02:42:44.860 --> 02:42:46.520
If you look

02:42:46.520 --> 02:42:48.740
So this is the error

02:42:48.740 --> 02:42:51.120
Yes it's because you ran this

02:42:51.120 --> 02:42:52.280
command here

02:42:52.280 --> 02:42:54.340
You ran it in the database

02:42:54.340 --> 02:42:56.200
You're not supposed to run it in the database

02:42:58.140 --> 02:42:59.660
Now you can run

02:42:59.660 --> 02:43:00.640
the next command

02:43:01.660 --> 02:43:03.780
It should yeah that one

02:43:05.300 --> 02:43:07.220
There you are

02:43:07.220 --> 02:43:09.400
Then you exit again then you run

02:43:09.400 --> 02:43:10.040
Shard number 3

02:43:12.980 --> 02:43:13.660
Otherwise you

02:43:14.260 --> 02:43:15.580
You will run it

02:43:15.580 --> 02:43:16.500
In the database

02:43:18.640 --> 02:43:19.280
Thanks

02:43:19.280 --> 02:43:20.640
No stress

02:43:20.640 --> 02:43:23.360
Are we still creating shards or are we back to

02:43:23.360 --> 02:43:24.720
Sharding number 7

02:43:24.720 --> 02:43:27.080
Are you done with creating the shards

02:43:27.080 --> 02:43:28.360
Are you done with

02:43:29.080 --> 02:43:31.800
Yeah these guys are slow

02:43:33.500 --> 02:43:35.140
Let's wait for them to

02:43:35.140 --> 02:43:37.500
Finish that part

02:43:38.380 --> 02:43:39.020
Sorry

02:43:39.020 --> 02:43:41.220
Did we say we want to do the

02:43:41.220 --> 02:43:42.420
Routing

02:43:43.080 --> 02:43:43.880
Yes the Mongo is

02:43:43.880 --> 02:43:47.140
When I try to do it it tells me about

02:43:47.140 --> 02:43:48.680
The child process

02:43:48.680 --> 02:43:50.940
Change your port the last port the

02:43:50.940 --> 02:43:53.020
17 change it to 12 or

02:43:53.020 --> 02:43:54.180
Something

02:43:54.180 --> 02:43:56.220
Yeah because it's probably running

02:43:56.220 --> 02:43:58.280
With another process 19

02:43:58.280 --> 02:44:00.260
I think it's being used so change

02:44:00.260 --> 02:44:02.260
It to one yeah and change it to 12

02:44:03.020 --> 02:44:03.600
12

02:44:04.180 --> 02:44:04.560
12

02:44:05.320 --> 02:44:05.900
Yeah

02:44:09.640 --> 02:44:10.220
Yes

02:44:11.080 --> 02:44:11.660
Those

02:44:16.340 --> 02:44:16.920
Router

02:44:18.620 --> 02:44:20.000
Commands or this could

02:44:20.640 --> 02:44:21.220
Yes

02:44:22.400 --> 02:44:22.960
So

02:44:22.960 --> 02:44:24.600
No no no

02:44:24.600 --> 02:44:26.900
So you see where the top part where it says

02:44:26.900 --> 02:44:28.120
Mongo SH port

02:44:28.120 --> 02:44:31.100
Put the same port with your

02:44:31.100 --> 02:44:32.680
With your

02:44:33.400 --> 02:44:35.120
So it's supposed to be

02:44:35.120 --> 02:44:37.000
Two I think you did one two

02:44:37.000 --> 02:44:39.180
Yeah because it's supposed

02:44:39.180 --> 02:44:41.140
To be the same port with Mongo S

02:44:42.200 --> 02:44:43.300
And then you can

02:44:43.300 --> 02:44:45.040
Run those the ending of the

02:44:45.040 --> 02:44:45.700
Shards

02:44:47.040 --> 02:44:47.600
Yeah

02:44:48.680 --> 02:44:49.280
Ah

02:44:49.280 --> 02:44:50.420
Yes

02:44:51.240 --> 02:44:54.000
Then you can verify the status

02:44:56.460 --> 02:44:57.060
It's

02:44:57.060 --> 02:44:57.640
Ah

02:44:57.640 --> 02:44:59.840
Yeah so

02:44:59.840 --> 02:45:00.960
Um

02:45:01.600 --> 02:45:03.580
That's how it just works so you

02:45:03.580 --> 02:45:04.660
Can then create

02:45:05.660 --> 02:45:07.540
Enable sharding for a database

02:45:07.540 --> 02:45:09.520
So for example you can

02:45:09.520 --> 02:45:11.500
Use I think it sells you can

02:45:11.500 --> 02:45:13.460
Create for sales so instead of

02:45:13.460 --> 02:45:15.160
My database you can use

02:45:15.160 --> 02:45:17.440
Sales in there for example

02:45:17.980 --> 02:45:18.460
Yeah

02:45:19.800 --> 02:45:21.620
Oh because it's already

02:45:21.620 --> 02:45:23.160
Yeah it's already there

02:45:25.440 --> 02:45:27.260
Does it mean then on the next one

02:45:27.260 --> 02:45:29.160
Then I have to change the

02:45:30.120 --> 02:45:31.120
Name as well

02:45:33.500 --> 02:45:33.980
Yes

02:45:36.060 --> 02:45:37.220
Sales I'm not sure what

02:45:37.220 --> 02:45:39.160
Else was in the sales one I

02:45:39.160 --> 02:45:40.640
Think you can check on number seven

02:45:41.160 --> 02:45:42.820
It should be able to tell you a collection

02:45:42.820 --> 02:45:45.100
That you created

02:45:46.100 --> 02:45:49.340
So if it's my collection then it will be

02:45:49.340 --> 02:45:49.920
Sales

02:45:49.920 --> 02:45:51.800
Just go to number seven

02:45:51.800 --> 02:45:53.460
Go to number seven

02:45:56.600 --> 02:45:58.820
This one yeah go to number seven

02:46:01.880 --> 02:46:03.240
And then

02:46:03.240 --> 02:46:05.080
Use sales and set

02:46:05.080 --> 02:46:06.820
Many order I think order

02:46:07.460 --> 02:46:08.860
Order is a collection they just

02:46:08.860 --> 02:46:10.820
Go back go back go back up

02:46:11.620 --> 02:46:13.320
Create a source database and

02:46:13.320 --> 02:46:15.080
Set data so use sales

02:46:15.080 --> 02:46:16.920
And then there's

02:46:16.920 --> 02:46:18.360
Orders as one

02:46:18.360 --> 02:46:20.880
So you can use orders as your collection or

02:46:20.880 --> 02:46:21.980
Products as your collection

02:46:22.940 --> 02:46:25.000
Okay and then the field you can

02:46:25.000 --> 02:46:26.920
Use I don't know customer

02:46:26.920 --> 02:46:28.840
Name if you want

02:46:32.840 --> 02:46:35.020
So instead of number one we can

02:46:35.020 --> 02:46:36.340
Replace it with

02:46:36.340 --> 02:46:39.100
Yeah but you need to add the key field

02:46:39.100 --> 02:46:41.380
So what is your key field

02:46:42.720 --> 02:46:43.560
Products

02:46:45.040 --> 02:46:46.920
Is it products

02:46:46.920 --> 02:46:49.240
Just go to number seven before you

02:46:49.240 --> 02:46:50.880
Change anything

02:46:50.880 --> 02:46:52.940
You can

02:46:52.940 --> 02:46:54.020
Add

02:46:55.100 --> 02:46:57.300
Order ID even if you want

02:46:57.300 --> 02:46:58.700
Order ID

02:46:58.700 --> 02:47:01.100
You can use order ID as your key field

02:47:05.100 --> 02:47:07.340
Order ID is uppercase I

02:47:07.340 --> 02:47:08.960
Yeah then

02:47:09.980 --> 02:47:11.020
You can

02:47:12.000 --> 02:47:13.480
So you're shutting in

02:47:13.480 --> 02:47:15.440
Yeah you can then press enter

02:47:15.440 --> 02:47:16.720
I think you should be good to go

02:47:21.160 --> 02:47:23.760
Will it be the same if

02:47:23.760 --> 02:47:25.580
Verify in the class that I must change

02:47:25.580 --> 02:47:26.600
The name to

02:47:28.360 --> 02:47:29.400
Yeah so

02:47:29.400 --> 02:47:30.640
You can

02:47:31.660 --> 02:47:33.080
Use my database

02:47:33.080 --> 02:47:34.920
It's going to create a new database

02:47:34.920 --> 02:47:37.080
My database and then it will just

02:47:37.080 --> 02:47:38.560
Do insert data into

02:47:38.560 --> 02:47:40.920
Collection so for example

02:47:43.060 --> 02:47:44.940
If you had not changed the names

02:47:44.940 --> 02:47:46.880
On the top commands right

02:47:46.880 --> 02:47:49.240
Then it was going to make sense but you changed

02:47:49.240 --> 02:47:51.140
The names on the top commands which means

02:47:51.140 --> 02:47:53.300
Then you need to change

02:47:53.300 --> 02:47:55.420
That information so what you can

02:47:55.420 --> 02:47:57.020
Just do is just remove

02:47:57.020 --> 02:47:59.100
That just copy them

02:47:59.100 --> 02:48:01.260
As is don't change it don't add

02:48:01.260 --> 02:48:02.860
Any database name or anything

02:48:02.860 --> 02:48:04.560
So if you go back to number

02:48:05.500 --> 02:48:07.000
What number is it

02:48:07.000 --> 02:48:08.940
Just one second so if you go

02:48:08.940 --> 02:48:11.080
Back to start number seven and just

02:48:11.080 --> 02:48:12.880
Copy and paste so that

02:48:12.880 --> 02:48:14.900
It creates a database by the name

02:48:14.900 --> 02:48:16.760
My database and then my collection

02:48:16.760 --> 02:48:17.940
Code that yeah

02:48:18.520 --> 02:48:20.620
One second I'm coming

02:48:20.620 --> 02:48:20.980
Go

02:48:26.460 --> 02:48:27.380
Okay

02:48:28.420 --> 02:48:29.340
Yes

02:48:30.640 --> 02:48:32.480
Seven sharing

02:48:32.480 --> 02:48:34.880
Initializing the server

02:48:34.880 --> 02:48:36.380
Config set

02:48:36.380 --> 02:48:38.900
Do we do it inside the database or outside

02:48:38.900 --> 02:48:40.760
I tried both

02:48:40.760 --> 02:48:42.540
And still gives me issues

02:48:42.540 --> 02:48:44.260
Which one number

02:48:44.260 --> 02:48:46.780
Number two initializing

02:48:46.780 --> 02:48:48.620
The config server replica

02:48:48.620 --> 02:48:49.200
Said

02:48:50.540 --> 02:48:52.620
Let's see what the error is

02:48:56.940 --> 02:48:58.720
It's supposed to be in the database

02:48:58.720 --> 02:49:00.620
Okay mongo server error

02:49:00.620 --> 02:49:02.740
Common command not

02:49:02.740 --> 02:49:04.620
Found no such command

02:49:07.760 --> 02:49:08.980
Where is it

02:49:08.980 --> 02:49:10.620
Getting that command that you're running

02:49:13.380 --> 02:49:14.740
Let's see

02:49:14.740 --> 02:49:17.060
It's supposed to run it in the database

02:49:20.200 --> 02:49:21.760
Config replica

02:49:21.760 --> 02:49:22.740
Set

02:49:26.520 --> 02:49:28.820
Okay what's happening here

02:49:28.820 --> 02:49:30.620
This is mongo s

02:49:31.520 --> 02:49:32.920
Wait what are you

02:49:32.920 --> 02:49:34.160
Doing up here

02:49:35.140 --> 02:49:36.800
So you are

02:49:36.800 --> 02:49:38.620
Support your next step after

02:49:38.620 --> 02:49:40.620
Creating the mongo s

02:49:41.380 --> 02:49:43.040
Is where is it

02:49:43.040 --> 02:49:44.840
So you've done this part

02:49:44.840 --> 02:49:46.900
Right and you've done this

02:49:46.900 --> 02:49:48.340
Part correct

02:49:48.900 --> 02:49:49.280
Which says

02:49:50.900 --> 02:49:52.940
Started mongo s what what

02:49:52.940 --> 02:49:54.800
Because I see it in mongo s

02:49:54.800 --> 02:49:55.940
So your next part

02:49:56.900 --> 02:49:58.940
Which is this one

02:49:58.940 --> 02:49:59.800
Yes

02:49:59.800 --> 02:50:02.440
So you're actually

02:50:02.440 --> 02:50:04.360
Here right

02:50:04.900 --> 02:50:07.300
Let's see

02:50:07.300 --> 02:50:08.140
Wait

02:50:09.780 --> 02:50:10.900
You are

02:50:10.900 --> 02:50:12.580
Supposed to be adding shards

02:50:12.580 --> 02:50:14.360
Because you've created

02:50:14.360 --> 02:50:16.360
The mongo s right

02:50:17.060 --> 02:50:18.560
With whatever part

02:50:18.560 --> 02:50:20.480
So now what you need to do

02:50:20.480 --> 02:50:21.800
Is this part

02:50:22.360 --> 02:50:24.360
Right that's where you're supposed to do

02:50:24.920 --> 02:50:26.040
The next step

02:50:26.040 --> 02:50:28.080
I don't know why replica

02:50:28.080 --> 02:50:30.040
Set initiate

02:50:30.040 --> 02:50:32.480
Because it's failing this because

02:50:32.480 --> 02:50:34.640
You're in mongo s you're not in the replica

02:50:34.640 --> 02:50:36.360
Set but you're in the mongo s

02:50:38.360 --> 02:50:40.180
What do you call this mongo s router

02:50:40.180 --> 02:50:41.740
So you can't run

02:50:41.740 --> 02:50:43.420
This part

02:50:43.420 --> 02:50:45.600
This other is initiate

02:50:45.600 --> 02:50:47.060
In the mongo s router

02:50:47.060 --> 02:50:49.300
You need to add

02:50:49.300 --> 02:50:51.760
The shards so that it

02:50:51.760 --> 02:50:52.680
Can direct

02:50:54.180 --> 02:50:54.780
The

02:50:54.780 --> 02:50:57.700
The writing of the data and

02:50:57.700 --> 02:50:59.780
Spread them amongst the shards so do this part

02:50:59.780 --> 02:51:01.680
Right and then continue

02:51:01.680 --> 02:51:03.560
I'm done with that part

02:51:03.560 --> 02:51:04.940
Which on this part

02:51:04.940 --> 02:51:07.680
I thought when we are done with it we have to go to

02:51:07.680 --> 02:51:09.720
Yes and then do the monitoring

02:51:09.720 --> 02:51:10.120
Part

02:51:11.920 --> 02:51:13.680
Yeah the monitoring part

02:51:13.680 --> 02:51:16.200
Oh so if you are done with this part then

02:51:17.640 --> 02:51:18.600
Your next

02:51:20.140 --> 02:51:20.620
Thing

02:51:20.620 --> 02:51:22.280
That you need to do

02:51:23.520 --> 02:51:24.000
Is

02:51:24.000 --> 02:51:25.180
This part number four

02:51:25.720 --> 02:51:27.000
Because I started the other job

02:51:28.100 --> 02:51:29.720
So number one to three is

02:51:29.720 --> 02:51:31.800
The same thing that you would have done in creating

02:51:31.800 --> 02:51:33.780
Shards so you don't need to do

02:51:33.780 --> 02:51:34.980
Number one and three

02:51:35.720 --> 02:51:36.400
Thank you

02:51:40.380 --> 02:51:41.840
I see you

02:51:41.840 --> 02:51:43.340
Now you tell me to wait Mario

02:51:43.340 --> 02:51:45.160
We need to continue

02:51:45.720 --> 02:51:47.080
No I started on my own

02:51:47.080 --> 02:51:49.600
She had started on her own

02:51:51.060 --> 02:51:52.780
She had started on her own

02:51:53.720 --> 02:51:55.640
So number seven you can

02:51:55.640 --> 02:51:57.620
When you go to number seven please

02:51:57.620 --> 02:51:59.100
Do number four

02:51:59.100 --> 02:52:01.000
From number four

02:52:02.880 --> 02:52:03.360
Yeah

02:52:03.360 --> 02:52:05.760
Don't worry about one two three because I'm going to

02:52:05.760 --> 02:52:06.900
Change that

02:52:06.900 --> 02:52:08.880
But from number four then

02:52:08.880 --> 02:52:10.520
You can then

02:52:10.520 --> 02:52:12.980
Continue with that

02:52:12.980 --> 02:52:14.900
Let's continue and see

02:52:15.860 --> 02:52:17.260
I think you might

02:52:17.260 --> 02:52:20.020
Want to change the last number there Winnie

02:52:20.020 --> 02:52:21.540
Two zero

02:52:21.540 --> 02:52:22.520
Two seven

02:52:22.520 --> 02:52:24.640
I think it was what? One something

02:52:24.640 --> 02:52:26.900
If I'm not mistaken that you used for MongoStats

02:52:27.660 --> 02:52:29.600
Yeah let's see

02:52:29.600 --> 02:52:30.860
Is any column missing

02:52:32.220 --> 02:52:32.860
Wait

02:52:32.860 --> 02:52:33.900
Log off sorry

02:52:33.900 --> 02:52:36.080
Log off from the database exit from the database

02:52:36.080 --> 02:52:37.900
Yeah now run it

02:52:37.900 --> 02:52:40.100
But change that number so paste it and then

02:52:40.100 --> 02:52:41.940
Change that number to twelve instead of

02:52:41.940 --> 02:52:43.900
Twenty four make it twelve there you are

02:52:44.800 --> 02:52:45.300
Thanks

02:52:45.900 --> 02:52:47.900
Alright cool

02:52:50.560 --> 02:52:51.760
Ah problems

02:52:52.760 --> 02:52:54.060
What did you

02:52:54.060 --> 02:52:54.860
Break

02:52:58.140 --> 02:52:59.720
Let's see let's see

02:53:01.000 --> 02:53:02.120
Let's see

02:53:05.200 --> 02:53:07.200
What's happening

02:53:07.900 --> 02:53:09.940
Library no search command enable

02:53:09.940 --> 02:53:11.900
Sharding what number are you

02:53:12.780 --> 02:53:14.260
By eight

02:53:14.260 --> 02:53:15.900
Eight point two

02:53:17.760 --> 02:53:17.900
Okay

02:53:18.760 --> 02:53:20.200
Enable Sharding the library

02:53:20.200 --> 02:53:22.020
Database is enable

02:53:23.720 --> 02:53:23.900
Sharding

02:53:26.620 --> 02:53:28.220
You're not supposed to

02:53:28.220 --> 02:53:30.340
Be connected into your MongoStats

02:53:30.340 --> 02:53:32.020
I'm following everything

02:53:32.020 --> 02:53:33.300
Wait so

02:53:33.300 --> 02:53:35.560
It actually says are you connected to

02:53:35.560 --> 02:53:37.620
MongoS so you're supposed to connect to

02:53:37.620 --> 02:53:38.640
MongoS first

02:53:38.640 --> 02:53:41.460
Then you can edit you can do your

02:53:41.460 --> 02:53:43.280
Sharding so exit that and then do

02:53:44.020 --> 02:53:45.640
MongoS something something

02:53:45.640 --> 02:53:47.140
I'm not sure just

02:53:47.140 --> 02:53:49.280
Control R

02:53:51.740 --> 02:53:52.360
MongoS

02:53:54.900 --> 02:53:55.520
Space

02:54:00.600 --> 02:54:01.320
Space

02:54:01.320 --> 02:54:01.980
Space dash dash

02:54:01.980 --> 02:54:03.780
Space dash dash

02:54:03.780 --> 02:54:05.940
Why is it not giving you the

02:54:05.940 --> 02:54:06.940
So

02:54:07.520 --> 02:54:09.980
Wait hold on I'm going to take control

02:54:09.980 --> 02:54:11.800
So you're supposed to

02:54:11.800 --> 02:54:13.360
Use this one

02:54:14.680 --> 02:54:15.400
Crap

02:54:15.400 --> 02:54:18.000
Oh yes it's MongoS

02:54:18.000 --> 02:54:20.780
And then you can then

02:54:21.540 --> 02:54:23.500
Start doing this

02:54:23.500 --> 02:54:25.740
Use library did you create the

02:54:25.740 --> 02:54:26.660
Library database

02:54:28.340 --> 02:54:29.820
Yeah the

02:54:29.820 --> 02:54:31.640
Top one I

02:54:31.640 --> 02:54:32.680
Believe I did

02:54:33.500 --> 02:54:35.500
Then you can then continue with this

02:54:35.500 --> 02:54:37.760
So things like enabling Sharding

02:54:37.760 --> 02:54:40.720
Adding Sharding you need to be

02:54:40.720 --> 02:54:41.800
MongoS

02:54:41.800 --> 02:54:43.900
For you to be able to do it

02:54:43.900 --> 02:54:45.500
So now you can continue

02:54:46.460 --> 02:54:47.840
Alright thank you

02:54:47.840 --> 02:54:48.480
Cool

02:54:48.480 --> 02:54:50.020
Ok Kumbelani

02:54:51.200 --> 02:54:52.200
Winnie

02:54:52.200 --> 02:54:54.100
You broke again

02:54:54.100 --> 02:54:55.960
Yes I'm back again

02:54:56.480 --> 02:54:58.200
The monitor balance

02:54:58.200 --> 02:54:59.020
Activity

02:54:59.020 --> 02:55:04.580
When I tried to even run

02:55:04.580 --> 02:55:06.140
That command it's not

02:55:06.140 --> 02:55:08.860
Saying the syntax error near unexpected

02:55:08.860 --> 02:55:10.020
Token

02:55:10.020 --> 02:55:12.600
Monitor balance activity you need to

02:55:12.600 --> 02:55:13.720
Be

02:55:14.480 --> 02:55:15.860
In the

02:55:15.860 --> 02:55:17.860
What you call this in the

02:55:18.740 --> 02:55:19.900
MongoS try to

02:55:19.900 --> 02:55:21.840
Try to run it when either in the MongoS

02:55:21.840 --> 02:55:23.080
Or in the MongoS

02:55:23.080 --> 02:55:25.580
So for example if you say

02:55:25.580 --> 02:55:28.340
MongoS and then

02:55:28.340 --> 02:55:30.280
Try and

02:55:30.280 --> 02:55:31.860
Monitor that

02:55:32.440 --> 02:55:33.400
Actually no

02:55:33.400 --> 02:55:35.160
You need to be in MongoS

02:55:35.860 --> 02:55:38.120
MongoS sorry

02:55:39.940 --> 02:55:40.740
MongoS

02:55:40.740 --> 02:55:41.920
This one

02:55:41.920 --> 02:55:44.060
And then because then there is

02:55:44.060 --> 02:55:44.780
The cluster

02:55:44.780 --> 02:55:47.800
There's the Sharding then you can be able to

02:55:47.800 --> 02:55:49.440
Run it

02:55:49.440 --> 02:55:50.840
There you are

02:55:50.840 --> 02:55:52.240
Ok thank you

02:55:52.240 --> 02:55:54.160
No worries

02:56:08.100 --> 02:56:10.460
I am back

02:56:12.520 --> 02:56:13.360
Ok

02:56:14.440 --> 02:56:15.340
Let's see

02:56:15.340 --> 02:56:18.220
Can you be able to find

02:56:19.060 --> 02:56:19.900
Secondary

02:56:22.300 --> 02:56:23.980
Let's see

02:56:25.380 --> 02:56:26.220
2B

02:56:26.220 --> 02:56:28.440
Number 2

02:56:28.440 --> 02:56:29.260
B

02:56:29.260 --> 02:56:31.840
Use secondary nodes for read scaling

02:56:32.460 --> 02:56:33.220
Try

02:56:35.920 --> 02:56:36.760
Distribute

02:56:36.760 --> 02:56:38.700
Reads and writes use secondary nodes for

02:56:38.700 --> 02:56:39.500
Scaling

02:56:39.500 --> 02:56:41.400
Try and capture later secondary

02:56:41.400 --> 02:56:42.040
All caps

02:56:43.600 --> 02:56:46.320
So just one up arrow and then

02:56:46.320 --> 02:56:47.720
Change that to secondary in caps lock

02:56:47.720 --> 02:56:50.700
Sorry I am only back now

02:56:51.220 --> 02:56:52.300
I see my friend

02:56:52.300 --> 02:56:54.000
It is still struggling

02:56:54.660 --> 02:56:55.820
Later cases

02:56:57.220 --> 02:56:58.340
The dot

02:56:58.340 --> 02:57:00.060
Books dot find

02:57:01.620 --> 02:57:02.740
In library

02:57:04.440 --> 02:57:05.080
Wait

02:57:06.040 --> 02:57:06.680
So

02:57:06.680 --> 02:57:08.760
That collection is library dot books

02:57:08.760 --> 02:57:11.020
Use secondary nodes for read

02:57:11.020 --> 02:57:12.120
DB dot

02:57:12.680 --> 02:57:14.440
Books dot find

02:57:14.440 --> 02:57:17.160
Why is it DB dot books

02:57:17.160 --> 02:57:18.840
And yet you

02:57:18.840 --> 02:57:20.640
Have

02:57:20.640 --> 02:57:22.800
Your DB is

02:57:22.800 --> 02:57:23.880
Library

02:57:24.860 --> 02:57:26.720
Change that to library

02:57:26.720 --> 02:57:28.540
Let's see

02:57:28.540 --> 02:57:31.120
DB dot library dot find

02:57:31.120 --> 02:57:32.580
I wanna check

02:57:32.580 --> 02:57:33.720
I wanna see something

02:57:33.720 --> 02:57:35.920
And then the secondary is small letter again

02:57:35.920 --> 02:57:37.200
Yeah small letter

02:57:37.720 --> 02:57:39.880
Ok then it's best to just go to the

02:57:39.880 --> 02:57:40.800
Original

02:57:42.060 --> 02:57:43.980
Where was I

02:57:43.980 --> 02:57:45.860
It's happening to my mouse

02:57:45.860 --> 02:57:47.980
Why is my up and down not working

02:57:50.040 --> 02:57:50.680
Anymore

02:57:50.680 --> 02:57:51.740
Up and down

02:57:51.740 --> 02:57:52.760
Up and down

02:57:52.760 --> 02:57:54.300
Is it not working

02:57:54.300 --> 02:57:57.220
Now let me just copy this one

02:57:57.220 --> 02:57:59.700
And change the focus

02:57:59.700 --> 02:58:00.720
Library

02:58:02.280 --> 02:58:03.200
That's weird

02:58:03.200 --> 02:58:04.680
It's supposed to

02:58:04.680 --> 02:58:06.740
Look like that but

02:58:06.740 --> 02:58:08.780
But that has taken

02:58:08.780 --> 02:58:09.940
Too long

02:58:09.940 --> 02:58:11.240
So it doesn't make sense

02:58:11.240 --> 02:58:13.420
I will change the secondary to caps

02:58:13.420 --> 02:58:15.220
To see if

02:58:15.220 --> 02:58:16.740
I could not find the matching read

02:58:16.740 --> 02:58:18.700
Mode secondary for set

02:58:18.700 --> 02:58:20.240
Shared replica 2 wait

02:58:20.240 --> 02:58:22.160
Hold on

02:58:24.440 --> 02:58:25.840
Replica 2

02:58:25.840 --> 02:58:26.900
Shared 2

02:58:26.900 --> 02:58:28.720
So

02:58:28.720 --> 02:58:31.240
Shared 2 replica set

02:58:31.240 --> 02:58:33.360
This one

02:58:33.360 --> 02:58:36.180
Shared replica 1

02:58:36.180 --> 02:58:41.800
Shared replica 2 set

02:58:41.800 --> 02:58:46.300
Let's do something quickly here

02:58:46.300 --> 02:58:46.900
MongoS

02:58:47.760 --> 02:58:49.220
Let's

02:58:49.220 --> 02:58:52.300
Get into this one

02:58:55.620 --> 02:58:57.860
And then

02:58:57.860 --> 02:59:00.300
Check the status

02:59:08.300 --> 02:59:10.620
It's actually primary

02:59:10.620 --> 02:59:12.500
Replica 2 set is actually

02:59:12.500 --> 02:59:14.440
The primary right

02:59:14.440 --> 02:59:16.400
Let's check replica

02:59:16.400 --> 02:59:18.240
3 set

02:59:18.240 --> 02:59:20.640
And then the status

02:59:20.640 --> 02:59:22.080
So I'm assuming

02:59:22.820 --> 02:59:25.140
You need to change

02:59:26.440 --> 02:59:28.260
Why are they all primary now?

02:59:28.460 --> 02:59:29.380
Replica 3 set

02:59:29.380 --> 02:59:31.620
2, 0, 2, 4

02:59:31.620 --> 02:59:33.620
Shared separate replica set

02:59:33.620 --> 02:59:35.780
2, 3, Shared 1

02:59:36.640 --> 02:59:38.520
Shared 1, Shared 2, Shared 3

02:59:38.520 --> 02:59:40.680
So we don't have any read replica

02:59:40.680 --> 02:59:42.660
Is that what we're saying?

02:59:44.240 --> 02:59:45.040
Any secondary

02:59:49.760 --> 02:59:52.360
You're doing number what? Number 8

02:59:52.360 --> 02:59:53.840
Or number 7?

02:59:55.040 --> 02:59:55.280
8

02:59:59.460 --> 03:00:02.560
On which number?

03:00:03.400 --> 03:00:05.160
I think 3

03:00:05.160 --> 03:00:06.060
Somewhere there

03:00:06.060 --> 03:00:08.120
8.3

03:00:08.120 --> 03:00:09.980
This one

03:00:09.980 --> 03:00:11.580
Check 2

03:00:11.580 --> 03:00:13.240
How is that? I know

03:00:13.240 --> 03:00:15.740
Somewhere on top there

03:00:15.740 --> 03:00:17.040
Yes, that find

03:00:17.040 --> 03:00:18.880
That find here

03:00:19.580 --> 03:00:21.420
I don't think

03:00:21.420 --> 03:00:24.680
So you did this one, you did this one and everything is fine

03:00:24.680 --> 03:00:25.380
Yeah

03:00:25.380 --> 03:00:27.640
My worry is they are all showing

03:00:28.400 --> 03:00:29.000
The

03:00:29.580 --> 03:00:29.980
Okay

03:00:30.880 --> 03:00:33.640
Just didn't find at the time

03:00:33.640 --> 03:00:35.600
No, but are we saying

03:00:35.600 --> 03:00:37.560
It didn't find anything or

03:00:37.560 --> 03:00:39.560
Just didn't give us a response

03:00:39.560 --> 03:00:41.060
Which is weird

03:00:41.060 --> 03:00:42.500
Okay, wait

03:00:47.240 --> 03:00:49.640
And then

03:00:49.640 --> 03:00:52.040
This is where it's failing

03:00:52.040 --> 03:00:53.480
Not

03:00:53.480 --> 03:00:54.560
Secondary

03:00:55.800 --> 03:00:57.600
Come on

03:00:57.600 --> 03:00:58.120
Come on

03:00:59.560 --> 03:01:01.940
Just be honest

03:01:01.940 --> 03:01:03.480
What did you do? No, remember

03:01:03.480 --> 03:01:04.660
I said

03:01:05.560 --> 03:01:07.160
Is everything working?

03:01:11.080 --> 03:01:11.560
Okay

03:01:12.760 --> 03:01:13.860
Replicaset

03:01:13.860 --> 03:01:14.860
Shard 2

03:01:15.560 --> 03:01:16.240
Replicaset

03:01:16.240 --> 03:01:19.020
Could not find host matching read preferences

03:01:19.020 --> 03:01:20.180
Mod secondary

03:01:20.180 --> 03:01:22.100
Which I understand because

03:01:22.100 --> 03:01:23.400
It's not

03:01:23.400 --> 03:01:26.960
So this one is primary

03:01:29.360 --> 03:01:31.560
Replicaset 3

03:01:31.560 --> 03:01:34.760
This one is 3

03:01:34.760 --> 03:01:37.260
This one is

03:01:37.260 --> 03:01:38.580
Replicaset 2

03:01:40.660 --> 03:01:41.360
It's only

03:01:41.360 --> 03:01:42.240
Got a primary

03:01:42.240 --> 03:01:43.580
Which is weird

03:01:43.580 --> 03:01:47.480
Okay, let me have a look at this information quickly

03:02:07.740 --> 03:02:09.140
Okay

03:02:09.140 --> 03:02:11.320
I created the

03:02:11.320 --> 03:02:12.160
Shards

03:02:13.260 --> 03:02:15.060
Among us

03:02:15.060 --> 03:02:18.620
Let's see

03:03:05.380 --> 03:03:06.780
Okay

03:03:51.320 --> 03:03:52.720
Okay

03:04:05.320 --> 03:04:06.720
Okay

03:04:06.720 --> 03:04:06.780
Okay

03:04:06.780 --> 03:04:06.800
Okay

03:09:15.460 --> 03:09:16.860
Okay.

03:09:22.760 --> 03:09:23.020
Okay.

03:09:30.360 --> 03:09:32.120
Okay.

03:09:33.140 --> 03:09:34.240
Okay.

03:10:28.620 --> 03:10:30.020
Okay.

03:10:30.340 --> 03:10:31.240
Okay.

03:10:35.020 --> 03:10:36.420
Okay.

03:10:36.420 --> 03:10:37.260
Okay.

03:10:43.420 --> 03:10:44.820
Okay.

03:10:52.780 --> 03:10:54.180
Okay.

03:11:00.480 --> 03:11:01.880
Okay.

03:11:02.140 --> 03:11:03.540
Okay.

03:11:04.460 --> 03:11:05.860
Okay.

03:11:11.660 --> 03:11:13.060
Okay.

03:14:43.140 --> 03:14:54.920
problems. That's what happens when you are good. I'm just looking at that issue. So I picked up

03:14:54.920 --> 03:15:00.580
that we needed you need to add a secondary, right? But now the connection, I want to make

03:15:00.580 --> 03:15:05.540
sure that it can connect. That's what I'm trying to figure out. That's what I'm trying to sort out.

03:17:46.920 --> 03:17:53.580
And then they say there's a part where it says request callback. And then you keep this request

03:17:53.580 --> 03:17:58.100
a callback for me and put in my numbers. Because remember, I spoke to them last week,

03:17:58.200 --> 03:18:06.260
they supposed to have delivered, but they're not saying anything. So I don't know what's

03:18:06.320 --> 03:18:32.400
making it. So I'm just trying to troubleshoot connection to the secondary.

03:18:36.700 --> 03:18:46.780
Yeah, secondary. Hold on. Were you the one with the hand up? No. Okay. Winnie, was it you?

03:18:47.100 --> 03:18:54.140
Was it me? But I'm stuck as well. You're probably stuck on the same one? Yes. Okay,

03:18:54.140 --> 03:19:02.340
cool. So what I'm trying to figure out now is why it's refusing connection. So first things

03:19:02.340 --> 03:19:09.900
remember, we just had a primary, right? Which is this one, but I added a secondary

03:19:13.380 --> 03:19:19.560
on this port, but it's not reachable. That's the issue. So the way you'd add a secondary is

03:19:19.560 --> 03:19:28.040
just by you log into whichever one that you want to add a secondary. And then you add

03:19:28.040 --> 03:19:39.360
just like this. And then the IP and whatnot. But now, this is now I just need to figure out

03:19:39.360 --> 03:19:45.720
this part, why it's not connecting. So just give me a bit to finish that up. I think

03:19:48.380 --> 03:19:51.920
2032 is good.

03:20:16.360 --> 03:20:22.080
You see, connection refused.

03:20:33.020 --> 03:20:33.700
Failed.

03:22:59.020 --> 03:23:02.860
Okay, I think I found the solution. I'll just be with you guys now.

03:23:02.860 --> 03:23:05.880
No, no, no.

03:23:06.680 --> 03:23:10.440
I'll paste that and then change

03:23:14.360 --> 03:23:20.440
secondary and then change this to three.

03:23:29.180 --> 03:23:32.580
Okay, thank you too. I'm back.

03:23:35.880 --> 03:23:37.800
Well, let me still unmute.

03:23:42.800 --> 03:23:52.840
Okay, cool. So just to refresh your

03:23:59.280 --> 03:24:05.060
Okay, cool. No problem. I'm just gonna quickly use the bathroom. I'll be with you just now.

03:24:11.260 --> 03:24:12.180
Okay.

03:24:15.980 --> 03:24:17.680
You're blocking the queue.

03:24:20.880 --> 03:24:22.520
Like how much too much.

03:24:22.520 --> 03:24:22.740
But

03:24:33.380 --> 03:24:39.740
yeah, normally, yeah, yeah, yeah. I keep quiet after lunch.

03:24:40.840 --> 03:24:41.640
Yeah.

03:25:00.680 --> 03:25:01.800
Okay.

03:25:01.960 --> 03:25:09.920
Okay, I'm back.

03:25:12.000 --> 03:25:22.260
Are you good now? Yeah. So just minimize your what you call this your terminal.

03:25:22.520 --> 03:25:30.920
I'll make it smaller. It was so huge. I think top yesterday. Now refresh your browser.

03:25:33.320 --> 03:25:40.120
Yes. Yes. Refresh that. Go into creating shards.

03:25:45.160 --> 03:25:48.280
And then go where you're creating directories.

03:25:49.860 --> 03:25:58.800
So just copy the last one on the first line. Copy the last one on the first line. Oh, it needs to be MongoDB. So the on the first line, there's the last part.

03:26:00.440 --> 03:26:02.320
No, no, no. On the first line.

03:26:03.760 --> 03:26:15.340
Yes, the last part. Yes. No, no, no. Just copy the the last few parts. Yeah. Okay, hold on. Hold on. Let me. Let me do this. So it's supposed to be this.

03:26:19.360 --> 03:26:24.800
So what we're going to do is we're going to create a folder for the secondary, right?

03:26:30.160 --> 03:26:36.040
And then here it's supposed to be Mongo. Please, the rest, please hold on so that I correct that first.

03:26:38.260 --> 03:26:47.920
And get the R MongoDB secondary, right? So which means you've got a directory for secondary. So we're going to create a shard.

03:26:50.200 --> 03:27:00.160
For this one that we created. So a secondary shard in the replica set three, in shard three replica set, right? So we come, we initiate it.

03:27:01.500 --> 03:27:06.080
Copy that part. We're going to initiate the secondary before we edit.

03:27:07.740 --> 03:27:10.080
Right. I'll explain something here.

03:27:12.620 --> 03:27:15.620
And everyone is quiet at the time. I'm not sharing my screen.

03:27:18.000 --> 03:27:22.160
Everyone is on the lunch. That's a very long lunch.

03:27:24.720 --> 03:27:31.820
Okay, let me see. But Win is here. So let me just share my screen.

03:27:32.440 --> 03:27:45.600
So what you want to do now is you want to initialize. We want to start the secondary shard, right? In replica set three.

03:27:46.220 --> 03:27:52.540
Because when we are doing this, what we're doing is we're just creating primary shards, right?

03:27:52.980 --> 03:27:57.320
In the different replica sets. So let me move this.

03:27:58.280 --> 03:28:07.040
Yeah. So in essence, we created the primary shard in the replica set one, a primary shard in replica set two, primary shard in replica set three.

03:28:07.040 --> 03:28:21.940
Now, if we were to create all this to say everything wanted to be in one replica, then it was meant to have, the name was supposed to just remain as shard one replica set, if that makes sense.

03:28:22.360 --> 03:28:35.520
Right. So for example, now I'm going to add a secondary in shard three replica set, right? So then you've got it in three replica set, but on a different part, right?

03:28:35.520 --> 03:28:46.880
So you then come here and then copy that and then come here and then paste that.

03:28:48.100 --> 03:29:03.760
Right. And then. Right. It is created that that secondary one in shard three. Right. So we then come to replica set shard three.

03:29:03.760 --> 03:29:05.520
And then we log into it.

03:29:06.500 --> 03:29:17.120
Come on. Right. And then we log into that. And then now we need to add that.

03:29:20.220 --> 03:29:22.960
What do you call this now? What did I do now?

03:29:27.020 --> 03:29:34.680
Let me re-share because I don't know what happened here. I'm going to share it just now.

03:29:43.200 --> 03:29:45.460
This is what I'm looking for.

03:29:47.200 --> 03:30:05.220
Now, when you're in there now, we want to add that, the one that we initiated. So it couldn't log on because it couldn't find that shard. Right. So then it was, I think it was 33, if I'm not mistaken. You do an RAS add and then you do an RAS status.

03:30:10.160 --> 03:30:15.440
Right. Then you should be able to see this now. Right. Which is connected. So.

03:30:16.500 --> 03:30:29.020
Sync source host is 2024, which is the primary and this is the secondary. And if we go up, we should be able to see that primary. So now, if you then go and run number.

03:30:29.940 --> 03:30:31.040
What number was it again?

03:30:32.300 --> 03:30:36.180
Yeah, that's fine. Yes. Let's do this.

03:30:41.100 --> 03:30:47.720
Let's enable sharding in library. Oh, I'm not connected to MongoS now. So your Mongo.

03:30:50.380 --> 03:31:00.440
Is H dash dash port 27 zero. What was it? One six or one four for your MongoS?

03:31:01.500 --> 03:31:02.680
One six.

03:31:03.120 --> 03:31:04.700
Yeah. Okay. Cool. Now.

03:31:07.620 --> 03:31:11.260
We then say SH enable sharding on library.

03:31:15.380 --> 03:31:19.420
Right. Enable sharding that that. And then.

03:31:24.120 --> 03:31:24.800
That.

03:31:26.460 --> 03:31:38.560
So it says shard collection, library.books, cluster time, blah, blah, blah, blah, blah, and then our moment of truth.

03:31:40.220 --> 03:31:48.320
Okay. It's still not picking it up. So, which means we need to shard. Let's see.

03:31:49.580 --> 03:31:53.160
Okay. So this is setting up a new replica set.

03:31:54.520 --> 03:31:59.980
Verify replication. And then check document. Okay.

03:32:01.680 --> 03:32:07.400
This is a bit weird because it's supposed to still read that secondary.

03:32:09.380 --> 03:32:10.780
Which is weird.

03:32:17.800 --> 03:32:19.660
Right. And then.

03:32:26.120 --> 03:32:27.320
And then.

03:32:31.680 --> 03:32:34.920
My friend says I'm a skip problems. I might just continue at number three.

03:32:35.840 --> 03:32:37.380
I'm a sort of skip problems.

03:32:43.620 --> 03:32:51.960
Which is quite interesting because then the setup would have would be different in that

03:32:51.960 --> 03:32:57.640
you need to create a replica set after which is which one makes sense because you used to create

03:32:57.640 --> 03:33:07.280
replica set and then you do the reading the using of secondary nodes for read scaling. Right.

03:33:08.320 --> 03:33:11.880
Yeah. But continue at number three. Let me look at this again.

03:33:13.900 --> 03:33:16.180
Because it's also not confusing me as a person.

03:33:16.620 --> 03:33:21.120
Yeah. No, no. As long as you're the one that says it's not making sense.

03:33:22.100 --> 03:33:28.900
Look, you usually would create a replica first. Right. Your replica. And then you can set your

03:33:28.900 --> 03:33:33.680
read replica and then continue with whatever you're doing because you've set the read replica.

03:33:34.440 --> 03:33:39.360
This one of if I need to actually exchange would actually be interesting.

03:33:40.440 --> 03:33:45.960
So if I continue at number three while I'm missing a secondary node here.

03:33:46.880 --> 03:33:48.320
So you might.

03:33:49.620 --> 03:33:58.460
So so so my my my thing is you might what you call this you might.

03:34:00.820 --> 03:34:06.360
It might work in this way where you create the distribute the reading rights. Right.

03:34:06.660 --> 03:34:10.360
And then create a replica after which doesn't make sense to me. Honestly.

03:34:11.000 --> 03:34:18.940
Um, yeah, because number three is actually setting up a replica and then that that that

03:34:18.940 --> 03:34:22.340
my replica set get help URL.

03:34:23.520 --> 03:34:29.800
After get up dot com, it says cumberland. Yes. But it doesn't make sense to you.

03:34:32.160 --> 03:34:39.700
Remember, we take we take all this stuff from our what you call it called collection of

03:34:40.260 --> 03:34:45.280
that was stored in the company. You see now. So it could have actually been that

03:34:45.280 --> 03:34:50.820
the previous trainer didn't actually use the vision that I'm using now. If that makes sense.

03:34:51.840 --> 03:34:56.100
The latest vision now. Right. So what you do is you pull that information,

03:34:56.240 --> 03:35:00.740
you pull that code and then place it into your report and then be able to use it.

03:35:02.940 --> 03:35:10.880
Yeah, you know, hopefully, the session that you are having tomorrow find smoother.

03:35:10.880 --> 03:35:15.080
Yeah, it will be smoother. Yeah, it will be smoother.

03:35:15.660 --> 03:35:21.660
Okay, can I take a quick break? That's actually how to I'll be on a break.

03:35:22.020 --> 03:35:23.380
All right, that's fine. No problem.

03:35:24.760 --> 03:35:27.880
That only applies to me. The rest must continue working.

03:35:29.460 --> 03:35:31.740
They are too quiet. Are they even there?

03:35:31.800 --> 03:35:32.820
Yeah, we're still here.

03:35:33.220 --> 03:35:37.080
Okay. All right. Let me just look at this.

03:36:33.860 --> 03:36:35.260
Okay.

03:37:15.060 --> 03:37:16.460
Okay.

03:37:43.620 --> 03:37:45.020
Okay.

03:38:08.600 --> 03:38:10.000
Okay.

03:38:44.720 --> 03:38:46.120
Okay.

03:39:26.000 --> 03:39:27.400
Okay.

03:39:30.800 --> 03:39:32.200
Okay.

03:40:10.980 --> 03:40:12.380
Okay.

03:40:42.180 --> 03:40:43.900
Winnie, are you still there?

03:40:51.880 --> 03:40:55.920
Yes, I'm still here. Sorry, I got distracted. Somebody

03:40:55.920 --> 03:40:58.460
at work wanted me to check something for them.

03:40:58.540 --> 03:41:05.880
All right, that's fine. No problem. I will shut down that.

03:41:07.100 --> 03:41:09.520
That I'm about to do a school run around past three.

03:41:10.360 --> 03:41:11.320
Oh, is it?

03:41:11.800 --> 03:41:12.100
Yeah.

03:41:12.700 --> 03:41:18.920
Okay. What was I using? What was I using?

03:41:40.000 --> 03:41:40.740
Okay.

03:41:42.040 --> 03:41:50.500
So what I've picked up is that he just needs to use the correct library

03:41:52.000 --> 03:42:00.800
when he gets here. So he logs into MongoSH, logs into the right library, and then everything should be fine.

03:42:02.740 --> 03:42:07.800
But I'll update the documentation. What time do you need to start your school run?

03:42:07.920 --> 03:42:10.520
I have to leave the office at quarter past three.

03:42:11.040 --> 03:42:12.220
Quarter past three. Okay.

03:42:12.400 --> 03:42:12.780
Yes.

03:42:14.760 --> 03:42:17.840
Okay. Anyway, let's see in your machine,

03:42:17.840 --> 03:42:23.280
wireless is not around. Let me connect to it.

03:42:27.440 --> 03:42:28.240
Okay, let's see.

03:42:31.460 --> 03:42:34.560
So let's create an index that starts with that.

03:42:39.680 --> 03:42:42.800
So the first thing that I'm going to do is

03:42:45.240 --> 03:42:52.340
I need to check on your 12th article 24.

03:42:57.360 --> 03:43:00.640
I'm going to check if there is a secondary.

03:43:01.500 --> 03:43:01.900
Okay.

03:43:02.020 --> 03:43:05.800
It's only primary, right? So we're going to add a secondary.

03:43:06.680 --> 03:43:08.940
Where is that creating a shard?

03:43:09.860 --> 03:43:13.700
The very first part is creating the directory of the shard.

03:43:13.960 --> 03:43:15.580
So let's do that.

03:43:19.480 --> 03:43:20.520
You're chasing me away.

03:43:26.480 --> 03:43:29.160
Sorry about that. Someone is saying, but you might not leave me.

03:43:32.020 --> 03:43:33.960
They don't want you in the office anymore.

03:43:33.960 --> 03:43:36.840
No, they don't want me in the office. They're tired of me.

03:43:37.000 --> 03:43:43.640
Okay, cool. Anyway, so after we create the directory, we go and start the,

03:43:44.700 --> 03:43:55.240
I need to refresh the, so wait, I need to, we need to then start the secondary shard

03:43:58.320 --> 03:44:01.640
under shard replica set three.

03:44:03.380 --> 03:44:08.280
Right. We go there and then we start that.

03:44:09.660 --> 03:44:12.540
Let's see if it's a four.

03:44:13.080 --> 03:44:15.140
Okay, that's fine.

03:44:17.120 --> 03:44:20.100
And port 27033. That's fine.

03:44:20.820 --> 03:44:25.860
It is created successfully. So now we then need to log on to

03:44:30.620 --> 03:44:36.040
port 27024, which is our shard number three.

03:44:36.360 --> 03:44:38.920
Right. We log in there.

03:44:40.000 --> 03:44:47.060
And then we do, I think it's this and then

03:44:51.540 --> 03:45:01.780
localhost and then port 27031, is it 3133.

03:45:02.680 --> 03:45:04.820
Right. So we add it to that.

03:45:07.980 --> 03:45:10.460
How? What's the command for this one?

03:45:22.340 --> 03:45:30.660
What is that command? To add, to add, it should be rs add status, status.

03:45:30.860 --> 03:45:43.460
Where is it now? Can't find that command now.

03:45:47.760 --> 03:45:50.560
rs status.

03:45:53.600 --> 03:46:00.000
David books. Hey,

03:46:00.000 --> 03:46:01.880
it's supposed to be rs add.

03:46:02.540 --> 03:46:03.180
Okay.

03:46:10.700 --> 03:46:19.660
And to log on to that and then rs status.

03:46:26.960 --> 03:46:31.940
Oh, it's brackets and not the name.

03:46:32.300 --> 03:46:33.460
Where is your machine now?

03:46:36.200 --> 03:46:39.860
That's square brackets, but normal brackets.

03:46:47.080 --> 03:46:53.700
Now it's so it's added now. So if we do status,

03:47:01.700 --> 03:47:08.700
we should be able to see 2733, which is secondary.

03:47:09.260 --> 03:47:12.060
Right. We've added that.

03:47:12.280 --> 03:47:15.180
So now we need to log on as mongos.

03:47:21.440 --> 03:47:25.120
What was it again? Your mongos.

03:47:25.980 --> 03:47:29.000
One, one, 12, one, two.

03:47:29.000 --> 03:47:29.360
Yeah.

03:47:29.620 --> 03:47:30.900
Sorry. Yeah.

03:47:31.220 --> 03:47:34.420
And then let's close this.

03:47:34.420 --> 03:47:39.700
Now we can go and enable sharding, which is number eight.

03:47:43.620 --> 03:47:45.380
First, let's use library.

03:47:46.820 --> 03:47:48.200
Use library.

03:47:49.600 --> 03:47:52.360
Right. Does it have any collections?

03:47:53.940 --> 03:47:58.080
Okay, cool. So which means the information is there already.

03:47:58.800 --> 03:48:03.800
And then I just need to move this.

03:48:04.160 --> 03:48:04.660
It's distracting.

03:48:09.680 --> 03:48:12.060
So it's even there.

03:48:12.580 --> 03:48:16.400
So we've enabled sharding lunchtime.

03:48:16.520 --> 03:48:18.820
So we've enabled sharding.

03:48:18.820 --> 03:48:27.900
Right. And then, um, then call and then shards, um, that create an index.

03:48:27.900 --> 03:48:30.100
Why do I need to create an index?

03:48:31.840 --> 03:48:33.580
Okay. Now I'll need to do it from

03:48:33.720 --> 03:48:34.120
Um,

03:48:40.360 --> 03:48:57.800
and the seven zero to four and then use library and then add db dot library dot create

03:48:57.840 --> 03:49:13.440
index and then it should be the score ID hashed, I think.

03:49:14.080 --> 03:49:26.780
Uh, control R index create index.

03:49:31.120 --> 03:49:32.680
Okay. Let's make it easy.

03:49:32.780 --> 03:49:37.920
Let's just go to indexing and then get index create.

03:49:39.880 --> 03:49:40.780
There we are.

03:49:42.880 --> 03:49:46.380
So then we come here.

03:49:53.320 --> 03:49:54.720
Oops.

03:49:57.200 --> 03:49:57.740
What do we do now?

03:50:10.780 --> 03:50:11.280
Okay.

03:50:13.340 --> 03:50:14.520
Now it's what?

03:50:14.520 --> 03:50:16.140
What collection does it have again?

03:50:18.880 --> 03:50:21.500
They're at the db dot library.

03:50:21.820 --> 03:50:22.540
Okay, cool.

03:50:22.920 --> 03:50:26.920
Hashtag is now sorted and then I go back there.

03:50:26.960 --> 03:50:32.220
I plug into mongolsh and if we go back there.

03:50:42.680 --> 03:50:44.540
Um, yes, library.

03:50:45.680 --> 03:50:50.380
We change login to the db and it should go through now.

03:50:50.460 --> 03:50:50.780
Okay.

03:50:50.780 --> 03:50:52.900
Just create index, but I just created index.

03:50:53.260 --> 03:50:54.080
That's weird.

03:50:54.080 --> 03:50:57.700
Um, see.

03:51:12.240 --> 03:51:15.560
Control R create index.

03:51:16.520 --> 03:51:17.100
Okay.

03:51:17.260 --> 03:51:18.640
This is the same way that I did it.

03:51:21.020 --> 03:51:22.940
Oh, okay.

03:51:22.940 --> 03:51:27.100
Now I know it's on books, not on library.

03:51:47.020 --> 03:51:48.640
We should be good now.

03:51:48.640 --> 03:51:51.740
And then if we try and do that,

03:51:51.740 --> 03:51:55.020
it should show us what we want to see.

03:51:55.600 --> 03:51:56.540
There we are.

03:51:56.820 --> 03:51:58.640
So it's not showing us what's in the secondary.

03:51:59.220 --> 03:52:04.100
So what needs to be changed is indexing.

03:52:04.280 --> 03:52:05.300
I need to add indexing.

03:52:05.420 --> 03:52:13.260
I also need to add the rs dot add stuff to be able to edit the secondary one.

03:52:14.200 --> 03:52:17.040
And then, yeah, for the rest, I think it should be good.

03:52:17.060 --> 03:52:18.900
Just be mindful that with this one,

03:52:19.460 --> 03:52:22.220
you will need to create the directories first.

03:52:22.920 --> 03:52:25.100
So the same way you did on that.

03:52:25.320 --> 03:52:27.860
I'll add that stuff so that it's step by step.

03:52:27.980 --> 03:52:32.140
Then you need to add the directories first and then run the replica set.

03:52:32.560 --> 03:52:35.660
This one automatically has one name replica, right?

03:52:35.780 --> 03:52:36.860
It's one replica name.

03:52:37.320 --> 03:52:39.300
So automatically this one will be the primary

03:52:39.300 --> 03:52:40.700
and this one will be the secondary.

03:52:40.700 --> 03:52:42.140
This is true, right?

03:52:42.240 --> 03:52:47.760
And then you create the replica set and then insert documents into that.

03:52:47.760 --> 03:52:51.600
And then you should be able to check this using MongoS.

03:52:51.600 --> 03:52:53.740
So you should be good to go.

03:52:54.320 --> 03:52:54.840
Yeah.

03:52:55.640 --> 03:52:57.940
And I think the rest should work out fine.

03:52:58.180 --> 03:52:58.440
Yeah.

03:52:59.160 --> 03:53:01.020
But I'm going to add the stuff today.

03:53:02.980 --> 03:53:09.620
So later on when you have time, then you should be able to work on it.

03:53:10.500 --> 03:53:11.240
Okay, cool.

03:53:12.140 --> 03:53:17.360
So I think and then you can then do exercise two, exercise day two.

03:53:17.360 --> 03:53:23.100
Whatever time you can be able to do it says to the installation.

03:53:23.200 --> 03:53:27.500
You don't need to do it, but you need to create the hospital authentication.

03:53:27.720 --> 03:53:30.880
You can do it and then you can do some indexing.

03:53:31.640 --> 03:53:35.980
You can do some right replicate replica sets

03:53:35.980 --> 03:53:38.160
and then you can do some backup and restore.

03:53:38.560 --> 03:53:39.420
It should be simple.

03:53:39.580 --> 03:53:40.560
Exercise should be simple.

03:53:43.620 --> 03:53:52.380
So you're saying we can do exercise one exercise.

03:53:53.400 --> 03:53:55.140
Is it day two or day one day?

03:53:55.140 --> 03:53:55.680
Day two.

03:53:56.840 --> 03:53:57.380
Day two.

03:53:57.580 --> 03:53:57.820
Yes.

03:53:58.360 --> 03:53:59.020
And we can.

03:53:59.900 --> 03:54:00.620
Sorry, it's Ivan.

03:54:00.820 --> 03:54:03.300
So we can skip the creation of the hospital.

03:54:04.000 --> 03:54:04.360
No, no, no.

03:54:04.440 --> 03:54:05.380
Don't skip the creation.

03:54:05.500 --> 03:54:07.560
This is a completely new creation altogether.

03:54:07.640 --> 03:54:10.680
What you skip is the installation because it starts off.

03:54:10.680 --> 03:54:13.600
Installation of MongoDB or the DB.

03:54:13.920 --> 03:54:14.180
Yes.

03:54:14.180 --> 03:54:17.920
And then you don't really need to do it because you already have it.

03:54:17.920 --> 03:54:18.180
Right.

03:54:18.380 --> 03:54:20.220
And then you start from create the hospital.

03:54:21.420 --> 03:54:22.460
Oh, okay.

03:54:23.360 --> 03:54:23.580
Yeah, cool.

03:54:23.980 --> 03:54:24.140
Thanks.

03:54:24.160 --> 03:54:24.800
Sorry, Cumberland.

03:54:25.100 --> 03:54:25.440
Yes.

03:54:25.760 --> 03:54:28.360
I think it's complaining that it's not primary.

03:54:30.040 --> 03:54:30.620
Who is that?

03:54:30.700 --> 03:54:31.320
Is it Ivan?

03:54:32.100 --> 03:54:32.860
Yeah, it's Ivan.

03:54:33.320 --> 03:54:33.500
Okay.

03:54:33.740 --> 03:54:34.200
Let's have a look.

03:54:36.950 --> 03:54:39.170
It's hospital, switch to DB hospital.

03:54:39.490 --> 03:54:40.710
That's that's that.

03:54:40.870 --> 03:54:41.530
Not primary.

03:54:42.230 --> 03:54:44.010
Why should it complain that it's not primary?

03:54:45.010 --> 03:54:47.810
It's just supposed to add a DB and that's it.

03:54:49.850 --> 03:54:51.630
It doesn't, it doesn't need.

03:54:53.510 --> 03:54:54.130
Wait.

03:54:55.590 --> 03:54:57.430
Let me check something.

03:55:05.170 --> 03:55:05.950
Not right.

03:55:06.190 --> 03:55:06.390
Right.

03:55:06.610 --> 03:55:06.730
Table.

03:55:06.810 --> 03:55:07.290
Primary.

03:55:07.370 --> 03:55:08.490
Mongo server error.

03:55:10.490 --> 03:55:11.770
Is it because of the shards?

03:55:16.190 --> 03:55:17.690
What number are you busy with?

03:55:20.190 --> 03:55:25.830
Exercise day two, the day two, the one at the bottom, but on the.

03:55:26.190 --> 03:55:26.350
Yeah.

03:55:26.350 --> 03:55:26.590
No, no.

03:55:26.630 --> 03:55:27.910
Which one on?

03:55:28.150 --> 03:55:30.530
Oh, you skip the first part of creating the DB.

03:55:30.590 --> 03:55:33.730
So this one is the creating the hospital database.

03:55:41.930 --> 03:55:42.730
Okay.

03:55:44.370 --> 03:55:52.430
So what's happening is remember there's the replicas that you created, right?

03:55:52.970 --> 03:55:59.050
And when you just log in as Mongo SH, right?

03:55:59.710 --> 03:56:04.390
It's it, it logs in, but it's not the primary that you need to be using.

03:56:04.410 --> 03:56:06.490
So you need to use it.

03:56:06.530 --> 03:56:12.490
Remember we created the Mongo SH that was important.

03:56:12.490 --> 03:56:16.350
Twenty seven zero zero two four, which had a secondary.

03:56:16.950 --> 03:56:18.830
That's where it's set as primary.

03:56:18.890 --> 03:56:23.890
So you can be able to, to run it on those ones, not on the normal Mongo,

03:56:24.310 --> 03:56:27.450
something, something if that makes sense.

03:56:28.270 --> 03:56:31.730
So the normal, the normal Mongo is no more a primary,

03:56:31.730 --> 03:56:36.010
but we've got one that we set as the primary, which is the twenty seven or two four.

03:56:36.590 --> 03:56:38.610
Then you can be able to run your stuff on it.

03:56:39.870 --> 03:56:43.770
And then you can do the optimization replication.

03:56:43.990 --> 03:56:48.710
You might not really need to do this replica set part.

03:56:50.230 --> 03:56:51.150
It's up to you.

03:56:51.150 --> 03:56:53.730
You can do it, but you can still do using this replica.

03:56:55.130 --> 03:56:56.050
What do you call this?

03:56:56.270 --> 03:56:57.090
That is there already.

03:56:57.830 --> 03:56:59.130
You still can be able to do this.

03:56:59.130 --> 03:57:02.490
You still can be able to just use the same database.

03:57:02.590 --> 03:57:06.150
So it's up to you, but let me to make it easy.

03:57:06.250 --> 03:57:07.450
Let me change this.

03:57:08.650 --> 03:57:10.010
To two seven zero two four.

03:57:12.190 --> 03:57:12.910
No, no.

03:57:13.030 --> 03:57:16.850
The reason I was asking is because I went past that and didn't have any issues.

03:57:17.350 --> 03:57:17.510
Yeah.

03:57:17.670 --> 03:57:17.890
Yeah.

03:57:18.170 --> 03:57:19.790
So twenty seven zero two.

03:57:19.790 --> 03:57:20.730
You didn't have issues.

03:57:22.470 --> 03:57:23.510
Who is that?

03:57:23.750 --> 03:57:24.810
Who is who's speaking now?

03:57:25.530 --> 03:57:26.290
A corner.

03:57:26.650 --> 03:57:28.590
A corner is your replica.

03:57:28.790 --> 03:57:31.790
Is your is your replication replica set working?

03:57:31.930 --> 03:57:32.950
Does it have a secondary?

03:57:34.390 --> 03:57:36.190
Oh, no, I left that.

03:57:38.930 --> 03:57:42.330
They said must be like like he and skip problems.

03:57:44.650 --> 03:57:45.330
No, that's fine.

03:57:45.470 --> 03:57:45.870
No problem.

03:57:45.910 --> 03:57:48.570
So then it would work because you don't have a replica set that's running.

03:57:49.570 --> 03:57:53.430
But I'm going to add I'm going to top up on the documentation currently

03:57:53.430 --> 03:57:57.050
to be able to add a secondary onto it.

03:57:57.350 --> 03:58:02.630
And then also how to remove the replicas, how to switch off the replicas to shut them down.

03:58:04.110 --> 03:58:05.410
Did someone take over my screen?

03:58:06.450 --> 03:58:06.830
Yes.

03:58:11.510 --> 03:58:13.110
Are you back now?

03:58:15.230 --> 03:58:17.390
No, I've been back for a while now.

03:58:17.650 --> 03:58:22.170
Oh, is it when I was when I was assisting Winnie, where were you?

03:58:22.170 --> 03:58:24.810
No, when Winnie said she's been at quarter past three.

03:58:25.030 --> 03:58:25.770
Oh, you were there.

03:58:26.070 --> 03:58:26.770
Oh, okay.

03:58:26.970 --> 03:58:27.310
I agree.

03:58:27.430 --> 03:58:28.490
You know, she's the lady.

03:58:28.610 --> 03:58:29.410
She was leaving.

03:58:29.710 --> 03:58:32.110
You said, no, insensitive mailing is not here.

03:58:32.170 --> 03:58:33.350
I'll help you Winnie.

03:58:33.590 --> 03:58:34.050
Let's share.

03:58:35.190 --> 03:58:38.890
At least, you know, my friend, I was doing the right thing.

03:58:40.990 --> 03:58:43.470
You and I've been with exercise day two.

03:58:43.730 --> 03:58:44.130
Yes.

03:58:45.130 --> 03:58:46.510
Four point four.

03:58:46.710 --> 03:58:46.930
Yes.

03:58:47.010 --> 03:58:47.930
The rerunning.

03:58:48.270 --> 03:58:48.610
Yes.

03:58:49.250 --> 03:58:50.690
You're not running it in.

03:58:50.690 --> 03:58:56.430
You're not running it in in what you call this in a database.

03:58:56.670 --> 03:58:58.490
Your database failed to log in.

03:58:58.530 --> 03:58:59.890
Did you realize that?

03:59:00.470 --> 03:59:00.750
No.

03:59:00.810 --> 03:59:02.530
Where did it feel here?

03:59:02.930 --> 03:59:06.270
Let me highlight the I thought it was nice and colorful.

03:59:06.310 --> 03:59:08.170
I thought it's weird.

03:59:08.590 --> 03:59:09.910
It confuses.

03:59:10.110 --> 03:59:10.290
Right.

03:59:10.330 --> 03:59:11.750
It shows you that connection string.

03:59:11.810 --> 03:59:15.730
But also after that, it doesn't log in like it's just weird.

03:59:15.730 --> 03:59:21.130
So your very first thing is you need to be able to log in first.

03:59:21.910 --> 03:59:24.750
Put at dash dash port two seven zero two four.

03:59:24.830 --> 03:59:26.030
Must add it to it.

03:59:27.610 --> 03:59:28.010
Mongo.

03:59:28.570 --> 03:59:28.970
S.H.

03:59:29.050 --> 03:59:29.270
Yes.

03:59:29.290 --> 03:59:29.890
Space.

03:59:33.790 --> 03:59:35.970
Port two seven zero two four.

03:59:37.710 --> 03:59:40.110
That's primary for that thingy.

03:59:42.410 --> 03:59:43.950
She didn't spell Mongo, right?

03:59:45.350 --> 03:59:47.090
It's the end of the day.

03:59:47.090 --> 03:59:49.150
It's understand they are.

03:59:49.150 --> 03:59:52.210
So now you can you can create that database.

03:59:52.370 --> 03:59:53.530
Create that database first.

03:59:53.630 --> 03:59:58.610
Go up first and then create the this database.

03:59:58.830 --> 03:59:59.030
Yeah.

03:59:59.150 --> 04:00:00.830
Why do I create that?

04:00:01.790 --> 04:00:03.230
That you did you create it?

04:00:05.050 --> 04:00:05.670
Enter.

04:00:09.250 --> 04:00:12.750
Okay, cool.

04:00:12.890 --> 04:00:13.930
Now you can go down.

04:00:14.510 --> 04:00:15.130
Okay.

04:00:18.310 --> 04:00:20.830
And then it was a retaining of 5,000.

04:00:22.610 --> 04:00:24.610
I'm telling you, that was created.

04:00:26.210 --> 04:00:28.510
But now you see I'm questioning myself as well.

04:00:30.950 --> 04:00:32.730
I want to see something.

04:00:34.350 --> 04:00:35.190
See here.

04:00:35.630 --> 04:00:37.290
So the retaining this 5,000.

04:00:38.750 --> 04:00:40.510
So I'm wondering why.

04:00:40.510 --> 04:00:41.870
Is hospital.

04:00:42.950 --> 04:00:45.130
And it actually had added.

04:00:45.490 --> 04:00:47.110
Yeah, that's interesting.

04:00:47.690 --> 04:00:56.430
And then I had to also I've also added the authorization.

04:00:57.310 --> 04:00:59.150
Well, you can add it.

04:00:59.430 --> 04:01:02.530
But for for quicker way, if you want to troubleshoot

04:01:02.530 --> 04:01:04.610
and spend time troubleshooting, then you can do that.

04:01:04.910 --> 04:01:08.270
But what you can also do is do the rest of the stuff

04:01:08.270 --> 04:01:10.150
and then come back to authorization.

04:01:10.150 --> 04:01:12.830
Then you can be checking to are you logged in?

04:01:12.970 --> 04:01:13.990
Can you see collections?

04:01:14.150 --> 04:01:15.970
Can you check your indexes and whatnot?

04:01:16.350 --> 04:01:17.350
If that makes sense.

04:01:18.030 --> 04:01:20.870
For now, I'm moving my authorization.

04:01:21.230 --> 04:01:23.370
Yeah, you can remove it and do the rest of the work.

04:01:23.830 --> 04:01:26.550
And then when you are done, then you edit

04:01:26.550 --> 04:01:29.090
so that you can then come back.

04:01:30.210 --> 04:01:33.590
And when you can authorize, you can put back authorization.

04:01:34.150 --> 04:01:36.790
Now you only need to take your stuff like checking of indexes.

04:01:36.790 --> 04:01:41.830
Do you know if the documents checking that like you are doing now,

04:01:42.670 --> 04:01:45.010
checking the status of your shards and stuff.

04:01:56.670 --> 04:01:59.510
Skip that and then go to creating of indexes.

04:02:00.370 --> 04:02:04.810
But remember which MongoDB are looking in.

04:02:04.810 --> 04:02:07.850
Logging into the one that's got 27024.

04:02:09.710 --> 04:02:10.770
You should remember that.

04:02:10.850 --> 04:02:15.610
Remember, we created that's where you added the database last.

04:02:15.750 --> 04:02:16.890
So you can add that into it.

04:02:18.790 --> 04:02:20.430
I'm not going to forget.

04:02:20.670 --> 04:02:24.950
I've got a lot of problems that I have in my head.

04:02:25.470 --> 04:02:26.570
OK, do MongoSH.

04:02:26.810 --> 04:02:29.010
Maybe because your application, you didn't have a secondary.

04:02:29.170 --> 04:02:30.210
It should be able to work.

04:02:31.250 --> 04:02:32.010
OK, it won't work.

04:02:32.050 --> 04:02:32.790
So it makes sense.

04:02:32.790 --> 04:02:45.650
So use the one that's got 27024 MongoSH and then use.

04:02:46.770 --> 04:02:47.110
What is it?

04:02:47.110 --> 04:02:47.930
Is it a hospital?

04:02:49.410 --> 04:02:50.490
The database name?

04:02:51.050 --> 04:02:52.370
Yes, it's hospital.

04:02:52.590 --> 04:02:52.810
Yeah.

04:02:52.810 --> 04:02:56.390
So you can do use hospital and then you can run the rest of the stuff.

04:02:58.390 --> 04:02:59.510
Is hospital.

04:03:01.750 --> 04:03:04.450
Yeah, so you can go down, run the rest of the stuff.

04:03:07.230 --> 04:03:10.290
You might not really need to initialize that.

04:03:10.970 --> 04:03:13.610
It doesn't like, I don't think.

04:03:14.290 --> 04:03:17.570
So number one, you've got a replica set already, right?

04:03:17.590 --> 04:03:20.090
You're already in the, if you look at your terminal,

04:03:20.550 --> 04:03:21.830
you're already in the primary.

04:03:21.990 --> 04:03:25.590
So you don't really need to initialize a new replica set.

04:03:25.590 --> 04:03:27.770
For practice purposes, it's up to you.

04:03:28.210 --> 04:03:32.290
But what you can actually do is actually go and do the insert with the right concern

04:03:32.290 --> 04:03:37.990
because already you've got a replica that you're in already, if that makes sense.

04:03:38.330 --> 04:03:43.750
So you can just go to that and then you do your rs.status.

04:03:48.390 --> 04:03:49.590
rs.status.

04:03:51.410 --> 04:03:52.310
And then brackets.

04:03:53.410 --> 04:03:56.950
Oh, you wait for me to finish first.

04:03:57.170 --> 04:03:58.390
You rush to place it.

04:04:00.030 --> 04:04:03.030
So rs.status and then brackets at the end.

04:04:05.010 --> 04:04:09.430
Yeah, the rs dot should not, there shouldn't be any space there.

04:04:10.410 --> 04:04:10.490
Yeah.

04:04:11.510 --> 04:04:15.570
Then you run that and then you've got your secondary there

04:04:15.570 --> 04:04:17.510
and then just go up a bit.

04:04:17.670 --> 04:04:20.310
Then you've got your primary there should be good.

04:04:20.310 --> 04:04:22.650
Any election.

04:04:22.870 --> 04:04:25.550
So it's got a whole lot of details that you can read through.

04:04:26.290 --> 04:04:28.750
But yeah, everything should be good.

04:04:29.490 --> 04:04:30.950
And then you're good to go.

04:04:32.930 --> 04:04:34.270
Then you'll back up and restore.

04:04:37.050 --> 04:04:40.890
Just just to make sure that what you call this.

04:04:42.170 --> 04:04:44.250
You you're outside the database.

04:04:45.030 --> 04:04:45.970
That's number one.

04:04:47.050 --> 04:04:47.650
Yes.

04:04:47.650 --> 04:04:52.110
And then number two, because you don't have authentication enabled,

04:04:52.550 --> 04:04:57.090
you can remove the part where it's from minus you

04:04:57.090 --> 04:04:59.650
to up until where it says admin on the yes.

04:05:00.590 --> 04:05:00.970
Right.

04:05:01.470 --> 04:05:03.630
So that whole part you don't need.

04:05:04.130 --> 04:05:05.490
So exit, exit, exit.

04:05:05.630 --> 04:05:05.790
Yeah.

04:05:05.890 --> 04:05:07.130
Exit the database first.

04:05:07.850 --> 04:05:09.790
Then I'll show you what I'm talking about.

04:05:10.670 --> 04:05:11.090
Right.

04:05:11.230 --> 04:05:14.050
And then copy the first backup, the MongoDB.

04:05:15.550 --> 04:05:16.310
Mongo dump.

04:05:16.510 --> 04:05:16.650
Sorry.

04:05:16.950 --> 04:05:17.170
Yeah.

04:05:17.170 --> 04:05:19.470
And then paste that, but don't press enter yet,

04:05:19.630 --> 04:05:20.930
because you're going to remove some stuff.

04:05:22.250 --> 04:05:23.890
So from where it says admin.

04:05:25.810 --> 04:05:27.350
The last yes.

04:05:28.530 --> 04:05:30.350
I did admin one, two, three.

04:05:30.570 --> 04:05:31.110
No, no, no.

04:05:31.330 --> 04:05:34.470
So we want to remove the whole part that deals with authentication.

04:05:35.050 --> 04:05:35.230
Right.

04:05:36.950 --> 04:05:39.330
So remove that part up until minus you.

04:05:40.430 --> 04:05:43.990
But yes, remove that up until admin.

04:05:43.990 --> 04:05:47.310
And then remove the other parts.

04:05:47.650 --> 04:05:47.930
Yes.

04:05:48.210 --> 04:05:49.090
No, no, no.

04:05:49.150 --> 04:05:49.990
No, no, no.

04:05:50.010 --> 04:05:51.010
The other side.

04:05:52.530 --> 04:05:55.230
So that's one, two, three.

04:05:55.550 --> 04:05:57.570
So up until where it says minus you,

04:05:57.570 --> 04:05:59.590
remove up until where it says minus you.

04:06:00.670 --> 04:06:02.570
Because you don't need any authentication.

04:06:03.230 --> 04:06:05.770
Continue again, remove minus you.

04:06:06.090 --> 04:06:11.530
And then do dash, dash port space two seven zero two four.

04:06:14.650 --> 04:06:15.690
Seven zero.

04:06:16.290 --> 04:06:16.690
Two four.

04:06:17.210 --> 04:06:18.950
Remember, that's where your database is sitting.

04:06:19.610 --> 04:06:21.350
Two seven zero two four.

04:06:23.250 --> 04:06:25.030
Seven zero two four.

04:06:25.810 --> 04:06:28.550
Yeah, I think you should be good to go.

04:06:28.550 --> 04:06:30.970
Two seven zero two four.

04:06:31.230 --> 04:06:33.650
Did we, the last time, did we add equals?

04:06:34.810 --> 04:06:35.830
No, no, no, we didn't.

04:06:36.030 --> 04:06:37.330
So you can press enter.

04:06:43.990 --> 04:06:48.790
I said, click on the terminal and then present.

04:06:52.890 --> 04:06:53.010
Okay.

04:06:53.470 --> 04:06:56.130
It is dumped it right, which is fine.

04:06:56.490 --> 04:06:56.870
Right.

04:06:57.310 --> 04:07:02.030
What you need to do is log into the database and then delete patients.

04:07:02.530 --> 04:07:02.750
Right.

04:07:03.450 --> 04:07:08.650
So, um, mongo s h space minus minus dash.

04:07:08.650 --> 04:07:12.050
I mean, it's the port two seven zero two four.

04:07:14.610 --> 04:07:15.430
Enter.

04:07:16.650 --> 04:07:18.510
And then use use hospital.

04:07:21.810 --> 04:07:25.150
And then, uh, db patients dot delete many.

04:07:25.270 --> 04:07:28.150
So you're deleting everything in patients.

04:07:33.690 --> 04:07:34.030
Right.

04:07:36.610 --> 04:07:37.090
Deleted.

04:07:37.150 --> 04:07:38.870
It has deleted five thousand.

04:07:39.130 --> 04:07:39.530
Right.

04:07:39.530 --> 04:07:44.170
Um, then do db dot patients dot find.

04:07:44.510 --> 04:07:53.770
And then in brackets, the patients dot find and then brackets.

04:07:59.690 --> 04:08:00.570
The closing bracket.

04:08:02.490 --> 04:08:03.470
Enter.

04:08:05.110 --> 04:08:06.330
So it's empty now.

04:08:06.610 --> 04:08:06.850
Right.

04:08:06.850 --> 04:08:10.410
And now exit the database.

04:08:12.290 --> 04:08:20.630
Now you need to run the restore without the authentication part.

04:08:20.830 --> 04:08:21.330
Yes.

04:08:21.830 --> 04:08:24.550
So instead of doing that, do the app arrow.

04:08:25.250 --> 04:08:28.330
Just go on the terminal, click on the terminal to app arrow.

04:08:28.690 --> 04:08:28.930
Yes.

04:08:28.950 --> 04:08:31.150
Change that mongo dump to mongo restore.

04:08:32.370 --> 04:08:32.930
It's the same thing.

04:08:34.390 --> 04:08:35.650
Then do restore.

04:08:35.970 --> 04:08:36.230
Yeah.

04:08:36.230 --> 04:08:38.070
And then press enter.

04:08:38.970 --> 04:08:39.130
Right.

04:08:39.830 --> 04:08:41.110
Uh, mongo restore.

04:08:43.610 --> 04:08:43.670
Okay.

04:08:43.890 --> 04:08:44.370
What's happening?

04:08:46.290 --> 04:08:55.070
Oh, is it an, is it in dash dash hospital dash backup hospital?

04:08:55.450 --> 04:08:55.970
Okay.

04:08:57.330 --> 04:08:58.170
Oh, okay.

04:08:58.210 --> 04:08:58.550
Sorry.

04:08:59.010 --> 04:09:00.270
Um, do app arrow.

04:09:01.830 --> 04:09:02.570
Do app arrow.

04:09:03.750 --> 04:09:04.330
Yes.

04:09:04.330 --> 04:09:06.210
And then remove the dash dash out.

04:09:06.230 --> 04:09:06.650
Mm-hmm.

04:09:07.890 --> 04:09:11.070
And then after backup type hospital, forward slash hospital.

04:09:13.110 --> 04:09:13.710
Enter.

04:09:16.210 --> 04:09:17.370
Successfully restored.

04:09:17.550 --> 04:09:18.630
And then you can log back in.

04:09:21.370 --> 04:09:22.570
Uh, you need that port.

04:09:23.190 --> 04:09:24.030
Don't forget that port.

04:09:25.950 --> 04:09:26.550
Yeah.

04:09:26.550 --> 04:09:27.770
And then use hospital.

04:09:28.010 --> 04:09:31.590
And then, uh, just do app arrow.

04:09:32.850 --> 04:09:33.250
Yeah.

04:09:34.510 --> 04:09:35.430
There you are.

04:09:35.430 --> 04:09:37.650
The information is back and restored.

04:09:47.690 --> 04:09:54.470
Hospital database, create that, and replicate right concerned.

04:09:56.090 --> 04:09:56.430
Okay.

04:09:56.830 --> 04:09:57.830
And you should be good to go.

04:10:03.050 --> 04:10:03.810
It says complete.

04:10:03.810 --> 04:10:07.430
So, um, some troubleshooting scenarios.

04:10:07.970 --> 04:10:11.390
That's not really much of, of things that thingy.

04:10:11.390 --> 04:10:14.290
No, no, I, I hope everyone was keeping up.

04:10:16.030 --> 04:10:16.910
Are they still there?

04:10:17.190 --> 04:10:17.810
That's the question.

04:10:18.870 --> 04:10:19.090
Yeah.

04:10:19.250 --> 04:10:20.990
No, like he has been too quiet.

04:10:22.570 --> 04:10:25.270
No, but they can still do it later on.

04:10:25.670 --> 04:10:30.470
Um, you, you sound very far from your laptop.

04:10:30.770 --> 04:10:32.350
I'm like, ah, I am here.

04:10:37.710 --> 04:10:42.890
I told you after lunch, I keep quiet.

04:10:43.750 --> 04:10:46.690
You kind of have at lunch.

04:10:47.670 --> 04:10:52.310
Like that's a corner.

04:10:53.850 --> 04:10:54.770
Oh, yes.

04:10:54.950 --> 04:10:55.790
He eats lunch.

04:10:56.230 --> 04:10:57.570
It's it's puppet lunchtime.

04:10:58.550 --> 04:10:59.170
Yeah.

04:10:59.450 --> 04:11:01.250
Not only lunch, even breakfast.

04:11:03.810 --> 04:11:05.550
So that is a truly important.

04:11:06.470 --> 04:11:07.470
Where is he from?

04:11:07.710 --> 04:11:08.010
Is he vendor?

04:11:08.270 --> 04:11:08.570
Yes.

04:11:08.830 --> 04:11:14.290
That's why we can keep saying, um, mango DB thinking mango is that one.

04:11:18.230 --> 04:11:19.370
Yeah, no, that's fine.

04:11:20.990 --> 04:11:26.370
Um, so yeah, that's, that's all from my side.

04:11:26.510 --> 04:11:28.350
Uh, anyone else would need help.

04:11:29.310 --> 04:11:32.090
I'm still here, but for you, it's all good.

04:11:32.090 --> 04:11:35.270
I'm going to update some stuff on the documentation today.

04:11:36.050 --> 04:11:38.770
And then you still have access to your virtual machines.

04:11:39.310 --> 04:11:42.350
You still have access to the repo.

04:11:42.590 --> 04:11:44.090
If you want to pull it, you can pull it.

04:11:45.090 --> 04:11:47.690
Um, and then use it at any other time that you want.

04:11:47.870 --> 04:11:50.370
We've got access to visual machines until when?

04:11:50.810 --> 04:11:56.610
Um, did you make it and to enable to have it after the course?

04:11:58.390 --> 04:11:59.910
Uh, I don't know.

04:11:59.910 --> 04:12:00.390
Okay.

04:12:00.650 --> 04:12:04.990
Share your screen because this, I can't show you from my side from, from my screen.

04:12:06.790 --> 04:12:07.470
I'll show you a screen.

04:12:07.790 --> 04:12:10.830
Then everyone else can be able to see.

04:12:11.050 --> 04:12:12.490
I must share the whole screen.

04:12:12.950 --> 04:12:16.090
We just need where you've got your daddy's talk.

04:12:17.270 --> 04:12:19.190
There's a lot going on on my screen.

04:12:23.650 --> 04:12:25.890
Go on the other tab there.

04:12:26.130 --> 04:12:29.510
You see where it says it will go on the tab that says MongoDB on top there.

04:12:29.910 --> 04:12:31.710
On your laptop, not in the virtual machine.

04:12:32.490 --> 04:12:33.510
Yes, go there.

04:12:34.030 --> 04:12:34.270
Okay.

04:12:34.430 --> 04:12:36.290
You ticked where it says enabled.

04:12:36.870 --> 04:12:38.390
You see where it says enabled.

04:12:39.410 --> 04:12:41.330
Go on the eye on the eye.

04:12:41.430 --> 04:12:43.310
No, no, no, not that on the eye.

04:12:43.430 --> 04:12:43.890
Yes.

04:12:44.330 --> 04:12:49.490
So it just means that after the course, then it will be moved to your course desktop.

04:12:50.170 --> 04:12:52.390
Use desktop after course finishes.

04:12:52.590 --> 04:12:55.110
So in essence, it will then move it there.

04:12:56.550 --> 04:12:58.190
But go back onto that tab.

04:12:59.930 --> 04:13:00.710
Onto the tab.

04:13:02.930 --> 04:13:05.870
So go up that page.

04:13:06.230 --> 04:13:08.790
So usually it would go do home.

04:13:10.310 --> 04:13:10.790
Just click home.

04:13:11.850 --> 04:13:12.290
Desktops.

04:13:12.490 --> 04:13:13.290
Let's go to desktops.

04:13:13.650 --> 04:13:15.910
Oh, where is, where doesn't it show you standalone?

04:13:18.170 --> 04:13:18.670
Go down.

04:13:19.230 --> 04:13:20.650
Ah, it's because I'm married.

04:13:21.890 --> 04:13:26.790
Click the, the, that, uh, down arrow where there's the wheel, where there's the wheel.

04:13:26.910 --> 04:13:27.170
Yeah.

04:13:27.970 --> 04:13:30.290
And then go to where it says clone move.

04:13:31.550 --> 04:13:32.510
That's another option.

04:13:33.070 --> 04:13:34.950
And then clone to standalone desktop.

04:13:35.570 --> 04:13:38.070
And then it will create a standalone desktop.

04:13:38.850 --> 04:13:41.230
Um, it's up to you.

04:13:41.330 --> 04:13:45.110
You can wait till the course ends later on today and then clone it.

04:13:45.490 --> 04:13:49.010
And then it should go to where it says stands alone desktop.

04:13:49.090 --> 04:13:51.190
Let me, let me take over your screen quickly.

04:14:01.850 --> 04:14:02.810
Maybe, um,

04:14:05.330 --> 04:14:07.910
my screen, what screen do I want?

04:14:11.790 --> 04:14:13.330
The desktop, okay.

04:14:13.590 --> 04:14:16.370
I want the screen, the one with the desktop.

04:14:19.830 --> 04:14:21.530
Okay, let me just do this.

04:14:23.010 --> 04:14:24.610
Let me know when you can see my screen.

04:14:25.790 --> 04:14:26.710
Yeah, I can see that.

04:14:26.710 --> 04:14:27.010
Yeah.

04:14:27.350 --> 04:14:30.830
So usually to then show you courses, course, desktops, and then stand alone.

04:14:30.990 --> 04:14:34.190
So if you go to your stand alone, then no matter right now,

04:14:34.330 --> 04:14:37.230
we are looking at your calendar and the time.

04:14:37.450 --> 04:14:40.710
Hey, but let's say the whole screens.

04:14:42.450 --> 04:14:45.330
At least it's not something that's not right.

04:14:47.110 --> 04:14:50.630
Yeah, no, some of us are underage.

04:14:57.850 --> 04:15:02.330
Um, desktop machines, stand alone, the desktop.

04:15:04.250 --> 04:15:04.390
And now.

04:15:06.030 --> 04:15:06.310
Yes.

04:15:06.430 --> 04:15:06.810
Stand alone.

04:15:07.050 --> 04:15:07.390
Yeah.

04:15:07.610 --> 04:15:10.150
So usually it would come here after the course is done.

04:15:12.470 --> 04:15:16.250
And then when you see this, this, yeah, yeah.

04:15:16.410 --> 04:15:20.670
So when, when you're done every course, you get a credit of 50 pounds.

04:15:21.050 --> 04:15:21.830
As far as I know.

04:15:21.990 --> 04:15:26.590
Well, I don't know if it's just the trainer side or even you guys get it,

04:15:26.590 --> 04:15:33.590
but, um, usually I get 50 pounds is, is a, you've completed a course type of thing.

04:15:33.810 --> 04:15:35.630
So I'm not sure if participants get the same.

04:15:38.850 --> 04:15:40.090
But then what do you do with them?

04:15:40.650 --> 04:15:43.070
You, you can start another server.

04:15:43.230 --> 04:15:44.190
You can start another class.

04:15:44.350 --> 04:15:47.630
You can create a new course, but it finishes very, very quickly.

04:15:47.630 --> 04:15:51.690
That's something that you can't withdraw it if you're looking for that.

04:15:51.730 --> 04:15:52.790
Yeah, no.

04:15:56.610 --> 04:15:58.350
You can't withdraw it.

04:15:58.570 --> 04:16:01.250
That's the, that's the annoying part about it.

04:16:01.330 --> 04:16:06.670
If I, if, if it was with drawable AI, I would have had so many words.

04:16:08.750 --> 04:16:10.010
So much money.

04:16:10.910 --> 04:16:12.910
But anyway, yeah, that's the story.

04:16:14.370 --> 04:16:14.750
All right.

04:16:15.250 --> 04:16:16.670
Thank you very much.

04:16:17.270 --> 04:16:18.050
All right.

04:16:18.110 --> 04:16:18.830
Thank you guys.

04:16:18.930 --> 04:16:20.250
Thank you so much.

04:16:20.250 --> 04:16:27.150
Um, sorry, is it possible to get to this, um, information, this GitHub information?

04:16:27.570 --> 04:16:28.370
Yes, you can.

04:16:28.490 --> 04:16:29.750
You can actually have it.

04:16:29.750 --> 04:16:32.350
Uh, let me send you the URL.

04:16:33.610 --> 04:16:33.870
Okay.

04:16:38.910 --> 04:16:40.130
You see it.

04:16:40.190 --> 04:16:41.090
Oh, I'm here.

04:16:41.210 --> 04:16:42.330
At least I did something.

04:16:47.090 --> 04:16:47.630
Wow.

04:16:51.110 --> 04:16:54.290
Like this is what you are all doing.

04:17:00.970 --> 04:17:02.330
Like this.

04:17:03.650 --> 04:17:05.730
Yeah, get the hub.com.

04:17:05.970 --> 04:17:06.030
Come on.

04:17:06.570 --> 04:17:16.250
Anything for, for there's also stuff for developers though.

04:17:16.390 --> 04:17:18.970
Um, so this is MongoDB for admins.

04:17:18.970 --> 04:17:20.950
There was a time that I trade for developers.

04:17:21.050 --> 04:17:25.390
So if you go into that report, you should be able to see them.

04:17:29.610 --> 04:17:38.310
So if you go here and then, so there's MongoDB for administrators.

04:17:39.330 --> 04:17:44.810
And then, uh, then there is MongoDB for developers.

04:17:48.970 --> 04:17:50.670
And Kubernetes trainer.

04:17:51.730 --> 04:17:52.210
Yeah.

04:17:52.610 --> 04:18:00.430
CKE administrators, uh, and then, yeah, then there's Kubernetes, Kubernetes in itself.

04:18:01.130 --> 04:18:05.450
Some of the stuff, it was just my personal stuff that I was working on.

04:18:06.330 --> 04:18:11.450
But when it's training, for example, CKE, this is training, uh, intro to Azure

04:18:11.450 --> 04:18:17.770
and the AKS training, Google cloud is training, uh, WSO2 API manager,

04:18:17.770 --> 04:18:22.110
MongoDB, Oracle, Oracle, I don't think it's got anything.

04:18:22.770 --> 04:18:25.470
This Oracle is a best in itself, but Linux admin,

04:18:25.650 --> 04:18:28.170
Docker and Kubernetes training performance and all that stuff.

04:18:32.710 --> 04:18:33.730
And then supersets.

04:18:33.730 --> 04:18:38.970
If you want to do what you call this, um, big data.

04:18:40.550 --> 04:18:43.130
Superset is one very good one.

04:18:43.770 --> 04:18:45.530
Um, yeah.

04:19:03.210 --> 04:19:04.530
All right, cool.

04:19:04.790 --> 04:19:05.330
Cheers, man.

04:19:06.210 --> 04:19:06.630
Yes.

04:19:07.670 --> 04:19:08.190
Yeah, it's Ivan.

04:19:08.370 --> 04:19:13.070
I think I'm also, uh, call it a day, but just from my side,

04:19:13.070 --> 04:19:18.150
I think I just want to thank you, man, for the training and the exercises.

04:19:18.790 --> 04:19:22.450
Uh, but, uh, when I know, um, would you be doing any of the

04:19:22.450 --> 04:19:23.810
trainings that we still left with?

04:19:24.710 --> 04:19:28.470
Um, which ones I'm not sure what training you guys have.

04:19:28.570 --> 04:19:28.790
Yeah.

04:19:28.890 --> 04:19:34.690
I think there was, if I'm not mistaken, there was the Linux command line.

04:19:35.530 --> 04:19:36.090
Yeah.

04:19:36.550 --> 04:19:37.490
Uh, hold on.

04:19:37.630 --> 04:19:40.690
Let me tell you which ones I have.

04:19:40.690 --> 04:19:48.310
Um, but if it's Linux, I think definitely I'm going to be doing that.

04:19:49.030 --> 04:19:52.770
Uh, let me just see, let's see the documents here.

04:19:55.790 --> 04:20:05.550
So, um, MongoDB and then, uh, I'll need to look for the schedule,

04:20:05.550 --> 04:20:14.370
but I know that I've got, uh, some classes in, uh, so this is in February.

04:20:14.430 --> 04:20:17.530
I'm not sure if I'm doing DevOps foundation with you guys.

04:20:17.790 --> 04:20:20.230
Oh, wait, there was foundation in March.

04:20:20.830 --> 04:20:21.150
Okay.

04:20:21.370 --> 04:20:22.950
And then there's capstone project.

04:20:23.290 --> 04:20:27.330
There's Linux commands and then there's intro to DevOps principle.

04:20:27.430 --> 04:20:30.050
No, that's not you guys, but there's DevOps foundation in March.

04:20:30.270 --> 04:20:30.910
Yes, definitely.

04:20:31.050 --> 04:20:32.130
We're going to be doing together.

04:20:32.530 --> 04:20:35.450
Oh, and then Docker, Docker and Kubernetes.

04:20:37.350 --> 04:20:39.130
I've given you answers now.

04:20:39.250 --> 04:20:41.050
One of 30 points for that course.

04:20:41.930 --> 04:20:42.230
Yeah.

04:20:42.930 --> 04:20:43.150
Yeah.

04:20:43.150 --> 04:20:44.430
So yes, we're going to be doing that.

04:20:46.930 --> 04:20:47.710
No, cool.

04:20:48.190 --> 04:20:50.290
Uh, guess we'll meet then then.

04:20:50.530 --> 04:20:50.830
All right.

04:20:50.930 --> 04:20:51.070
Cool.

04:20:51.270 --> 04:20:51.730
No problem.

04:20:57.830 --> 04:20:58.350
Bye.

04:20:58.930 --> 04:21:00.190
Winnie, are you still here?

04:21:01.670 --> 04:21:03.230
Yeah, I'm joined with my phone.

04:21:03.570 --> 04:21:04.450
Oh, okay.

04:21:04.450 --> 04:21:06.910
No, you can, you can, you can jump off now.

04:21:06.990 --> 04:21:07.650
I think we're good.

04:21:09.370 --> 04:21:09.830
Okay.

04:21:09.910 --> 04:21:10.450
Thank you.

04:21:10.650 --> 04:21:11.230
All right.

04:21:11.590 --> 04:21:12.050
Cheers.

04:21:13.550 --> 04:21:14.050
Yeah.

04:21:22.550 --> 04:21:27.170
Uh, okay.

04:21:27.990 --> 04:21:28.670
Oh, okay.

04:21:28.830 --> 04:21:29.250
That's fine.

04:21:29.510 --> 04:21:30.030
Let's also.

04:21:30.030 --> 04:21:32.070
Oh

04:22:12.930 --> 04:22:14.330
Oh

04:22:51.250 --> 04:22:52.490
Oh

04:22:52.490 --> 04:22:57.230
Yes, no, I'm busy I didn't call you

04:23:02.910 --> 04:23:05.730
Know I'm busy

04:23:44.110 --> 04:23:45.510
Oh

04:24:52.150 --> 04:24:53.550
Oh

04:25:49.290 --> 04:25:50.690
Oh

04:26:20.070 --> 04:26:21.470
Oh

04:26:50.070 --> 04:26:51.470
Oh

04:27:20.970 --> 04:27:22.090
Oh

04:27:23.390 --> 04:27:27.010
Plan to wait with our three month lay by

04:27:40.050 --> 04:27:40.650
Oh

04:27:55.430 --> 04:27:57.730
Ever worry about your puff not be

04:28:04.050 --> 04:28:05.210
I

04:28:05.210 --> 04:28:06.710
Love it for Nazi

04:28:23.850 --> 04:28:28.650
Serious today stars and your bank

04:28:39.730 --> 04:28:41.130
If you

04:28:41.130 --> 04:28:57.750
This isn't a scared tactic it's the law

04:28:58.590 --> 04:29:03.470
Remember I say legal and a lie

04:29:03.470 --> 04:29:07.270
William can you send a message to anyone who's cheating in a relationship in south africa right now?

04:29:12.070 --> 04:29:13.190
And tell them what

04:29:28.550 --> 04:29:29.870
Don't include me

04:29:31.670 --> 04:29:39.830
Just watch my content and just like and comment, but if you're cheating it's up to you

04:29:47.050 --> 04:29:48.610
Use protection, man

04:30:09.070 --> 04:30:10.470
So

04:30:28.250 --> 04:30:30.770
This is just so sad.

04:30:38.410 --> 04:30:41.710
This is just so sad.

04:30:49.510 --> 04:30:52.850
This is just so sad.

04:31:13.670 --> 04:31:15.890
This is just so sad.

04:31:54.210 --> 04:31:57.310
This is just so sad.

04:31:59.450 --> 04:32:00.950
This is just so sad.

04:32:32.830 --> 04:32:35.550
How comfortable are you with your significant other challenge?

04:32:36.170 --> 04:32:38.290
Put a finger down if you've ever used their toothbrush.

04:32:39.450 --> 04:32:41.650
Put a finger down if you've ever peed in front of them.

04:32:42.410 --> 04:32:45.310
Put a finger down if you've ever squeezed a pencil on them.

04:32:46.130 --> 04:32:48.590
Put a finger down if you've ever pooped in front of them.

04:32:49.510 --> 04:32:52.670
Put a finger down if you've ever been in the room while they wiped.

04:32:53.810 --> 04:32:57.790
Put a finger down if you've ever tried to dutch oven your significant other.

04:32:58.770 --> 04:33:03.890
How comfortable are you with your significant other?

04:33:22.670 --> 04:33:22.710
This is just so sad.

04:33:22.710 --> 04:33:23.550
This is just so sad.

04:33:43.490 --> 04:33:46.730
Know that you're sitting tough.

04:33:47.390 --> 04:33:49.770
Number two, we're at the tough.

04:33:58.930 --> 04:34:03.450
Want to see your crush kiss you?

04:34:27.870 --> 04:34:29.850
One for tonight.

04:34:34.390 --> 04:34:41.290
Yeah, yeah, yeah, yeah.

04:34:48.630 --> 04:34:50.790
Beyonce said if you like it,

04:34:50.830 --> 04:34:50.970
Beyonce said if you like it,

04:34:50.970 --> 04:34:52.210
Beyonce said if you like it, then you should have put a ring

04:34:52.870 --> 04:34:55.810
then you should have put a ring

04:35:03.050 --> 04:35:21.090
Beyonce said if you like it, then you should have put a ring

04:35:21.090 --> 04:35:24.490
Beyonce said if you like it, then you should have put a ring

04:36:55.810 --> 04:36:57.550
I was like, I was getting so mad.

04:36:58.310 --> 04:36:59.990
He was like, stop it.

04:37:00.150 --> 04:37:01.870
Old Joey would be like, what?

04:37:02.170 --> 04:37:03.270
I just want this choice.

04:37:03.710 --> 04:37:06.410
Old Joey would say, what is up with the boot in between?

04:37:07.710 --> 04:37:08.930
I was like, put the hazards on.

04:37:09.030 --> 04:37:09.510
Don't be a liar.

04:37:09.590 --> 04:37:10.750
I was like, five seconds away.

04:37:11.070 --> 04:37:12.130
I was trying to get the boot on.

04:37:15.630 --> 04:37:16.510
I'm distracted.

04:37:19.150 --> 04:37:21.070
Show them exactly what you just showed me.

04:37:22.050 --> 04:37:22.490
Okay.

04:37:22.490 --> 04:37:27.030
One of those websites called Landing Site AI.

04:37:29.170 --> 04:37:29.950
Make a new website.

04:37:30.170 --> 04:37:32.230
All you do is just type in the name of your business.

04:37:33.110 --> 04:37:36.770
And then you put in a few sentences about what you want the website to look like.

04:37:39.130 --> 04:37:40.210
And make your website.

04:37:40.770 --> 04:37:41.670
Wait two minutes.

04:37:42.090 --> 04:37:43.530
And there you have it.

04:37:44.110 --> 04:37:47.190
A customized website ready for you in two minutes.

04:37:47.330 --> 04:37:50.390
You can go and change any of the images, the text.

04:37:50.390 --> 04:37:53.190
There's even an AI bot that you can use.

04:37:53.450 --> 04:37:56.430
Cape Town the 27th of January 25.

04:37:56.870 --> 04:37:58.870
Much respect to this taxi driver.

04:38:31.710 --> 04:38:33.110
Go.

04:38:48.950 --> 04:38:50.370
When she didn't give you no action last night.

04:38:50.370 --> 04:38:52.290
She's just gonna show me her face, come on.

04:38:52.750 --> 04:38:53.670
Show your face!

04:39:01.750 --> 04:39:03.590
Can you switch them out?

04:39:04.630 --> 04:39:06.670
Fuck, bite themselves and they're nervous.

04:39:06.790 --> 04:39:08.070
You made me nervous!

04:39:09.190 --> 04:39:10.350
You made me nervous!

04:39:15.070 --> 04:39:16.670
You know how many...

04:39:16.670 --> 04:39:23.350
You know how many...

04:39:23.350 --> 04:39:24.730
You know how many...

04:39:39.390 --> 04:39:46.510
You know how many...

04:40:35.710 --> 04:40:39.810
You know how many...

04:40:39.810 --> 04:40:39.870
You know how many...

04:40:58.370 --> 04:41:09.690
You know how many...

04:41:20.430 --> 04:41:23.430
I have clients that want me to fuck them in the ass.

04:41:26.510 --> 04:41:28.850
I have clients that want me to fuck them in the ass.

04:41:29.490 --> 04:41:29.970
I have clients that want me to fuck them in the ass.

04:41:34.590 --> 04:41:35.310
I have clients that want me to fuck them in the ass.

04:41:35.690 --> 04:41:36.470
I have clients that want me to fuck them in the ass.

04:41:36.930 --> 04:41:38.890
I have clients that want me to fuck them in the ass.

04:41:38.970 --> 04:41:39.530
I have clients that want me to fuck them in the ass.

04:41:39.550 --> 04:41:39.610
I have clients that want me to fuck them in the ass.

04:41:53.310 --> 04:41:54.710
I

04:42:22.310 --> 04:42:23.710
Know

04:43:08.190 --> 04:43:09.590
I

04:43:38.150 --> 04:43:39.570
Could never

04:44:08.170 --> 04:44:09.570
I

04:44:21.250 --> 04:44:22.650
Oh

04:44:47.350 --> 04:44:48.750
I

04:45:11.430 --> 04:45:11.590
I

04:46:07.510 --> 04:46:08.910
I

04:46:09.590 --> 04:46:10.170
I

04:46:39.590 --> 04:46:40.910
I

04:47:10.090 --> 04:47:11.490
You