 Okay. Thank you. Hello everyone. Myself Sushant. I'm working as a database solution consultant for Ashnik Technology. So, working on some various database technologies like Postgres, some other open source technologies like MongoDB and CouchPace. To just briefly tell about Ashnik, we are open source solution provider company and we are providing enterprise solutions on the open source software for various clients about the topic. So, today I'm going to talk about the Postgres SQL deployment on Amazon RDS. Basically, the reason I took this topic is I was at one of my client's site. So, it was kind of consulting and then they came up with the requirement that they wanted their new Postgres instance to be on Amazon RDS. So, that was the time actually, even myself actually I started doing more on Amazon RDS. So, I thought and when at that time actually I found it is very easy to work on this thing, Amazon RDS. So, I just want to share the same thing with you guys. So, the agenda for this talk is first I will talk about the challenges which we have been facing for maybe last few years and the solution which was provided by RDS. So, when you are moving on to Amazon RDS or when you are deploying your Postgres instance on the RDS, you can overcome those challenges and what are the benefits. So, why the customer would want to move on to the Postgres, the Postgres instance on RDS. So, I will also talk about that as well. So, the guys who has been working as a DBA maybe for last 10-15 years, they might be aware that like a decade back we had databases or the server which were deployed in in-house data centers and then we will have our DBA team or the in-house DBA team which will take care of those databases. So, while we are deploying those servers, those servers will have some limited capacity in terms of number of CPUs, number of memory that you can allocate and the storage as well. So, there were some limitations and when you are planning the servers, so during those years when you are planning the servers, you used to plan, we guys used to plan as per the business requirement considering what will be the database growth or the business growth in the next 3-5 years. And after 5 years, if that particular your estimates, if it goes wrong and if your growth has come up within 2 years, so your server usually it will start responding slowly because the CPU or your resource level limitation has reached earlier than you have expected. Then it will result into some new upgradation. You will have to do some upgradation. Again, you will have to plan for new storage or new server. And it was not easy during those years because there was a procurement process that has to done. It will result into some new kind of upgradation project. So, there will be some separate team that has to be established who will take care of moving this existing infra into some new hardware. So, it was a time consuming process. And the time taken for upgradation, it was also more because time taken for upgradation I would say for migration as well. And when it comes to debating, there used to be like you have to have separate DBA which would have some expertise on a particular skill set. Like there has to be some DBA for the post raise or maybe some other admins which are there in the market. And they will take care of only those particular, I will say, the technology. So, that you were not able to use your DBAs for, I would say, extensively some other admins. So, when you are going on the RDS, Amazon RDS, so the benefit is that you are doing a deployment by using the web-based access control. So, it is a web-based console through which you will do the deployment. It is like a graphical user interface. And even for a junior DBA, maybe, or even person who has basic knowledge of the database, he can do the implementation easily just by just logging into the screen. Even I try to keep my slides more with the images because they are not that good explaining those things. So, maybe my slides will talk for me. So, if you are planning to move on to the, if you are planning to move your post raise instance on the RDS. So, you just have to do one thing. You can log into this particular URL console.awds.amazon.com, RDS. And there you can select the post raise as well as instance of your choice or the engine. And then it will take you to the next slide. So, as you can see, it's very interactive. You just have to, the instance engine is like post raise and you can select the version of your choice. The current version those are available are starting from version post raise version 9.3 to the latest version post raise 9.6. So, maybe as per your requirement, maybe you have not yet migrated your application. If it is still using the post raise maybe 9.4. So, you have the options of selecting post raise version 9.4 over here. But being a database consultant, I will definitely suggest that if you are planning to move on to the RDS, you should try to upgrade your application and upgrade your database so that you can take a benefit of the features which are available in the latest version. That is post raise 9.6. Then the next is about the DB instance class. So, this is something about you are aware of the CPU, the number of CPUs that you want and the memory. So, accordingly you can select your instance class over here. So, this is something about the number of CPUs and memory. If you can see on the left side actually I just try to have a detailed explanation here. So, in the instance class there are the instance class with particular CPU and memory configuration. So, if you are looking for some kind of OLAP environment where usually there will be requirement of more number of CPUs and the higher RAM. So, maybe definitely you can go for something like DBR3 8x large which has like number of 32 CPUs, 250 around GB of RAM. And if you have some old DB requirement where even as along with the RAM and CPU the storage also matters. The number of the IOX over there. Then there is option in the storage as well. So, here in the storage there are two options that are available. One is the general SSD and second is the provision IOX. So, in the general SSD this particular storage it is I will recommend it if someone like there are some small businesses maybe startups which are which cannot afford to have the separate data. So, they can go for the general SSD which will give them option to select a storage maybe starting from 5 GB. And IOX for the general SSD start along like from 100 IOX per second that is the kind of storage you can get over here. Whereas for the business like maybe financial institute or maybe some other highly transactional system. So, there definitely you can select something there is option provision IOX. So, when you are going for the provision IOX there the minimum IOX that start is around like 100 1000 IOX per second and the storage that can be around like 100 GB of storage that will be get allocated. Again in the provision IOX you can have the storage of almost like 6 TB. So, if you have that big of size of database and if the requirement of IOX is like around you can have IOX as high as like 30000 IOX per second. So, that kind of IOX you can achieve by using the RDS over here. Excuse me, can you wait for the end for questions or can we call the speaker and you for the provision IOX right? Can we change it afterwards? Yeah, you can change it after as well but then it will be some more complex process. So, if you have something that you know that okay I am going to need some kind of IOX requirement in the future. So, it is best that you have it in the beginning itself. Otherwise there is option that you can modify your IOX in the future. Then there is something about the multi-AZ deployment. So, this is something if you are configuring your PostgreSQL Instance. So, Amazon RDS actually provide this, provide the resources in various locations across the globe I would say. So, you can and those locations they have been classified into some regions. So, there are regions like Asia pack regions in Asia. You can have Singapore, Australia regions those has been defined and maybe there are few more as well. And for America there is North America, California, Virginia kind of regions those are available. So, the region maybe since you are in Singapore definitely you would like to go for the Singapore region. So, you can select that region over there. And when you are selecting multi-AZ deployment. So, here AZ is stand for the availability zone. So, when you are enabling it you will have some synchronous replica. So, there will be a replica that will be generated or created in the back end and it will be a synchronous. So, the synchronous I mean I am saying synchronous over here. It is the storage levels replication that will happen. So, Amazon has the very strong storage level replication and that can be synchronous. But, yeah one thing here just keep in mind that this particular synchronous replica it won't be available for it only like it won't be replica. It is the purpose of having it. It will be available for kind of failure. So, maybe if your instance if it goes down crash for some reason then there will be failure happen and this particular synchronous replica actually it will be promoted as a master. Or maybe if you are planning to do some maintenance on your master database that time also you can have control failure work. So, you can use this option over here. And so, the replica that will be particularly maybe if you are selecting the region like as Singapore. So, in the Singapore also there will be maybe two or three more data centers over there. So, the synchronous replica it will be within the same region. Yeah after that again it is interactive. So, you have to specify your cluster name over here then you can specify your operations or your supervisor name here. And the password. And then you move on to the next slide. So, this is something about your network security. Since, you are implementing Amazon or your post registers on Amazon RDS. So, the by default the security group available or the virtual private cloud group available is a default VPC. And then you can select option whether you want your instance to be available publicly. Or selecting as a yes. So, you can access your instance maybe from outside the cloud as well. You can configure that as well. So, this particular actually the network security it will define the inbound and outbound rule. So, that you can control the inbound traffic to your instance. So, it is a kind of firewall to ensure that only the authorized IPs they will be able to connect to your server. Then again, the database option so we can specify the your database that you want to create port over here. And there is a db parameter group. So, parameter group it is something like the configuration parameter that will control the behavior of the post registers. So, you have the option to have your customized parameter group here. But if you are not doing that the default will be selected as a default parameter group. And you can configure instance accordingly. You have option in the future as well. You can have your customized parameter group. You can create your customized parameter group and you can assign them to your instance for maybe to have some more optimization. Yeah, you can also do the encryption over here. See backup so backup configuration has been made very easy. So, for the dba who has been working maybe through putty they might be aware that it was not just related to administration the implementation. Once you are done the implementation you also have to do configuration replica configuring backup configuring backup for configuring monitoring. So, that used to take a lot of time for dbas but because of this it will help them to save that time. So, you can just select your backup retention period here. So, it starts from 7 days and I guess you can maintain the backup for almost like 30 days. And you can select the backup window here. So, you can specify the time maybe as per your business requirement or you can specify of the optic time where your backup can start and you can specify the duration for which it should be allowed to run. Yeah, and then there's option for monitoring. You can select the monitoring. You can enable the monitoring and it will enable the I will say the very good graphical reporting or the monitoring tools so that we will see in the next slides. There is a option for maintenance as well. So, if you're selecting if you're setting it on then the minor verge of great or the upgrade for the post-crisis module actually that can be done. The maintenance window. So, that will be automatic. So, when you are specifying the maintenance window, so maybe I just for example, I set it as Sunday and upgradation. So, if there is any patch that has to mind a patch upgrade. Yeah. I'm just going to ask what's the backup happening? What's the backup solution happening with that? It's kind of file system level backup, normal backups that will be hot backup I would say. Like it's an incremental backup or a full backup. It will be full backup. It's snapshot plus incremental. Yeah. So, the first snapshot is full and incremental. It's actually a store-it-all backup I would say. Yeah, and then there's actually a backup done when you launch. It's totally out of date of post-crisis. Yeah, totally outside. And just a warning on this. You see that it's got UTC after the start time. That means it's essentially like bring which mean time, right? So, it's got some customers when they launch these. They put the backup window at that time which of course in Singapore is... Yeah, yeah. That you have to take care of, right? So, just have to make sure that you are converting the time as per the times of the year. So, like it's three big ones. It will take a full backup and then on a succeeding day it will take an incremental snapshot. No, no. It just takes, when you launch it does a full backup. So, it does a snapshot for the whole thing. Every day after that for seven days will do the incrementals. We just do the incrementals. So, then like the license I need to do a recovery of point in time recovery. Yeah. So, the way that we... So, it's not good to have in between snapshot or like a differential backup or something like that. Yeah, so the way we do the incrementals you can even delete things in between and we'll still be able to use incrementals. There's very smart technology behind the scenes there. So, we don't actually need to take full. So, in addition to having these backups and here you also have archiving happening which is... Now, that is one of the things which is disabled for users to change. Now, there are some parameters which user can change and there are some parameters which user cannot change and archiving is one of those parameters which user cannot change. Now, archiving of one... Yeah, every five minutes. And it is every five minutes. It would be really nice if that is at least configurable with the duration of it because I would want to be in control of what our UI wants to sign. Well, but that's where the multi-iC comes in, right? So, this not sure what's up with point in time recovery if a complete disaster has happened. That is there, but I mean if, for example... Yeah, but I can also achieve that. In case of an error, I can force a switch. So, you can... You're having archive logs there and which are used for some point in time recovery if needed. And I'll just say one more... Sorry, I'm taking my time. These are things that people get wrong. On the maintenance window, you see that window there and it's like one hour every week and a lot of people say, God, there's going to be downtime once every week at this time. No. That's just when the patches are done. We will do it in that time. Which could be twice a week. Yeah, one more thing. So, if you have some, like, rate replica available, in that case, like the... If you're doing some minor version upgrade, so first you should do it on your rate replica then on the primary server. Just one more question. Like, if we need to do a restore and I don't want to restore it in my original database, I don't want to do a restore in some kind of a standby. So, when you're doing the restore, actually it will be on the new server itself. So, it will be new instance that will be created. So, that's it. Okay. So, like, just in case I... Let's say that, like, my database is working fine. The current database is working fine. That is just the issue. Some user deleted something. And I wanted to just reverse back only that because it will take all the information or something like that. Well, at this moment, that kind of feature is not available. We cannot restore a particular table. We have to restore the whole backup. We have to restore the whole database into some kind of a standby and then just take out that table which we want. Like, there's nothing like an export import... No, this is the restore. The restore that will happen here, we have to take a storage restore. So, the backup, the snapshot will be restored and then the recovery will happen. But is there a provision like to take a logical backup? No. A schema-level backup? We can sort in PGDOM, right? PGDOM, yeah. There's nothing stopping you from a client doing a PGDOM forward-strapping there. So, you cannot do it... That needs to be done at the client... But I thought you cannot use some of the client backup tools like what Simon mentioned a little bit yesterday. You cannot use PGDOM, for example, with RDS instance. I thought you could. I'm a big friend. PGDOM, as you said, you cannot use with RDS. PGDOM forward, yeah. PGDOM? PGDOM, there's a tool called PGDOM forward. PGDOM forward, yeah. You cannot use PGDOM forward with RDS, but, yeah, you cannot use that with RDS. So, if you cannot... Yeah, so, for example, if you want to backup your users, you cannot pack them up. Not the user schema. Schema you can, with PGDOM you can. Yeah, for the RDS. For RDS, yes. It is a client-side tool. So, for SQL Server, we introduced native backup, so you can do a .pack, and customers are saying, you please do that for all the instances. John Chesky, there's a lot more time. I'm saying, for example, so then, you know, across all the engines that we support, including Postgres, then that's something that we can look at. Yeah, let's go ahead, yeah. Let's not give this time. So, this is done. You are just going to go to backup, monitoring, and maintenance, and just click here, launch dps instance. And your Postgres instance will be launched. So, it's that easy. Just few clicks, and you will set up your Postgres instance. Then, there is an option to even configure the replica. So, create a replica here. So, if you're planning to have some reporting on your standby server, read replica, so that you can achieve here. And the option available with the read replica is that you can even select the storage for read replica. So, maybe if you're selecting like provision IOS for the production, but for standby, you can still select the general LSD. But again, I will recommend that you should have the same storage for the master and your read replica as well. So that you will get the same kind of performance here as well. Then, the destination region. So, here you can select where do you want your replica to be configured. So, you can configure it across the region. Maybe your primary is running in Singapore, and you want your replica to become, yeah. A course standby? A course standby? Read only, is it? Yeah, it is read only. Can you have active, active something? Active, active, no, it is not available even in Postgres, and when you are configuring on RDS, it is not possible. A course standby will be when the master dies, something else belongs, but it will be later. Okay, thank you. Those things to be here, we can have that, right? Yeah, that is all, but that is, that the woman is not available here. But BDR also, they will have some kind of slightly some latency, and it may cause kind of conflict at some point. From the price perspective, should I pay for the second replica? Yeah, you will have to pay for that as well. So, I should be selecting it wisely? Yeah, no doubt. So, you can select the region. If you want, you can configure your replica across some other region as well. Then about the parameters. So, once you have configured your instance, and if you want to have some customized parameter here, so that's what you can do. So, if you want to change maybe your auto vacuum analysis scale factor, or maybe your checkpoint completion target, or maybe a log duration min statement. So, you can do that, and you can customize your parameter as per requirement. And just have a look. So, monitoring, it has been made very easy. So, you can have the graphical representation. It will give you the nice view of the CPU utilization at the server level. Then the number of connections, those are connected at the database level, sorry, at the instance level, I will say. And even write and read IOPS, so that also can be viewed through the graphical dashboard. So, yeah, you can even configure some kind of like event subscription. So, here you can select the, I would say the kind of, I don't want to configure that. Maybe you can select from the instance. So, if the instance goes down, if there is some backup that has been configured, or if you want a lot of configuration for any parameter change, that can be also done. So, you can select the parameters here. So, if someone is changing the parameter, you should get a notification. So, that kind of event subscription you can do here. And there is a, so, once you are doing that, then you should start getting this kind of alert. So, just for my purpose, actually, I configured for CPU utilization. So, when I was doing some kind of activity, and when the CPU went high, I immediately get alert. And even there is Amazon CloudWatch. So, there also, actually, we will keep on getting the notification about if there is any generation of the events. So, this is the CloudWatch. So, here as well, you can get a history about the alerts which are getting generated and even about the history. You can have the putty kind of view of the error logs. So, the error which are getting generated. So, you can see those error through the GR prompt. You can have those view for those error as well. And for the database, yeah, they will have some limited access because there will not be direct access to the host on which the actual instance is running. But they can still use the Amazon RDS commands. The commands like these are the few commands which I copied here. So, you can even create a DV instance. If you want to create a replica, that is also possible. If you want to modify some parameters, that can be done. Or you can even do the point-in-time recovery of your instance. So, these are the very few parameters or the commands that can be done. But those are the AWS RDS commands. So, from the benefit perspective, definitely it will reduce it will help you to reduce the cost for infrastructure. Definitely because when you are having your own hardware with the CPU, definitely you have to pay more. Here you will pay as per your resource consumption. So, if you are using just like if you are going for general SSD you are selecting some particular kind of storage and memory. So, you will just pay for that. And yeah, if you are going for the provision IBS, definitely you will have to pay for the provision IBS because that is something that has been allocated for you. So, you may not be using all provision IBS or the provision storage. But still, you will have to pay for that. The patching, yeah, patching it is automated. It will be done. It will be taken care by you. No need for a DBS to be there available on the weekends. They can just look at the notification. You can use your DBS time for more fruitful tasks like they can work with the application team. They can help them to do the schema design or maybe to do the application tuning, the query tuning, that kind of task. So, and you can have the DBS to work on the more number of databases, more footprint. And because when you are using your post-grace instance, so the kind of expertise is required. So, that is not that much. So, even the junior DBS, actually they can take care of those things. Yeah. So, no additional skillset required. They should have basic knowledge that even that would be helpful. So, it was all about the skillset or the benefits. But there are certain points that I would like to bring to your notice. Like synchronous replication, like if you are configuring, there is option of synchronous replication at the post-grace instance level. So, that is something not available. So, if you are configuring replica, so the replication, it will be a synchronous replication. So, if you are thinking that you are doing some transaction on the primary and if you immediately want, it should be available on the standby side. So, you may not achieve that soon. And from the DBA perspective, who are always comfortable logging on to Putty and doing their administration task, they will not have that freedom over here. Yeah. So, these are two limitations I can think of. And definitely if you are going for Amazon, it will help you. Yeah. Yeah, please. Sir, I think I have to ask, I mean, all those various features that we just had to listen to, none of them are open source, right? So, except for post-grace itself, everything that we just discussed is a paid service. And, I mean, with FOS, probably I am just, maybe that's just me, but I'm not able to link the stuff in. We're talking about a paid service that's providing some feature set. And if you are using that, it comes very hard to move to something else, even if you are using post-grace. Because all those feature sets will not be available on any other platform. Which particular feature set you are talking about here? For example, we just mentioned how we can easily set up a replica. With a few clicks, we have a replica running. And you did mention that there is a drawback that it's not synchronous. Fine. But those clicks will probably not be available anywhere else. It's a paid service, right? Yeah. But the basic thing here is that the post-grace software, it is a community software, right? So, if you plan to maybe, for some reason, if you want to move on from here, RDS, definitely you can take a backup and you can destroy it. Because you are not, actually it is not kind of full, which has some extra features. Basically, you are basically using the same features which are available in the community post-grace. The services, definitely, there are some services like the synchronous replication. So, which is provided by Amazon RDS. But it doesn't tie you up with this particular product. In the future, if you want to move on, you can easily... I can certainly move on. I can take a backup and destroy it somewhere else. But then all this will not be there. All those single clicks, all those more... If I may add something, because I tried Amazon RDS. Now, I do have some customers and I do have some people with whom I work and they can't move their data to RDS or they can't move their data to AWS. But looking at this gave me an inspiration of how I could build those things for them. So, if this is something I got as a tip from one of the partners I worked with, one of their solution architects, gave me this free advice, told me that you are a DBA. And developers look at a DBA as a foe, not as a friend. Same as DBAs don't really go very well with the infrastructure guys. Now, I have to marry infrastructure guys, not really marry, marry, but I really have to start getting along with them and start understanding how do I use the virtualization capabilities. And I do work with some enterprises who are trying to build automation using their infrastructure. So, for example what you see in AWS, now what they are doing is proprietary, of course I understand that, because they are doing it and exposing only an interface. But take that as an inspiration and you can do the very same things with VMware, that is not open source again, but you can do that with open stack for very sure whatever AWS does at the back end. It uses some really nice integration, that is all it does. So, it is using Postgres SQL, it focus of replica and after that it is just automating the process which can be done if you utilize your infrastructure services very well. And we do do that with some of the customers and that's why I can say that very confidently. Right, but there is all that discussion, there was no mention of open stack or any other open platforms, right? So, when you are talking about keys of use, you are talking about keys of use of Postgres and that means you should cover the whole spectrum, where you should actually talk about other keys like keys that thing for example, monitoring. But when you are talking about those graphs, those fancy graphs, they would be done in some other way. Sir, was there a question or is there a feedback for the speaker? So, if there is a feedback he would take that, if it is a question then he will feel an urge to answer. So, if it is a feedback he will just take it, if it is a question then he will have an urge to answer it. So, the point here is that people listen to all that and they are persuaded by certain things that are mentioned in the talk. So, it is possible that there are people who are looking for only open source solutions. So, the talk should actually cover the whole spectrum and if it is about, it's talking about keys of use. And how you can cover the monitoring part and how you can question or answer the question also. I guess yours is not more of a question, it's a feedback. So, he takes it as a feedback for his talk. I will take it as a feedback because I selected the talks. So, I also take it as a feedback and close the loop for everyone's knowledge. Whatever AWS does in their Amazon interfaces where it makes that replica creation or the backup creation easy for you you can do all that with a little bit of engineering by putting all that logic in open stack or with Docker as well. You can do all that with containerizing your database but that everyone is not hearing what has killed me for that. But you can also run it as a container with a volume. Now, Docker's do support volumes. So, you can run it as a database in a container and you can do that pretty easily. You just have to spend a lot of effort engineering it but after that, life is quite easier. So, that does mean that this is not the only solution. Yeah, this is not the solution that you are talking about. So, thanks for bringing that up. I mean, going through that whole talk it appeared like that's the impression that I had at least. And then coming from the first point of view I mean at least the spectrum should be covered in some way. So, it's just more of a feedback. And with the setting here, the way I receive it it's more like a feedback, yes. Okay. I have to go with it. Did I need some applause, sir? Sorry? Yeah, yeah, you can. Did I need some applause, sir? Are you guys? There is, as such, there is not available from the, I would say Amazon RDS. So, if you are configuring it, you can use some application-slash-side load balancer. So, if I have a cluster with one master in a couple of replica how to distribute the load among the RIT replica, it's on my own. Yeah. I guess there are HAProxy kind of tools, I think. Yeah, but again, you have to be very careful like what he's saying. It is not synchronous replication. So, you cannot be sure about what you are reading. It might be still later. Okay. Sorry? No, not really. In Postgres 96, you can have read consistency on the replicas. You can say that my reader replicas are consistent with my master. So, when you read, you are very sure that you are reading the latest data. I can say that multiple replicas are read consistent. Yeah, by making the replications read synchronous. Yeah. Yeah. How much does the Amazon AWS take the responsibility of compatible with some compliance regulations? For example, if I decide using the RMS, does it somehow give compliance with the PTI? Just for the gods, he's not familiar with it. Yeah, so maybe you can answer the question. Is that just about the features of Postgres? Yeah, it's a short answer. You can add that, but if it's a long answer. Yeah, it's a short one. So, we published all of the links that we've gone through in terms of ISO standards, SEO, DSS, etc. So, they're all by-service and they're published by our website. So, if anyone you need, you can go and check. It changes all the time because it's basically six months cycle. Just one last question. You talked about the patching. So, when you say like that, I want my database to be patched and it sees the DBA. So, at the Amazon level, whether it is really automated process, nobody does that. Everything on RDS is automated unless there's a support issue. Okay. So, it really is purely automated. That's what RDS is about. It's totally about it once. So, do I get any notification before it's somewhere I think it's going well? Absolutely. So, if we're going to do, let's say there's a security issue that we need to take and couple of the Postgres versions have some security issues that we need to take off and make them available. So, your find will give notification that around a month plus, we're going to do something. Okay. And do I have an option to say I don't want to... Security? No. Some other... For other patching, you can say, oh, what about that? So, you can just stay on the stable patch. But sometimes, like if they say, or a lot of it, if they say nine, six, four, come down and just make a superior to all previous versions, we will deprecate all previous versions. Yeah. Because we can't have that superior to that. So, if we look at all the versions there, my three got... And my four got all the other. But there's a bit of gap because of some security. Sorry. Okay. Thanks. Okay, guys. Thank you very much.