The responsibilities of a DBA are different for MarkLogic than for a traditional relational database. While the line of responsibility among a DBA, the development team, and system administrators will be drawn differently at every organization, here are some guidelines you can use.
The activities in this section will generally be handled by a MarkLogic DBA.
Monitor Logs. Review logs for error messages. If found in application app servers, report them to the appropriate development team. If found in cluster-wide ErrorLog.txt, address them. Logs are often pulled into some other system for easier monitoring.
Manage User Accounts. Create new user accounts with appropriate roles. Periodically review them to remove those no longer needed.
Manage Backups and Restores. The development team can and should include scheduled backups in their database configuration. The DBA can advise them on the configuration (based on Recovery Point Objective) and determine the directories for those backups. The DBA can perform a manual backup or restore when called for.
Upgrade MarkLogic. The DBA will perform upgrades of the MarkLogic cluster. Part of this task is communicating with the development teams of any applications deployed to the cluster; those teams must do their own testing to ensure their applications will work with the new version.
Manage SSL Certs. Secure access to MarkLogic’s application servers is a key requirement for many applications. SSL certificates need to be renewed periodically. Keep track of when they expire and renew them before the deadline.
Assign Prefixes and Port Numbers. If multiple applications are deployed to a MarkLogic cluster, each will a distinct name (used in app servers, databases, forests, etc.) as well as a set of ports. The DBA can work with the development team(s) to ensure uniqueness.
Manage failovers. The DBA can work with network administrators to manage failing over to a DR site during an outage. The DBA can also monitor failover forests to ensure one server in a cluster doesn’t get overloaded.
Monitor forest capacity. Observe forest capacity and make recommendations based on MarkLogic’s guidelines.
Some activities handled by DBAs in relational systems are better managed by the development team when using MarkLogic.
Schema changes. Unlike a relational database, there is no fixed schema to modify. If an application’s data changes form, the development team will need to address this.
Performance tuning. A knowledgeable MarkLogic DBA can observe and advise the development team, but generally the developers will modify indexes and queries. The DBA may monitor resource usage and alert the development team about resource limitations or work with system administrators to increase hardware.
Might Be Included
- Manage the Security Database. MarkLogic states that the Security database is intended to be shared among applications deployed to a MarkLogic cluster. Due to this sharing, there is a possibility for collisions to happen if good naming conventions are not determined and enforced. A DBA can play a role in this, or it might be handled by a cross-application architect.
As noted, the assigned duties will vary to some extent in each organization. What responsibilities do your MarkLogic DBAs take on?