The Lost Art of Enterprise Geodatabases Part 3: The Data Owner
The data owner user may not seem like a big deal when planning and implementing your Enterprise Geodatabase. However, they are critical to the success of your geodatabase as a system of record and engagement.
We have made it to part 3 of the Lost Art of Enterprise Geodatabases blog series! In this blog, we are going to investigate the data owner user and their role in the geodatabase. At first glance, all the power of geodatabase management appears to sit with the Database Administrator and the Geodatabase Administrator, as outlined in part 1 and part 2. However, the data owner really drives the management of your GIS data and ensures that data performance and functionality are configured for your business needs.
Data Owner Considerations
Managing Data Owners in your Geodatabase
What (or who) is a data owner? The data owner user effectively owns the schema in the geodatabase where your GIS data is stored. When creating objects in the geodatabase, those objects are owned by the user whose credentials were used to connect to the database at time of creation. The data owner user can theoretically be your geodatabase administrator user (SDE), but this is not recommended. Instead, it is best to have a close look at your GIS Governance Strategy and your business needs to determine who should have the ability to create objects (i.e feature classes, tables, etc) in your geodatabase. Do you just need a single data owner user for all your data? Or perhaps you have different departments and each department needs their own data owner user. Ensuring your business needs align with your database structure will greatly increase the productivity of your GIS workflows.
Schemas and Data Owners
One of the requirements of geodatabases is that users who own objects must be assigned to a schema with a matching name to their username. If creating users manually outside of ArcGIS, ensure that the username and schema name match. When creating a user using the Create Database User tool, a schema with the same name as the username is automatically created.
Each relational database management system has its own set of required privileges for data owner users. They can be reviewed here:
Privileges for Data Owners in Oracle
Privileges for Data Owners in Postgres
Privileges for Data Owners in SQL Server
Built-In vs Operating System Logins
One of the things that Database Administrators and geodatabase administrators will have to consider when planning the implementation of a geodatabase, are the types of users they wish to create. ArcGIS supports database users and users with Operating System or network authentication. If using operating system authentication, your connection will automatically use the credentials you used to access your machine to authenticate against the database. Keep in mind that the character limit for usernames with Geodatabases is 31. Because OS authentication will use the fully qualified username (with domain), this can sometimes exceed the username character limit.
Responsibilities
Now that we know what a data owner user is, what do they do and how do they drive your GIS data management?
Create objects
Of course, data owners create objects! We can also refer to them as data creators. But be aware! The terminology can be tricky. There is an important distinction here however between creating objects and creating data. A user with editing privileges against objects in the geodatabase can create data (they can add features/records to feature classes). We call these users ‘Data editors’ in the documentation. They do not have the ability to create objects like feature classes, tables, topologies, and all the other fun geodatabase objects. That ability is reserved for your data owner users. Data owners are also referred to as ‘Data creators’ in the documentation:
Data owner and data creator are synonymous. Data editors can create data within feature classes/database objects but cannot create the objects themselves.
Modify object schema
One of the key privileges that data owners have is the ability to modify the schemas of the data they own. This includes, adding and deleting fields, adding domains to fields, as well as modifying dataset capabilities, like enabling versioning, archiving, global IDs and editor tracking. With all this power comes great responsibility. If your organization requires a new field added to feature class, ensuring you have access to the data owner account is critical for quickly adapting to new business requirements.
In a traditional RDBMS, other users with certain elevated privileges would have the ability to modify the schema of objects within the database. However, in the context of ArcGIS, it is important to keep in mind that only the data owner can modify the schemas of geodatabase objects. Of course, there is a caveat for data in SQL Server that is owned by the DBO schema, but we will save that for another day.
Privilege management
The data owner is also in charge of assigning privileges on the datasets they own to other users and groups in the database. They control who can view, insert, update and delete records for their data.
Assigning dataset privileges
It is important to note that even though the database administrator has the ability to access and modify database objects outside of ArcGIS, only the data owner can modify privileges for geodatabase objects and these modifications should be made using the built-in tools using ArcGIS.
Using the Privileges dialog box
Use the Change Privileges tool
Maintaining Dataset Performance
Database indexes are a key component of your feature class performance. They help to optimize the query operations of your GIS clients. As data is updated and modified, these indexes can become stale and out-of-date, leading to degradation in performance over time. The data owner is in charge of ensuring the indexes on their feature classes are kept current and rebuilding indexes is considered one of the key geodatabase maintenance operations. Indexes are rebuilt using the Rebuild Indexes geoprocessing tool. The database connection you specify as the Input Database Connection parameter defines which user’s tables will be available for rebuilding:
Rebuilding dataset indexes using the Rebuild Indexes tool
Maintaining database statistics is another key component of overall database performance that falls within the responsibilities of the data owner. Statistics are used by the RDBMS system to maximize the performance of the query optimizer:
Updating database statistics
To analyze dataset statistics, use the Analyze Datasets geoprocessing tool in ArcGIS Pro.
Conclusion
The Data Owner in your Enterprise Geodatabase is not just a part of the naming convention of your feature classes and tables. They are key players in your database operation, maintenance and performance. With all components of a GIS system, effective planning can help ensure that the users who need to be able to create, modify and maintain data have the capacity and permission to do so. Accounting for the role of the data owner is key to ensuring that your GIS is built upon a foundation that is both secure and performant.