I have an idea for a distributed SQL database using the bittorrent protocol to pull and write my data.
For the argument, let's say this is a messaging application in which thousands of users run a program containing a messaging window and an input field for recording messages.
Each written message inserts an INSERT into its own SQL database.
How can I do that
- Download the .torrent file, which essentially contains the / DDL schema for creating the database and create it on local machines.
- At any time, the "write" action is performed (for example, the user wants to send a message) that the INSERT line (which looks like a delta) does two things:
- Writes their own internal database
- Creates a .torrent file from this line, named something like messaging- [my-ip] - [UTC_timestamp] .torrent and sends it to the tracker
- Everyone who launches the application constantly scans the tracker for files of this specific name (and, possibly, after a certain date), downloads .torrent and places it and runs INSERT commands in its local database.
What you had then is a ton of delta files, all P2Ps are hosted for redundancy, updating local .sqlite DBs on many machines.
Some problems I am facing
How to clear torrents of a specific file name? I read the http bittorrent tracker spec, but you seem to only be able to request files based on their specific information name. Is it not possible to query a group of files or based on a file name?
.torrent ? , ? .torrent...
.