Introduction to Relics
Relics is a new object storage integration feature introduced in NimbleBox.ai, specifically designed to handle large amounts of data utilized for your machine learning workflows.
Relics provides the ability to store various forms of unstructured data (any type of files) in the NimbleBox object store or integrate with your cloud object stores, such as Amazon S3, GCP GCS, and ABS Azure. This means you can keep your data safe and easily accessible, without having to worry about losing it or running out of storage space.
Why should you use Relics?
Relics facilitates data persistence, implying that the stored data remains intact and available even after instance shutdowns or after training your model. This feature proves to be particularly advantageous for the safekeeping of massive datasets, model files, and vital backups.
Relics is flexible, reliable, and easy to use, making it an ideal solution for your different storage needs.
Advantages of Relics for Secure and Scalable Data Storage
NimbleBox Relics offers an assortment of benefits and advantages to store your data in a secure and scalable manner.
Cost Efficiency - With Relics, you can enjoy the benefits of object-level data storage without having to invest in expensive infrastructure. This makes it a cost-effective solution for data of all sizes.
Data Security - Assign roles and permissions to ensure data security and prevent unauthorized access, theft, and accidental deletion.
Scalability - Store any size of files, including large volumes of data, with a highly scalable storage solution.
Flexibility - Support for any type of file, structured or unstructured, ensuring a convenient way to manage various data types.
Instant Accessibility - Retrieve data immediately without any delays, increasing productivity and efficiency.
Effortless Sharing - Share data with members across the globe without any hassles, encouraging collaboration and teamwork.
Don't miss out on learning more about Relics - check out this must-read blog post
Object Storage Options
Relics offers seamless integration with several prominent cloud providers' object storage services, providing you with an array of options for storage.
NimbleBox object storage feature - Provides a centralized storage repository for you to securely and efficiently store your data, ensuring durability and accessibility.
Amazon S3 - which is a well-known cloud object storage service, providing high performance, availability, and scalability of data storage.
Google Cloud Storage (GCS) - a popular cloud-based object storage service that offers an intelligent, secure, and cost-effective storage solution making it an excellent choice for organizations of all sizes.
Azure Blob Storage (ABS) - a cloud-based object storage service offered by Microsoft Azure, which delivers a secure, durable, and scalable storage solution for any type of unstructured data.
Looking to integrate any other object storage services with Relics? We're here to help - reach out to our team
Roles and Permissions
Protect your sensitive and valuable data by giving the right roles and permissions.
Owner and Admin of the workspace will be able to access all the functionalities in Relics.
Maximize data control and manage user access with our workspace level roles and permissions guide - access it here
How to Use Relics for Data Storage
NimbleBox Relics is a versatile platform that offers a range of features and functionalities for secure and scalable data storage. Here are some of the ways you can use Relics:
Through the platform console: Relics can be accessed through the NimbleBox platform console, which provides a user-friendly interface for uploading, managing, and accessing your data.
Using the nbox SDK: Relics can also be accessed using the nbox SDK, which is a software development kit that provides a set of functionalities that interact with the NimbleBox platform. The nbox SDK allows you to integrate Relics into your existing workflow and automate your data management tasks.
Using the nbox CLI: Relics can also be accessed using the nbox CLI, which is a command-line interface that provides a set of commands for interacting with the NimbleBox platform.
Create a relic
To create a new relic, follow the steps below:
Open your NimbleBox dashboard and navigate to the 'Relics' tab located on the sidebar.
Click on the 'New Relic' button and give your relic a meaningful name.
Click the 'Create' button to create your new relic.
Congratulations! You have now created a new relic on your dashboard.
Upload Files
To upload a file to a Relic, follow the steps below:
First, navigate to the 'Relics' tab on the sidebar of your dashboard.
Select the Relic to which you want to upload data.
Click on the Upload File button located in the Relic.
In the 'Upload' dialogue box, choose the file you want to upload and click 'Open'
Uploading a file in relic was that easy.
List Files
To view the list of files in a Relic, follow the steps below:
Navigate to the 'Relics' tab on the sidebar of your dashboard.
Click on the Relic for which you want to see the list of files.
Once you are inside the Relic, you will see all the files that are currently stored in that Relic.
To view the contents of a file in a Relic, simply click on the file.
View Logs
To view the logs of a relic and get information such as member details, file size, action performed, and time, follow one of the following methods:
Navigate to the 'Relics' tab on the SideBar of your dashboard.
Click on the relic that you want to view the logs for.
Once you are inside the relic, click on the ‘Logs’ tab to view the logs.
To view the contents of a file in a Relic, simply click on the file.
You can only view the contents of the code file, images, text and csv.
Delete Files from Relic
The rm method is used to remove a file from the remote object storage via a Relics object.
Method Documentation: rm(remote_path)
The argument remote_path specifies the path to the file on the remote storage service.
def rm(self, remote_path: str) -> None:
"""
Removes a file from the remote storage service via the associated `Relics` object.
Args:
remote_path: The remote path to the file on the remote storage service.
Returns:
None
"""
Here is an example usage of the rm method:
from nbox import Relics
# create a new `Relics` object and remove a file
r = Relics("my-relic-name")
r.rm("new_data/whoami.txt")
In this example, the rm method is used to remove the "new_data/whoami.txt" file from the remote object storage associated with the Relics object r.
Delete Relic
The delete method is used to delete the remote object storage associated with a Relics object, including all of its files.
Method Documentation: delete()
The delete method is used to delete the remote object storage associated with a Relics object, including all of its files.
def delete(self) -> None:
"""
Deletes the remote storage associated with the `Relics` object, including all of its files.
Returns:
None
"""
Here is an example usage of the delete method:
from nbox import Relics
# create a new `Relics` object and delete it
r = Relics("my-relic-name", create=True)
r.delete()
In this example, the delete method is used to delete the remote object storage associated with the Relics object r, which was created in the previous line. All files on the remote storage are deleted as well. Note that this operation cannot be undone, so use it with caution.
Explore the full range of Relics' capabilities with the nbox SDK docs
Usecases
- Store large datasets and trained models for machine learning workflows
- Backup and restore important data to protect against data loss
- Use Relics to store intermediate data, feature engineering, and transformation steps in machine learning workflows
- Store machine learning models and weights in Relics and use them for deployment in production environments
Frequently asked questions
No. Relics serves as an intermediary that allows you to connect and access object storage through a user interface, Nbox APIs or through CLI. However, you can use NimbleBox Object Storage to store your data.
You can create folders and subfolders within Relics to organize your files.
No, there is no limit on the number of files or the size of files that can be uploaded to Relics.
If the file is still available in your object store, you can re-upload it to Relics. However, if it has been deleted from your object store, you will not be able to retrieve it. It is important to ensure that you give the appropriate access and permissions to your team members to prevent accidental deletion.