Canister Indexer Data Storage

What type of topic is this?

I’m building a canister that includes indexing data and I was wondering how I would store information that would be in SQL form. Can I store an SQL lite engine in the canister and read/write data to it until it hits capacity and create a new one? Any help would be greatly appreciated. Thanks!

I assume that you are using Typescript but will provide information for other languages as well.

  1. There have been attempts to create relational databases on ICP (see the Backend → Databases section here) but these are all not currently maintained.
  2. The Azle CDK (Typescript) plans to enable connecting a SQL database to a canister by the end of the year.

Your best bets immediately are:

  1. CanDB which is a non-relational database is still maintained.
  2. Stable Structures in Rust / Typescript / Python, Stable Regions in Motoko