Nathan,
Any thoughts about how well CouchDB would fit the PeerPoint requirements as compared to other distributed data stores?
Hi,
Melvin has kindly covered some of the technical detail of couchdb
already, thanks!
The main thing I'd like to mention, is that I strongly feel that tightly
coupling to any specific data stores will pretty much doom this project
from the beginning.
However if you were to take the approach of documenting and
standardizing the intersection of several (distributed) datastores, and
create a generic storage API/interface/protocol, then you would have a
key component of this project generalized and made universal, thus
allowing implementers to use whatever technology they choose behind the
interface, couchdb or otherwise.
Distributed hash tables (per wikipedia)
HTTP is a very good protocol and would server as a good base for
whatever you do, it's certainly ubiquitous enough. The REST dissertation
covers the properties needed for standardized async network
communication within a project like this. The CREST (Computational REST)
goes one step further and outlines how the REST architectural style can
be used to implement distributed service compositions in continuation
style, something which I also feel would aid this project. The
approaches of SIP, with SUBSCRIBE and NOTIFY cover another side of
things needed.
Ultimately all of this is achievable via the standardization of
interfaces, protocols and media types. Augment what already exists, and
where necessary decouple things which are already centralized with a
single point of control/failure (e.g. DNS).
The core of all of this are items 1-8 from "First tier services &
applications" within the PeerPoint document - and they correspond
directly to the work being done to create the Read Write Web of Data.
If this group and the people in the RWW group (of which Melvin is chair)
were to put our heads together and cover items 1-8 over the next year or
so, I'm positive that we'd make a markable impact on the shape of the
web/internet, and be a huge part of the way to enabling a more P2P world.
Best,
Nathan
Poor Richard wrote:
> - OpenLink Data Spaces <http://ods.openlinksw.com/wiki/ODS/>
ODS + Virtuoso are by far the most advanced products on the web today,
they're light years ahead of everybody else, indeed using Virtuoso_ODS
only you could build most of PeerPoint ;)
HBase is based on BigTable and is ... part of the Hadoop project
Apache Cassandra I would say is the most advanced...and has Hadoop integration (and support for Hive).
It's also worth considering that ... Cassandra ...is Highly Available and Partition Tolerant.
Whilst HBase is consistent and partition tolerant (but not HA).
HBase and Cassandra are Column Oriented/Tabular. (like vertica and
hypertable, and of course bigtable on which hbase is based).
Previously I've found it to be advantageous to use multiple solutions in
projects, and also to layer them on top of each other, for example
positioning Redis (KV) as a fast cache and queue system in front of
something beefier like Couch or Cassandra.
Sadly I've not had enough time yet to dive really heavily in to
applications using DHTs and P2P, other than the usual general techy
level of knowledge, thus I feel it would be more pertinent if somebody
more qualified were to comment on these.
I will say that it's nice to consider a P2P web where DNS is replaced by
open DHTs, and where each node on the network is both client and server
(peer) serving and responding to HTTP requests. If you think about it,
HTTP is a nigh on perfect async communication method for peers to
communicate with each other, POSTing back replies when they are ready.
Tip: the last section of the REST dissertation has a complimentary note
on this, where Roy mentions that adding a simple message identifier
header would allow async communication with messages being returned in
whatever order was fastest, rather than whatever order they were
requested in.
> Maybe I should separate 1-8 and 9-17 into separate tiers.
Now you're talking.. although it's a slight paradox.
You see 9-17 need to be built on top of 1-8, so require 1-8 to be
created first.
However, the feature requirements and best approaches for 1-8 can only
be gained by the process of creating and reviewing 9-17, thus 9-17 need
to be created first.
This is why I'd suggest strongly, that PeerPoint takes the approach of
looking at what has already been created in the FOSS world for 9-17, and
use the details, real working projects to get the requirements for 1-8.
It's really just the standardization process. Find the common
requirements, create something universal/generic on which existing 9-17
software can work, then back port it all on to the new generalized specs
created for 1-8. Get even half way there and you've already created most
of the PeerPoint dream, and have many already existing, aged, and
proven projects all interoperable and working in a P2P fashion :)
> I wonder if you and Melvin could make a copy of the PeerPoint doc and pare
> it down to the parts that would most apply and appeal to the RWW group,
> adding whatever makes sense to round out that particular "view" of the
> project? I'll help in any way I can, but my progress is pretty slow due to
> the amount of research I have to do.
Sounds like a good idea, I'll discuss with Melvin out of band and I'm
sure we'll get to it in the next day or two.
On Saturday, July 14, 2012 7:01:10 PM UTC-5, nathan wrote:Poor Richard wrote:
> - OpenLink Data Spaces <http://ods.openlinksw.com/wiki/ODS/>
ODS + Virtuoso are by far the most advanced products on the web today,
they're light years ahead of everybody else, indeed using Virtuoso_ODS
only you could build most of PeerPoint ;)
Holy bejusus! I had not looked at the ODS/Virtuoso site before. I just caught the link in my dragnet recently. I have not seen anything else comparable to their framework/platform. We not only could probably build most of PeerPoint with it, but a shitload of it is already there.
I'm also going to keep the following on the short list for now (summarizing):
Richard
Kingsley, thank you for including me.
I am in charge of ODS at OpenLink Software. Could you please recap for me the requirement for PeerPoint, so I can get an idea of how we could come together.
Thanks,
Sebastian Trueg
On 07/15/2012 09:28 PM, Kingsley Idehen wrote:
On 7/15/12 4:18 AM, Melvin Carvalho wrote:
<mailto:poor.r...@gmail.com>> wrote:
On Saturday, July 14, 2012 7:01:10 PM UTC-5, nathan wrote:
Poor Richard wrote:
> - OpenLink Data Spaces <http://ods.openlinksw.com/wiki/ODS/>
ODS + Virtuoso are by far the most advanced products on the
web today,
they're light years ahead of everybody else, indeed using
Virtuoso_ODS
only you could build most of PeerPoint ;)
Holy bejusus! I had not looked at the ODS/Virtuoso site before. I
just caught the link in my dragnet recently. I have not seen
anything else comparable to their framework/platform. We not only
could probably build most of PeerPoint with it, but a shitload of
it is already there.
I'm also going to keep the following on the short list for now
(summarizing):
+1 to openlink ... it certainly is a long way ahead of anything else
out there in terms of functionality, it's also part of KDE/nepomuk ...
I'll cc Kingsley here, who is the CEO
Founder& CEO
I've added Sebastian to the cc list as we are making the RESTful
interfaces to ODS cleaner. Our ultimate goal is to have endevors such as
PeerPoint leapfrog into Linked Data and WebID adoption and exploitation
via our powerful framework for personal and distributed data spaces.
Sebastian: please pick this up.
--
Regards,
Kingsley Idehen
OpenLink Software
Company Web:http://www.openlinksw.com
Personal Weblog:http://www.openlinksw.com/blog/~kidehen
Twitter/Identi.ca handle: @kidehen
Google+ Profile:https://plus.google.com/112399767740508618350/about
LinkedIn Profile:http://www.linkedin.com/in/kidehen
--
Sebastian Trueg
Technical Consultant
OpenLink Software
tr...@openlinkws.com
http://openlinksw.com
http://trueg.wordpress.com
http://www.linkedin.com/in/trueg
Richard, the RWW group really is the definition of what you want to
achieve with PeerPoint, its 50+ highly skilled, devoted, people who
rapidly innovate and standardize around FOSS on the web. IMHO they're
also the only people currently capable of realizing the PeerPoint dream
of your 1-8, and who are already working on and have implementations
many things from your 9-17.
The bigger point is, that if you have standardized interfaces, then
there's no need to consider whether you'll use Cassandra or HBase or
Couch or ODS or data.fm or (insert anything here, and multiples thereof)
- that's just implementation details and different people will want
different things for different purposes.
How can you build a full P2P web on one selected datastore? you can't,
that's not free and not in the P2P ethos as you know and have written -
hence why the interfaces need standardized, and the choice as to which
software to use for what purpose should be left to each individual user
/ developer / creator / org.
If you think of the web as a big three-tier system:
lines are blurred and barriers broken down. I know people usually think
of the web as MVC, but I quite like this 3-tier view of it to grok
what's going on initially.
Melvin Carvalho wrote:
Melvin Carvalho wrote:
Nathan,
I copied your brilliant comments and links to various places in the PeerPoint doc.
On Sunday, July 15, 2012 7:21:21 AM UTC-5, nathan wrote:
<snip>Richard, the RWW group really is the definition of what you want to
achieve with PeerPoint, its 50+ highly skilled, devoted, people who
rapidly innovate and standardize around FOSS on the web. IMHO they're
also the only people currently capable of realizing the PeerPoint dream
of your 1-8, and who are already working on and have implementations
many things from your 9-17.
I joined the RWW group. I looked at the task list and don't think I have any of the necessary expertise. My functional skillset at this point is mainly writing, informed by past IT experience (corporate WAN/LAN and web 1.0 environments) and past technical writing experience.
I have taken the technical detail in the PeerPoint doc to about as deep a level as I can, although I still have a lot of horizontal ground to cover.
I want to include enough technical discussion at this point for the project to be taken seriously by software engineers and designers, but my largest contribution should ultimately be at the top end, coherently describing the end-to-end scope and functionality required by various kinds internet users, most of whom won't want to know what's under the hood of an all-in-one internet application compilation or appliance. An important target class is social entrepreneurs, activists, and citizens who need better collaboration tools but who won't want to research, pick, integrate, and extensively configure a bunch of separate technologies.
I don't know the RWW etiquette and site layout -- is it appropriate for me to introduce myself and the PeerPoint project somewhere?
good work, PR
I am interestedly lurking only at this time as I have little leeway for this, but am very happy to see this proceeding as well as it does. It is a very needed action - to introduce some planning in FoSS land, especially if we want to move towards a p2p world, not just isolated instances of peer collaboration.Great stuff. Sorry for not chiming in for now.