LogoLogo
v2.x (Stable)
v2.x (Stable)
  • What is Boost?
  • Features
  • Components
    • boostd
      • Repository
      • GraphQL API
      • JSON-RPC API
      • SQLite metadata database
    • Local Index Directory
      • Index types
      • Dependencies
      • Initialisation
    • boostd-data
    • YugabyteDB
    • booster-http
    • booster-bitswap
    • libp2p Protocols
  • Hardware requirements
    • YugabyteDB
  • Installation
  • New Boost Setup
  • Configuration
    • UI Settings
    • HTTP Transfer limit
    • Deal Filters
    • Remote CommP
    • Legacy Deal configuration
    • HTTP indexer announcement
    • Manual Publish Storage Deal Message
  • Monitoring
    • Setting up a monitoring stack for Boost
  • Storing data on Filecoin
  • Retrieving data from Filecoin
    • HTTP retrieval
    • Advanced Configuration of booster-http
    • Bitswap retrieval
  • Backup and Restore
  • Tutorials
    • How to upgrade from Boost v1 to Boost v2
    • How to re-index unsealed pieces that are flagged by LID in Boost v2
    • How to upgrade from v2.0.0 to v2.1.0
    • How to upgrade from v2.1.x to v2.2.0
    • Start and stop Boost processes
    • How to store files with Boost on Filecoin
    • Using filters for storage and retrieval deals
    • Migrate from Lotus to Boost
    • How to onboard data using DDO deals
  • Troubleshooting
  • Experimental Features
    • FVM Contract Deals
    • Direct Deals
    • Data Segment Indexing
  • FAQ
  • Need help?
Powered by GitBook
On this page
  • YugabyteDB FAQ
  • YugabyteDB Maintenance and Upgrades
  • YugabyteDB Troubleshooting
Edit on GitHub
Export as PDF
  1. Components

YugabyteDB

YugabyteDB is the backend database that hosts the Local Index Directory

Previousboostd-dataNextbooster-http

Last updated 11 months ago

YugabyteDB is used to store the retrievals indexes. When a client makes a retrieval request, LID service is used to lookup the requested data within the Lotus miner. For more details see the .

Depending on the size of data your SP is holding, you can run in a variety of ways. You can find more information about how to run YugabyteDB .

For production use, YugabyteDB can be deployed as a highly available (HA) cluster. The cluster can be deployed on a or as a . Please ensure to read all the before proceeding.

YugabyteDB must be backed up regularly to avoid loosing deal metadata. Once this data is lost, there is no reliable way to recover it.

You can then start boostd-data on :8044 and connect it to the yugabyte with:

boostd-data run yugabyte --hosts 127.0.0.1 \
                         --connect-string="postgresql://postgres:postgres@127.0.0.1:5433" \
                         --addr 0.0.0.0:8044

The PGX driver from Yugabyte supports cluster aware Postgres connection out of the box. If you are deploying a multi-node YugabyteDB cluster, then please update your connect-string to use a cluster aware connection.

With Cluster Mode: "postgresql://postgres:postgres@127.0.0.1:5433?load_balance=true"

With Cluster Mode + No SSL: "postgresql://postgres:postgres@127.0.0.1:5433?sslmode=disable&load_balance=true"

YugabyteDB FAQ

  1. What is YugabyteDB and why YugabyteDB? YugabyteDB is a high-performance distributed SQL database. Built using a unique combination of high-performance document store, per-shard distributed consensus replication and multi-shard ACID transactions (inspired by Google Spanner), YugabyteDB serves both scale-out RDBMS and internet-scale OLTP workloads with low query latency, extreme resilience against failures and global data distribution. We tested multiple open source databases for the Boost use case and found YugabyteDB to be well suited as it is highly performant and scales well horizonally.

  2. How do I learn about YugabyteDB and what do I need to know about YugabyteDB as an SP? SPs should familiarize themselves with the “” section of the along with the before deploying YugabyteDB. YugabyteDB will also be utilized by Lotus V2 architecture as well. We plan to allow SPs to connect all of their Boost instances to a single LID (YugabyteDB) with Boost v2.1.0 release. This will also allow SPs to serve retrievals from any of their miners using a single booster-http or booster-bitswap process.

  3. Which deployment should I choose? We recommend deploying YugabyteDB either locally on bare metal or using a managed deployment. Users can choose to deploy on the cloud if they can guarantee that scaling up the DB will not be impacted by the network bandwidth and infrastructure. It is recommended that YugabyteDB is highly available so that if one of the nodes is not available, your SP operations will not be impacted. You can find some of here. Please feel free to add your experience and deployment details to the discussion.

  4. Can I convert YugabyteDB processes to systemd services? YugabyteDB does not ship as a systemd service by default. You will need to create a new service based on the commands you are running to start YT-Master and YT-Server processes. These commands can be customized based on user requirements and infrastructure.

  5. Once YugabyteDB is deployed, do I need to perform any additional steps? Ideally, once the deployment is complete and can be reached over the network by boostd-data service, users do not need to perform any additional steps. If you wish to change the default username/password, you must also update the same on the --connect-string of boostd-data service.

YugabyteDB Maintenance and Upgrades

Boost is not currently tied to a specific version of YugabyteDB. We recommend setting up the latest stable version of the YugabyteDB when creating a new LID instance. Over the time, users can upgrade their YugabyteDB. When upgrading:

  1. Boost-related processes must be stopped beforehand. If YugabyteDB is being utilised by other services apart from Boost then those services must be stopped as well.

YugabyteDB Troubleshooting

You can find some of here. Please feel free to add your experience and deployment details to the discussion.

Read through and follow the and reach out to if you have any questions.

As per the industry best practices, YugabyteDB should be for redundancy. Check out if you need any help with management of the database.

If you require help with YugabyteDB, we recommend checking out the . If the problems is not resolved then users should reach out to YugabyteDB team via or for any support. You can also reach out to other users in #boost-help channel of filecoin slack to seek help from your peers.

architecture of LID
YugabyteDB
here
Kubernetes instance
manual deployment
pre-requisites
Deploy and Manage
documentation
architecture
the example YugabyteDB deployment
the example YugabyteDB deployment
upgrade guide
YugabyteDB team on Slack
regularly backed up
YugabyteDB docs
troubleshooting guide
Slack
Github