4 ms·
I have not been an Oracle fan in the past, especially because of their complicated (and expensive) licensing, but late last year we moved to their hosted autono
by F_J_H 6y ago
I have not been an Oracle fan in the past, especially because of their complicated (and expensive) licensing, but late last year we moved to their hosted autonomous database. The on demand pricing model makes it quite economical, and the performance is amazing.
However, the killer feature for me is that it has application Express (or APEX) included, which is a complete web application development framework, as well as Oracle restful data services (ORDS). With built-in application development and deployment, it is the only complete, full-stack data management platform I am aware of (enterprise level).
YRMV, but it has been incredible for us, both to support our data science initiatives, and for rapidly deploying applications. I couldn't imagine going back to anything else.
- pjmlp 6y agoFor me, MS SQL Server is the only real alternative, regarding the overall tooling around the database.
- jedieaston 6y ago>application express Is it smart to have all of your web app code running in the database, making it impossible to run without the Oracle Database?
- F_J_H 6y agoThat is somewhat of a concern, but less so now that they support web services. So, you would still need a basic oracle DB set up in order to run APEX, but you could just use OracleXE, which is a quite capable free version, and then connect to whatever you want. Also, you see this argument a lot - "what if I want to switch databases"? I've seen more than my share of overly-complicated and highly non-performant code bases, "just in case we want to change our database at some point" (see the ORM messes out there.) Its a problem in theory, and in my experience, not in practice. Never in 25 years of IT work have I switched databases, so it's often a classic case of "prevention worse than the disease". One case where this use to be an issue was for software vendors that used to sell applications requiring a database, and they had to be ready to work with whatever the customer had. In our day of cloud based apps, this is increasingly becoming less of an issue.
- ants_a 6y ago"What if I want to switch" is a valid question if your business is at the mercy of a single vendor with a history of abusive business practices towards its customers. While I may have a selection bias, I have seen quite a lot of companies migrating their applications, successfully. Most for exactly this reason. And many, perhaps even more, that would very much like to migrate if it was less disruptive.
- F_J_H 6y agoYep - agreed. It's "pick your poison". No matter what tech stack you select, migration away from it is a may be a consideration. (Whether it is a JavaScript framework, PHP to python, C++ to Go, or one DB engine to another.) If being able to easily switch technology stacks is important to your business success, then you need to optimize for that. That's not the case for me.
- kstrauser 6y ago> YRMV, but it has been incredible for us, both to support our data science initiatives, and for rapidly deploying applications. I couldn't imagine going back to anything else. Out of curiosity, are your data scientists actually happy with this? All of ours are using Python notebooks with Spark or RDS, and I think there'd be an armed revolt if we asked them to migrate to anything else.
- F_J_H 6y agoSo far, yes. APEX in this case is used for data visualization and dashboards, mostly using Plotly.js. And, the oracle database is the data store for clean/structured data. They use python notebooks and all the other python based goodies for their work - the DB is just where they get their data. (And, sometimes it makes sense to do data processing with the DB). We could end up using Spark at some point - we're not precluded from that.
- thda 6y ago> However, the killer feature for me is that it has application Express (or APEX) included, which is a complete web application development framework, as well as Oracle restful data services (ORDS). With built-in application development and deployment, it is the only complete, full-stack data management platform I am aware of (enterprise level). Yeah those architectures were nice in the 90s. We don't do that anymore, for a whole lot of reasons. Being locked in with such a nefarious vendor is such a big risk.
- F_J_H 6y agoWho's "we"?
- jacques_chester 6y agoMy last job was 100% based on ApEx. Which I do not bring up on my LinkedIn profile. I refer to ApEx as "Access, for the web, for Oracle". For what it's good at, it's pretty good. The biggest plus in my view is that it rewards careful schema design. Point it at a properly-normalised schema and you can get 80% of a useful CRUD interface for 20% of the effort. But all things being equal I'll be happy to never use it again. It's hard to test, hard to version control, hard to safely extend (you usually wind up with buckets of PL/SQL below the surface).
- cryptonector 6y agoPostgreSQL + PostgREST == blinding light. You get a RESTful interface to PG. All you need to add is a static page w/ some JS, for which you can use react-admin or similar. Presto: web apps written in PG.
- edmundsauto 6y agoCan you point me to a good resource on this? I work 100% in the data layer right now, but the idea of being able to create an easy frontend (assuming I learn react) would be wonderful.
- cryptonector 6y agoPostgREST: https://github.com/PostgREST/postgrest https://github.com/PostgREST/postgrest and http://postgrest.org/en/v6.0/ http://postgrest.org/en/v6.0/ Sample PostgREST apps: http://postgrest.org/en/v6.0/ecosystem.html http://postgrest.org/en/v6.0/ecosystem.html React-admin: https://marmelab.com/react-admin/ https://marmelab.com/react-admin/ and https://github.com/marmelab/react-admin https://github.com/marmelab/react-admin React.js: https://reactjs.org/ https://reactjs.org/ Combinations: - https://github.com/tsingson/ra-postgrest-client https://github.com/tsingson/ra-postgrest-client - https://github.com/raphiniert-com/ra-data-postgrest https://github.com/raphiniert-com/ra-data-postgrest - https://reactjsexample.com/a-react-web-application-to-query-and-share-any-postgresql-database/ https://reactjsexample.com/a-react-web-application-to-query-... - https://github.com/tomberek/aor-postgrest-client https://github.com/tomberek/aor-postgrest-client - https://github.com/priyank-purohit/PostGUI https://github.com/priyank-purohit/PostGUI - https://awesomeopensource.com/project/priyank-purohit/PostGUI?categoryPage=9 https://awesomeopensource.com/project/priyank-purohit/PostGU... - https://www.reddit.com/r/learnpython/comments/bzrr1c/how_to_create_dynamic_dashboard_on_top_of/ https://www.reddit.com/r/learnpython/comments/bzrr1c/how_to_... More links: - https://github.com/topics/postgrest https://github.com/topics/postgrest - https://duckduckgo.com/?q=%22postgrest%22+%22react%22&t=ffab&ia=software https://duckduckgo.com/?q=%22postgrest%22+%22react%22&t=ffab... - https://duckduckgo.com/?q=%22postgrest%22+%22react-admin%22&t=ffab&ia=software https://duckduckgo.com/?q=%22postgrest%22+%22react-admin%22&... - https://react-admin.com/docs/en/ecosystem.html https://react-admin.com/docs/en/ecosystem.html I'm sure you can find more! Yeah, there's not one solution. There are many. Many are open source. PostgREST is amazing. The rest is up to you, but there's tons of tools out there.