Enhanced Orthogonal Persistence - Larger Limits?

Hello!

I am writing a new Motoko canister and luckily I get to use enhanced orthogonal persistence (EOP) immediately. From my understanding as of the time of this post, the maximum amount of stable storage EOP can handle is the current heap size (4 GiB) without using Motoko Regions, which in my understanding allows developers to manually use up to 500 GiB of stable storage per canister. Assuming these understandings are correct, I have several questions in regards to how to proceed forward.

  1. Even though there is a caution in the docs, how else would I be able to use more stable storage than just EOP if using Regions is discouraged? Maybe I am misinterpreting the warning, maybe it means to still use Regions but only if my “use case” requires more storage than just the heap…
  2. When will EOP scale in the future? Is there a timeline developers can follow to keep track of updates specifically for this? I understand there are limitations and complexities to navigate through, I simply am asking for a progress bar we can observe passively.
  3. When EOP inevitably does scale to match stable memory, will Regions become obsolete?

I am truly thankful for all the work being done behind the scenes, and cannot possibly imagine how truly complex everything is, so please do not take this post as ungrateful. I am just trying to best position future canister development and management for a solo dev. Sorry for any ignorance in this post, I truly am navigating ICP as a beginner.

Thanks in advance!

The EOP limit is actually 6GB at the moment, and we hope to increase it eventually.

You can still use Regions, even with EOP, but then you are doing manual memory management, which is error prone. So I’d only resort to them if you really need to or have simple, but large, resource requirements.

I’m unfortunately not aware of any timeline, but the plan is indeed to scale beyond 6GB and the vision was, in principal, to make the Regions obsolete. That doesn’t mean we’ll remove them, just you shouldn’t need to use them.

Do I understand correctly that I can upload up to 6 GB with an EOP-based Motoko canister?