I'm curious where you have gotten on this and what others think? My understanding from the research I have done is that ESRI locks up this ArcGIS Data Store Relational Postgres database as tightly as humanly possible, in order to force you to integrate with it through the ArcServer Hosted Services. As data professionals we should have a real problem with that pattern, and the way it limits the ability to interact with that data. I would encourage anyone to not implement the hosted services as your only pattern, it may have a place in the right situation, but for data you want to integrate with other systems, the services leveraging data from a traditional Enterprise Geodatabase pattern is what I would recommend, though that does limit what you can use out of the ESRI stack against those services.
I'm curious where you have gotten on this and what others think? My understanding from the research I have done is that ESRI locks up this ArcGIS Data Store Relational Postgres database as tightly as humanly possible, in order to force you to integrate with it through the ArcServer Hosted Services. As data professionals we should have a real problem with that pattern, and the way it limits the ability to interact with that data. I would encourage anyone to not implement the hosted services as your only pattern, it may have a place in the right situation, but for data you want to integrate with other systems, the services leveraging data from a traditional Enterprise Geodatabase pattern is what I would recommend, though that does limit what you can use out of the ESRI stack against those services.
Isn't that similar to how FME has FME Cloud on Amazon where they don't let you have access to the backend, only to the front UI? Yeah, it's not very friendly to us "geeks" but the benefits of having it hosted as a service is so the companies are able to provide better uptime and customer support. Imagine if every company had to support whatever their customers loaded or demanded on the backend... It's not really realistic.
Have you thought about using the Feature Service Reader to hit the endpoint directly? We are looking to go this way, and esri made it sound like they would switch us and we wouldn't even notice.
Yes, this worked but it was very slow; probably because our new acceptance server is in Azure. I find you have less configuration options when you read a web service instead of a table in a database connection
Our plan is to put maintained data in SDE and let business users use the data store for analysis output from Portal for ArcGIS. Also spatio temporal data is destined for the data store and I hear that raster can go there too.
If data is to be supported it will go into SDE but this will be very hard to control. My thoughts are that if a user in the business was to leave and his/her account was deleted (and the analysis data in the data store) and it wouldn't make a difference then it could go in the data store. Or the content from the person leaving must be associated with another account, which the business will be responsible for organising.
We are busy building a new platform so at the early stages. After a few weeks I already see lots of test services connected to lots of test data in this data store so I am not so positive about it. It's hard to know what services/data are to be supported by the GIS admin team among all the junk.
Our AGS Administrator has shown me the Postgres interface on the 10.5.1 AGS box but I haven't had time to test. Also the idea is that you don't connect directly to it via Postgres. I have successfully made a connection to the datastore via a Portal/AGOL feature service reader.
Some articles worth reading:
ArcGIS Data Store and RDBMS?
https://community.esri.com/thread/191678-arcgis-data-store-and-rdbms
- ArcGIS Data Store = 'Anything new
and amazing you want to do in ArcGIS 10.5'
- The "ArcGIS Data Store" is basically a
Postgres relational database that runs "under the hood" of ArcGIS
Server and is completely managed by the software, i.e. there is no interface
for an administrator of troubleshooter to look into if there are problems
ArcGIS Data Store Under the Hood
https://community.esri.com/thread/160435
‘The
Datastore, in my humble opinon, is meant to be a wild-wild-west of sorts. That
is, since you don't want users creating, editing and deleting authoritative
data but you also want them to be able to do some self-servicing of their basic
GIS needs, you need a place for them to host their own data. That's the point
of the datastore. It's a database that you can set up and pretty much not have
to worry about. It's a decentralized database to host all the crazy
permutations of end user data. The data within the datastore is not
authoritative - it's user data. All their little files and personal layers.
When it comes to authoritative content -
which where I work, we tend to define as content that a team of GIS
Professionals creates, validates and publishes for end users to leverage
within the Portal - that's where setting up an Enterprise Geodatabase and
registering it with your federated server(s) comes into play. To do this, you
set up a normal Enterprise Geodatabase on SQL Server/Oracle/PostgreSQL/etc. -
whatever your DB technology of choice is and then register that enterprise
geodatabase with each of your federated servers.
Once that's done, you load your
authoritative content into that enterprise geodatabase and work with it the
same way you always have. Direct-Connect from Catalog and run GP tools against
it or if you're brave, work with it at the DB level. The key to making this
work seamlessly with Portal is federation. You must federate your Portal with
ArcGIS for Server. Doing so means that anything you publish to ArcGIS for
Server will be made available in Portal. It also means that your Portal Groups
and Roles will determine who has access to the services being sourced from your
Enterprise Geodatabase.’
I'm curious where you have gotten on this and what others think? My understanding from the research I have done is that ESRI locks up this ArcGIS Data Store Relational Postgres database as tightly as humanly possible, in order to force you to integrate with it through the ArcServer Hosted Services. As data professionals we should have a real problem with that pattern, and the way it limits the ability to interact with that data. I would encourage anyone to not implement the hosted services as your only pattern, it may have a place in the right situation, but for data you want to integrate with other systems, the services leveraging data from a traditional Enterprise Geodatabase pattern is what I would recommend, though that does limit what you can use out of the ESRI stack against those services.
@paulbrandt73 see my comment above
Isn't that similar to how FME has FME Cloud on Amazon where they don't let you have access to the backend, only to the front UI? Yeah, it's not very friendly to us "geeks" but the benefits of having it hosted as a service is so the companies are able to provide better uptime and customer support. Imagine if every company had to support whatever their customers loaded or demanded on the backend... It's not really realistic.
I don't really see these as comparable examples. FME Cloud, yes you can't access the back end, but you also aren't locked in to storing your data in a proprietary format that isn't accessible through anything but FME Cloud services. You have the option of pointing your workspaces at data from AWS, Azure, pretty much anywhere that can be accessed via the internet you want to choose. With the ArcGIS DataStore the data itself is locked away in a proprietary way in a database they have tried as hard as humanly possible to not allow access for administration. Leaving administrators with few options. Sure I can interact with it from the WebUI and I can build Python scripts to manage pieces of it, but I can't get in there and say add an index on a column to help specific queries be more performant, or add additional constraints to enforce business rules on the data, also it is basically impossible to build a system where the data itself moves through a life cycle. Which I know are all reasons to store data in an Enterprise Geodatabase, but then I can't use the new tools. (the vicious cycle starts again)
Our plan is to put maintained data in SDE and let business users use the data store for analysis output from Portal for ArcGIS. Also spatio temporal data is destined for the data store and I hear that raster can go there too.
If data is to be supported it will go into SDE but this will be very hard to control. My thoughts are that if a user in the business was to leave and his/her account was deleted (and the analysis data in the data store) and it wouldn't make a difference then it could go in the data store. Or the content from the person leaving must be associated with another account, which the business will be responsible for organising.
We are busy building a new platform so at the early stages. After a few weeks I already see lots of test services connected to lots of test data in this data store so I am not so positive about it. It's hard to know what services/data are to be supported by the GIS admin team among all the junk.
Our AGS Administrator has shown me the Postgres interface on the 10.5.1 AGS box but I haven't had time to test. Also the idea is that you don't connect directly to it via Postgres. I have successfully made a connection to the datastore via a Portal/AGOL feature service reader.
Some articles worth reading:
ArcGIS Data Store and RDBMS?
https://community.esri.com/thread/191678-arcgis-data-store-and-rdbms
- ArcGIS Data Store = 'Anything new
and amazing you want to do in ArcGIS 10.5'
- The "ArcGIS Data Store" is basically a
Postgres relational database that runs "under the hood" of ArcGIS
Server and is completely managed by the software, i.e. there is no interface
for an administrator of troubleshooter to look into if there are problems
ArcGIS Data Store Under the Hood
https://community.esri.com/thread/160435
‘The
Datastore, in my humble opinon, is meant to be a wild-wild-west of sorts. That
is, since you don't want users creating, editing and deleting authoritative
data but you also want them to be able to do some self-servicing of their basic
GIS needs, you need a place for them to host their own data. That's the point
of the datastore. It's a database that you can set up and pretty much not have
to worry about. It's a decentralized database to host all the crazy
permutations of end user data. The data within the datastore is not
authoritative - it's user data. All their little files and personal layers.
When it comes to authoritative content -
which where I work, we tend to define as content that a team of GIS
Professionals creates, validates and publishes for end users to leverage
within the Portal - that's where setting up an Enterprise Geodatabase and
registering it with your federated server(s) comes into play. To do this, you
set up a normal Enterprise Geodatabase on SQL Server/Oracle/PostgreSQL/etc. -
whatever your DB technology of choice is and then register that enterprise
geodatabase with each of your federated servers.
Once that's done, you load your
authoritative content into that enterprise geodatabase and work with it the
same way you always have. Direct-Connect from Catalog and run GP tools against
it or if you're brave, work with it at the DB level. The key to making this
work seamlessly with Portal is federation. You must federate your Portal with
ArcGIS for Server. Doing so means that anything you publish to ArcGIS for
Server will be made available in Portal. It also means that your Portal Groups
and Roles will determine who has access to the services being sourced from your
Enterprise Geodatabase.’
Thank you for sharing your experience and I completely agree. We haven't yet ventured into releasing Portal on this level to many users, so my experience is somewhat limited right now. I will say perhaps this pattern is simply a personal realization that all of this data exists in our old systems. I have known that it does exist, but perhaps it was easier to ignore allowing myself to believe it is currently on individuals machines or network folders that only a few have access to rather than in a central Data Store. I may also have somewhat of an irrational fear that making this data so easy for users to create and share with anyone they choose is a risk. I don't know anyone that would maliciously share data/analysis they had created which at best only tells half truths to the consumer, but I could see that happening on an ignorance circumstance (I didn't know, or I hadn't thought of that), which has happened to any seasoned data professional more than once. The risk comes in when some consumer starts making decisions based on this data without questioning it first (again something every seasoned data professional starts with when discovering a new data set).