Open barbeau opened 7 years ago
Link to more documentation on setting up Hibernate for MS SQL Server (and other databases too): https://github.com/CUTR-at-USF/gtfs-realtime-validator/blob/master/CONFIG.md#database
Direct link to MS SQL Server config: https://stackoverflow.com/questions/3585544/how-to-configure-hibernate-config-file-for-sql-server/3588652#3588652
I believe you'll also need to install the latest MS SQL Server JDBC drivers on transittools too: https://docs.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server
As @Suryakandukoori worked on this, he discovered that several of the SQL statements behind some of the Hibernate view model objects do not work with Microsoft SQL Server. Therefore, to accomplish this task we need to abstract some of these SQL statements so they work beyond just HSQLDB.
There is some work started on compatibility with MS SQL Server in this PR - https://github.com/CUTR-at-USF/gtfs-realtime-validator/pull/323.
Summary:
We currently have a hosted instance of the validator at http://transittools.forest.usf.edu/, but it's just a running instance of the JAR snapshot, which means that it's using Hibernate with HSQLDB. This gets unstable when running in production and inserting a lot of data. Plus, this virtualized machine only has 4GB of RAM.
There are a number of options for a permanent hosted instance of the validator. Ideally we'd get it running on a platform-as-a-service like Amazon Lamba (etc.) or Google App Engine, as there should be relatively low traffic and both of those services have a free tier. However, I believe both of the above require changes to the project to leverage Hibernate.
For now, I believe the most straight-forward path for something stable in the near term will be to leverage another internal server at CUTR for hosting the database server, which will free up transittools for just the validator.
@Suryakandukoori I believe the other CUTR virtualized machine already has MS SQL Server running on it, so let's just re-use this instead of installing a new DBMS (e.g., MySQL).