Managing Engines in the RAI Console
Engines are virtual machines running in a cloud provider, such as Microsoft Azure, that execute query computations and process database transactions: Essentially, engines do all the work to move data around and run applications while allowing you to increase or decrease computational power as needed. Engines include CPUs and memory.
It’s important to note, however, that the storage used for RAI databases is completely separate from engines. That’s because the RelationalAI RKGS separates data storage from computation to achieve unlimited scaling. That is, because you can always use a larger engine, you can safely add as much data as you need to your database, knowing that you’ll have the computation power you need to process these data.
Engines, then, are stateless in regards to your data. This independence means that you can select, create, and delete engines without affecting your data.
Because of the way engines and databases work together, you will need to select an engine every time you work with a database.
Engines are associated with your RAI account. When you log into the RAI Console, all available engines in your RAI account are listed for you to select. You can reassign engines to databases as needed. You can also assign multiple databases to the same engine, and assign the same database to multiple engines. Multiple account users can use one engine.
The diagram above depicts a RAI account with two databases and two engines. Database-1 can be connected to MyEngine-XS, MyEngine-L, or both. Database-2 can also be connected to MyEngine-XS, MyEngine-L, or both. Note, again, that databases and engines are separate entities.
Here’s how to navigate the Engines page:
To access the Engines page, click the Engines icon on the left-hand side of the RAI Console. The Engines page lists all previously created engines associated with your RelationalAI account.
To rearrange engines in ascending or descending alphabetical order, click the arrow next to the Name field.
To search or filter engines, type text or values in the Quick Filter field.
To view the state of your engine, see the respective information under State.
To view the size of your engine, see the respective information under Size.
To view the date and time an engine was created, see the respective information under Created On. Note that you can see the full details of when the engine was created by holding the pointer over the date. To rearrange engines by the date they were created, click Created On.
To create a new engine:
Click + Engine in the top right-hand corner.
In the window that opens, enter a name and select a size for the engine. You need to enter a name that has not been previously used for an engine.
The name of your engine will now appear in the list. The engine will take a few minutes to be provisioned.
Note that you can also create engines from the Engines pop-up menu in the Editor. See Selecting an Engine in the Working With Worksheets guide.
To delete an engine:
Click X next to the engine you want to delete.
In the Confirmation window that opens, click Delete. The engine will disappear from the list.
It’s best practice to delete engines when you’re no longer using them.🔎
When you delete an engine, all transactions being processed by the engine are aborted.
Before you delete an engine, it’s best practice to:
- Check with other team members to make sure they are not using the engine.
- Confirm that all transactions have been completed.
Because transactions are aborted when you delete an engine, in some cases you may find it helpful to delete the engine connected to your database if something goes wrong with a transaction.
The Console lets you choose the computation power that you need for a particular set of tasks. Importing a lot of data, for example, might require a more powerful engine than running day-to-day transactions on your data.
Available engine sizes are:
- XS (extra small).
- S (small).
- M (medium).
- L (large).
- XL (extra large).
You should use the minimum engine size for your needs. It’s best to start with an engine size of XS and incrementally increase when you need to load more data or require more resources for concurrent workloads. If you experience queries that take exceptionally long to run, use a larger engine size.
You may find it useful to connect multiple engines to one database. If you’re working with other team members, you can set up your own engine to run queries while knowing that these queries won’t affect the performance experienced by other users.