# SQLite & Database Tooling **Published by:** [Textile Blog & Newsletter](https://blog.textile.io/) **Published on:** 2023-09-29 **URL:** https://blog.textile.io/sqlite-and-database-tooling ## Content The Tableland team has been doing deep research the past few months. We’re amidst some new protocol capabilities and recently wrote about how DIMO and WeatherXM plan to use it—check out the blog post we wrote for a little alpha! Throughout this process, we looked at a number of SQLite tools and wanted to pass along some high-level research as we found them quite interesting!SQLite ToolsThe following list defines the projects we came across and various notes about them, including consensus type (Raft, Consul, or N/A), features (sync, replication, recovery, hosted, publish, or GUI), whether or not it’s open sourced, and potential usage highlights/limitations for our use case. It’s not meant to be fully comprehensive, but it just might be useful to folks looking for database products/solutions.LiteSyncLiteSync allows your applications to easily keep their SQLite databases synchronized.Features: replication, syncOpen Source?: noConsensus: RaftUsage: Simple to integrate, does replication, sync, and encryption. Full sync between replicas. Directly operate via SQLite.MarmotMarmot is a distributed SQLite replicator.Features: replication, syncOpen Source?: yesConsensus: RaftUsage: Change detection running on NATS (https://nats.io). Appears to support sharding. Uses RAFT via NATS for conflict resolution. Last writer wins. NATS appears to be something like LibP2P, but with connection and scalability tooling built in.rqliterqlite is an easy-to-use, lightweight, distributed relational database, which uses SQLite as its storage engine.Features: replication, syncOpen Source?: yesConsensus: RaftUsage: Full replication across replicas. Each replica can write, uses RAFT for consistency. However, the API wraps SQLite.DQLiteDqlite is a fast, embedded, persistent SQL database with Raft consensus that is perfect for fault-tolerant IoT and Edge devices.Features: replication, syncOpen Source?: yesConsensus: RaftUsage: Supported by Canonical (folks behind Ubuntu). Wraps SQLite and includes networking and RAFT consensus. While it does sync, it isn’t bi-directional like other projects. This is purely for scaling and still uses a client-server architecture. However, the API wraps SQLite.LiteFSLiteFS is a FUSE-based file system for replicating SQLite databases across a cluster of machines.Features: replication, syncOpen Source?:Consensus: Raft, ConsulUsage: Replicating database state across a cluster of replicas. Uses Consul for leader election, and projects like litefs-raft provide things like RAFT.LitestreamLitestream is a standalone disaster recovery tool for SQLite.Features: replication, recoveryOpen Source?: yesConsensus: N/AUsage: Litestream is a streaming replication tool for SQLite databases. It runs as a separate background process and continuously copies write-ahead log pages from disk to one or more replicas. It does not do sync.SQLite3 SyncSQLite3 Sync is a live SQLite3 database master-slave replication with sqlite3-rdiff using rsync over SSH.Features: replication, recovery, syncOpen Source?: yesConsensus: N/AUsage: Live SQLite3 database master-slave replication using rsync over SSH.LitereplicaLitereplica allows your applications to easily keep replicas of SQLite databasesFeatures: replication, recoveryOpen Source?:Consensus: noUsage: Litereplica is a library that provides master-slave replication with automatic failover. Appears to be related to the Litesync project.SymmetricDSSymmetricDS is open source database replication software that focuses on features and cross platform compatibility.Features: replication, syncOpen Source?: yesConsensus: N/AUsage: Generic database replication software that focuses on features and cross platform compatibility. This isn’t specific to SQLite per se, but does replicate SQLite as a feature.MycelialMycelial is the one-click data backbone for Edge AI/ML, Cloud ETL, and everything in between.Features: replication, syncOpen Source?: yesConsensus: N/AUsage: SQLite extension that connects a remote hub that can sync many readers on your DB.SQLite CloudSQLite Cloud is a is a distributed relational database system that ensures strong consistency across all nodes in a cluster.Features: replication, hostedOpen Source?: noConsensus: N/AUsage: Fully hosted SQLite DBs with some auto-scaling, auto-replication things built into the dash.DBHubDBHub is a Cloud for SQLite databases.Features: publishOpen Source?: yesConsensus: N/AUsage: Create private and public datasets. Integration for DB Browser for SQLite. CLI interface. Automatic alerts for data changes. Collaborative development.SQLite BrowserSQLite Browser is a high quality, visual, open source tool to create, design, and edit database files compatible with SQLite.Features: GUI, hostedOpen Source?: yesConsensus: N/AUsage: Online viewer that integrates with DB Hub. Simple visualization tool for SQLite databases.TursoTurso is an edge-hosted, distributed database based on libSQL, an open-source and open-contribution fork of SQLite.Features: replication, hostedOpen Source?: yesConsensus: N/AUsage: Turso is an edge-hosted, distributed database based on SQLite. Designed to minimize query latency via intelligent geo-replication. A major selling feature is its integration with platforms like CloudFlare, Netlify, and Vercel. Some of it is open source.Cloudflare D1Cloudflare D1 is Cloudflare’s native serverless SQL database.Features: replication, hostedOpen Source?: noConsensus: N/AUsage: D1 is Cloudflare’s native serverless database. It is based on SQLite, and integrates with Cloudflare Workers. (In fact, Tableland’s SDK is fully D1-compatible!)Awesome Decentralized DatabaseAwesome Decentralized Database is a curated list of the best decentralized database solutions, tools, resources, and learning materials that empower developers to build data-driven applications on the decentralized web. (Note: if you see anything missing, PRs are welcome!)**** You can check out the repo linked above for the details, but a current snapshot of what we’ve put together is outlined below.Relational DatabasesBlockchainAergoLite - AergoLite: SQLite with Blockchain.Catena - Catena is a distributed database based on a blockchain, accessible using SQL.Daisy - Private proof of authority blockchain where blocks are SQLite databases, in Go.Tableland - Decentralized SQLite database that provides provides wallet-based authentication, row-level permissions, and high performance at a low cost.IPFSgo-bs-sqlite3 - IPFS blockstore.ipfs-sqlite-block-store - IPFS blockstore.ipfs-sqlite-cli - CLI utility to backup and restore a database from IPFS. Requires local instance of GO-IPFS running.Peer-to-PeerCR-SQLite - CR-SQLite is a run-time loadable extension for SQLite and libSQL. It allows merging different SQLite databases together that have taken independent writes.IceFireDB - IceFireDB-SQLite database is a decentralized SQLite database.RaftChiselStore - ChiselStore is an embeddable, distributed SQLite for Rust, powered by Little Raft.ha-sqlite - High-availability sqlite database service based on raft.raft-sqlite - Raft backend using SQLite.ReSqlite - ReSqlite is an extension of Sqlite that aims to add basic replication functionality to Sqlite database.tqlite - Distributed SQL database with replication, fault-tolerance, tunable consistency and leader election.Real-time DatabasesPeer-to-PeerFireproof - Fireproof is a decentralized realtime database that stores documents using prolly-trees.Redwood - Highly-configurable, distributed, realtime database that manages a state tree shared among many peers.NoSQL DatabasesBlockchainBigchainDB Blockchain database.Bluzelle - Decentralized database for Web 3.0 using blockchain and edge computing for greater performance and security.ComposeDB - Decentralized, composable graph database to build interoperable applications on Ceramic.The Graph - Indexing protocol for querying networks like Ethereum, IPFS, Polygon, and other blockchains.Peer-to-Peerdb3 - Open-source and decentralized firebase firestore alternative for building fully decentralized dApps quickly with minimal engineering effort.OrbitDB - Serverless, distributed, peer-to-peer database.WeaveDB - NoSQL database powered by Warp Contracts (SmartWeave) on the Arweave blockchain.Encryption and SecurityFreeSQLiteEncryption - Add-on to the public domain version of SQLite that allows an application to read and write encrypted database files.Lit - Create and manage distributed cryptographic key-pairs for condition-based encryption and programmatic signing.Threshold Network - Access control with end-to-end encrypted data sharing and communication without the need to trust a centralized authority.sqlcipher - Fork of the SQLite database library that adds 256 bit AES encryption of database files and other security features.sqlite_codec - sqlite3 with built-in transparent encryption based on mbedtls library.LearningAwesome Database Learning - Another awesome list for database learning.Learn GraphQL - Learn real world GraphQL, quickly.Learn SQL - Practice and learn SQL from the basics.Let’s ChatIf you found this interesting, give out a follow on Twitter, check out our GitHub, and drop into our Discord. We’re always down to discuss the latest and greatest in database and blockchain tech! And soon, we’ll be launching our Studio web application to make it easier to develop with Tableland, so sign up for the waitlist if you’re interested in trying it out. ## Publication Information - [Textile Blog & Newsletter](https://blog.textile.io/): Publication homepage - [All Posts](https://blog.textile.io/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@textileio): Subscribe to updates - [Twitter](https://twitter.com/textileio): Follow on Twitter ## Optional - [Collect as NFT](https://blog.textile.io/sqlite-and-database-tooling): Support the author by collecting this post - [View Collectors](https://blog.textile.io/sqlite-and-database-tooling/collectors): See who has collected this post