How a DBA can contribute to the OpenMRS community

Hi,

I am Vignesh, new to Openmrs community. I have gone through the initial videos. I am working as a Database administrator (both RDMBS and NoSQL). I see most of the work here are related to developing (I am starting to learn Java), but I would like to contribute more on the Database Administration side. Can anybody advice me, where and how to start?

Thanks, Vignesh

2 Likes

Welcome to the community @vira! I don’t have any good advice right now about how to contribute (I’m sure others will), but I just wanted to make sure you know about the following resources that could be useful:

  1. http://en.flossmanuals.net/openmrs-guide/openmrs-information-model/
  2. https://wiki.openmrs.org/display/docs/Data+Model
  3. http://burkeware.com/openmrs-data-model/

@vira, welcome to the community and thanks for your interest. I am sure that there are many ways that we can use your help.

@vira - Welcome to the community. Your timing is perfect. We would love some help with MySQL performance. What are good tools to troubleshoot performance?

Thanks,

Ellen

@vira welcome to the community and thanks for the desire to contribute! :smile:

  1. As you can see from the links that Pascal sent, our data model documentation and diagrams need to be updated to match the latest platform release (2.0)

  2. You could also look at our data model and suggest ways in which we can improve its design and fine tune it for better performance, as Ellen mentioned above.

  3. We also have a ticket that simply requires changing some of our sql statements to be able to run on MySQL version 5.7 and above. TRUNK-4813 (If you are interested in this, i can give you more details regarding how to get started)

@pascal @terry Thank you very much.

@ball Sure, that will be very interesting. From what I have seen, more than 80% of the issues are due to inefficient SQL’s. So, if there is any particular batch job or stored procedure is taking time, we can go find opportunities to tune them.

1 Like

@dkayiwa Thanks for your response.

  1. As you can see from the links that Pascal sent, our data model documentation and diagrams need to be updated to match the latest platform release (2.0) Sure, I would like to start looking at the model and familiarize with the tables.

  2. You could also look at our data model and suggest ways in which we can improve its design and fine tune it for better performance, as Ellen mentioned above. Definitely, this will be very interesting. I would like to take same time to understand before making or suggesting any changes.

  3. We also have a ticket that simply requires changing some of our sql statements to be able to run on MySQL version 5.7 and above. TRUNK-4813 (If you are interested in this, i can give you more details regarding how to get started) This is perfect. Let me know, what are the things i need to setup for this. I am interested in it.

2 Likes

@vira i have added more information to the description for https://issues.openmrs.org/browse/TRUNK-4813 Try it out. If you have more questions, feel free to ask on the JIRA ticket or in the OpenMRS IRC channel https://wiki.openmrs.org/display/IRC/Home

1 Like

@vira,

Thanks for joining the community. As you can see, there’s no shortage of ways someone with dBA expertise could help our community. :slight_smile:

Most of my suggestions have already been suggested by others. From a pragmatic perspective, I’d add a few thoughts:

  • If there are particular tasks you find most fun, let us know. Fitting the tasks to your passion are the best way to ensure everyone wins.
  • Look for some near-term wins. Successfully completing some smaller tasks will motivate you to take on the next one that might be a little bigger.
  • Let’s look for opportunities where your efforts have direct benefit to implementations. Directly benefiting the people taking care of patients around the world ensures your work has a sense of purpose. Once we get you fully addicted to the OpenMRS community, we can point you to more etherial tasks. :wink: For example…
    • Helping one or two implementations fine-tune their MySQL configuration and then document key tips or lessons learned on the wiki for others to benefit. I know @jdick (AMPATH in Kenya) would appreciate such help and @ball has said the same for PIH.
    • Tackling a bug like TRUNK-4813
    • Work with one or two implementations to identify some of the longer running queries and see if you can identify places were an index file or two would improve things.
  • Keep an eye out for other dBAs in the community. One great way to help the community would be to organize a pool of volunteer dBAs to share and collaborate on dBA-specific issues in the community and provide advice to the community.

Thanks for reaching out to help the community! I hope you have a reply button in the introduce yourself topic now. :smile:

1 Like

@vira, welcome! I see you got lots of ideas. I’ll add one more to that.

If you have any prior experience with setting up replication for MySQL dbs, you could work on a docker config, which creates 2 or more MySQL instances and configures OpenMRS to connect to them. We’d like to showcase replication as a mean for backup and distributing load. Ideally you would start from docker configs created by openmrs-sdk:distro.

The use of MySQL Cluster would be very cool to see as well.

2 Likes

@raff 's idea would be great… taking a step further, if you happen to know anything about replicating mysql DBs accord multiple locations that only have low-bandwidth/intermittent Internet access, that would be amazing, though I know that’s a tough one, and we haven’t found a good solution for it to date.

Mark

1 Like

@dkayiwa thanks for the detailed description on the ticket. So, if i need to monitor or assign the ticket, first should I raise a request to help desk. Also, now i see @gutkowski assigned the request.

@burke Thank you very much for assisting me !

So, my interest is mostly on administration side. Things like availability (replication), scalability and performance. I see @raff pointed out replication. (yes, i have some experience in replication - using native MySQL and third party tools).

Definitely, starting with simple tasks and getting more accustom to the environment is very important.

It will be great to contribute which directly impacts for the welfare of the people. That’s like ultimate goal :slight_smile:

As you rightly pointed out, keeping myself active in the community opens many door. So, can you tag or guide me to any DBAs whom you are aware. Last one, yes, finally i introduced myself. Our systems look very secure and smart !

Welcome to the OpenMRS community @vira, as you can see there is a myriad of issues related to DBs where we can use your skills.

1 Like

@vira yes @gutkowski has already taken the ticket. But he has not yet come up with a satisfying solution. Therefore feel free to give him some ideas! :slight_smile: