More
Project Info
Mailing
List
Who
|
FreeSQL
is an attempt to build a SQL layer for Freenet, so that you can
use Freenet as the storage component for SQL-based applications.
Implemented (for now) in perl, it strives for total SQL compliance,
so
that any SQL-based app can be ported to Freenet |
Why
would you want to port SQL apps to Freenet? |
Most
SQL-based web apps require you to own and operate your own, private,
database application, and then share that information with others
via your
web site. With FreeSQL, you can write apps that use a global "communal"
database built into the fabric of Freenet. Keep in mind that "communal"
doesn't have to mean "world-writable" (although it can).
Because of
Freenet's secure SSKs, you can make your database "world-readable"
instead.
You
can also run multiple instances of the same app on the same data
set,
even if those apps are running on different machines. Imagine
two
Slash
sites running on two different
web sites, but sharing the same pool of stories/comments/moderation.
With
such a scheme, there is no possiblity for censorship of any kind.
And
because anyone can put up a mirror just by downloading the Slash
codebase
and pointing it at the right database, the load is effectively
distributed.
|
Yes,
it surely is. However, with efficient caching, FreeSQL can get
pretty
good results if you leave it running for a while. You can even
cache your
local data to a Berkeley DBM file, effectively running a local
copy of
your distributed database. The point is that these local caches
can be
blown away at will, without affecting anything other than speed.
In
short: FreeSQL let's you trade performance for anonymity and
distrubuted access. For some apps, that's a good deal.
Doesn't
this mean that my financial transaction database won't work with
FreeSQL?
~
Yes. FreeSQL is not a replacement for Oracle. Not even postgres.
But most
apps don't use the full feature set of SQL, so most apps can be
ported to
FreeSQL. If your app runs on MySQL, it will almost surely run
on FreeSQL.
What's
slated to be ported to FreeSQL?
Right
now, we are working on ports of the <a
href="http://enzyme.sourceforge.net">Enzyme open
source project</A>,
PHPLIB, and at least one Slash-like app.
|
Absolutely.
Please join our mailing list, or just email us your ideas.
|
Isn't
FreeSQL just vaporware? Is it just an idea? |
Nope.
There is real live code for FreeSQL. No, it's not Oracle, but
it
does manage to mimic the command-line tool "mysql" pretty
well.
|
How
much SQL compatibility do you have so far? |
From
the 0.3 release notes:
FreeSQL is coming along nicely. The interactive SQL parser is
much
improved, and we can now support SELECT, INSERT, UPDATE, CREATE,
and
DELETE commands. The DB schema is stored in Freenet. We can also
support
primary and secondary keys (indexes) and, most importantly, we
can now
parse the output from mysqldump. That's right, you can dump your
MySQL
database to a file, and then read it in to FreeSQL. Hopefully,
this means
that porting apps from MySQL to FreeSQL should be only a little
while
off...
|
Feature requests that we could use some help with: DBD/DBI interface,
mimicking mysqldump and mysql, porting to a non-perl implementation,
and
efficient XML-RPC support.
|
Surf on over to <a href="http://freenet.sourceforge.net">their
home page
to find out</a>. In short: Freenet is a fully distributed,
anonymous and
secure P2P file sharing architecture. It's not your mama's P2P
either.
|
|