|
|
|
|
|
by arkhamist
4053 days ago
|
|
One of the core hasura devs here. 'hasura-db' is a wrapper over postgres. The idea is to provide a very neat json api to talk to postgres with a permissions model. However, you still have the raw access to postgres. So, you can always fire up a django/rails/etc app and connect to your postgres instance and implement any custom functionality that can't be done using hasura-db's json api. Coming to your question:
Since the underlying db which actually stores your data is postgres, you get all the power of a relational database. With hasura-db you get a 'monogodb' like document api. So, hasura-db + postgres tries to capture the best of both worlds. Since your data is (designed to be) completely normalized in postgres, 'hasura-search' integrates with elastic search to create denormalised documents for efficient full text search in a declarative way. So, hasura-search esentially listens to any changes to your data in postgres and builds denormalised documents that are inserted/updated/deleted into elasticsearch. So, your elasticsearch data stays in sync with your postgres data in real time without any effort from your side ! Deployment will be at least as easy as on Heroku. |
|