GunDB Basics / Storage + Superpeer
Hi folks,
I'm on my fourth day of GunDB exploration and while reading the docs and various other tutorials, there's one thing that's uncertain at this point: Storage & whether or not I need a Superpeer?
Haven't found an example for a production dApp with GunDB
The tutorials and demos I've seen so far either instantiate gun without peers or with heroku peers such as gun = Gun( [https://gun-us.herokuapp.com/gun, https://foobar.herokuapp.com/gun ] )
.
I reckon the latter is good if you want to demo a chat or todo app where you'd like to demonstrate real-time behavior including p2p syncing of peoples webbrowsers with the help of those superpeers. I understand that concept, it's great, I love it.
Migrating from Firebase to GunDB
However, since I'm about to migrate my Sapper (Svelte) app off of Firebase firestore (because the nature of a graph dataset suits my app a lot better than a hierarchy of colletions and documents) where I already have about 9 GB of data and the fact that firestore is always online for clients to sync with, my big big questionmark at this point is, how do I build the equivalent with GunDB where I have
- the ability to store my 9 GB of continously growing data (mainly text-based data at this point but also images and videos in the future at which point the storage needs will grow a lot)
- and make sure that data is available at all times to people with their webbrowsers
Superpeer or not? Storageoptions?
I've read about AXE, I've read about RAD and the fact that it's the default storage algorithm with a GunDB node deployment, I've seen there's an optional AWS S3 storage adapter, and I've of course also read about the (planned but not yet ready?) IPFS storage option.
All in all, I'm now completely lost and confused about how to continue at this point with regards to storage and superpeer options available.
- do I need a superpeer? Do I want one?
- if I want one, what's a production hosting setup? I'm using firebase hosting, auth, storage, firestore and messaging atm so maybe someone has a setup running off of GCP?
- how do I shape my storage setup so that it's not a demo app but a real app with a bigger dataset?
- which hosting provider do I pick for a production setup with paying customers? I'd prefer any GCP service, possibly have the superpeer store its data into firstore and more or less provide the graph to all the webbrowswers that initally request data until the graph distributes itself enough among the webbrowsers.