Skip to content

Discussion du 03 03 13 avec Chipaca sur #u1db

k4nar edited this page Mar 3, 2013 · 4 revisions

Discussion entre Yannick, Chipaca et Dobey au sujet de l'architecture d'U1, d'U1DB et d'ubuntuone-storage-protocol, sur le chan #u1db.

Feedback de Yannick

La discussion était assez intéressante, même si je n'étais pas assez prêt. L'écosystème d'U1 est assez vaste, c'est un projet long qui s'est un peu éparpillé.

J'ai commencé cette conversation afin de savoir si nous étions obligé d'utiliser U1DB, la réponse a globalement été "ça dépend de ce que vous voulez faire". En fait, pour le moment, U1DB est utilisé pour les playlists music.

U1DB n'est pas utilisé pour les fichiers stockés. Je n'ai pas encore bien compris comment les "metadatas" étaient stockées pour le moment.

Log

[19:05:56] <k4nar> hi
[19:06:33] <k4nar> with a group of students, we would like to implement our own u1 server
[19:06:52] <k4nar> is u1db the only way to get in, or could we use other database solutions ?
[19:07:20] <k4nar> i saw that the development of u1db seems to be quite slow this times
...
[20:18:21] <Chipaca> k4nar: hi
[20:18:28] <k4nar> hi :)
[20:18:43] <Chipaca> k4nar: when you say "u1 server", do you mean u1db?
[20:18:55] <k4nar> Chipaca: nop, ubuntuone
[20:19:09] <Chipaca> k4nar: ok, what is ubuntuone :)
[20:19:16] <Chipaca> (it is many things)
[20:19:25] <Chipaca> (typically, you don't do "many things" with students)
[20:19:57] <k4nar> well, we want to be fully compliant we the existing clients
[20:20:41] <k4nar> Khady: could you help me to explain our goals please ?
[20:22:10] <k4nar> Chipaca: english is not my native language, so it's a bit difficult for me to explain this ;)
[20:22:28] <Chipaca> k4nar: ok :)
[20:22:46] <k4nar> but, we would like to provide a solution to create a server compliant with the existings clients
[20:23:19] <Chipaca> k4nar: well, as I say, u1 is a lot of things
[20:23:27] <k4nar> like the one used by canonical, which store everything on amazon s3
[20:23:54] <k4nar> by u1 i mean the storage syncing solution
[20:23:55] <Chipaca> k4nar: there's files, for which you need to implement a server using ubuntuone-storage-protocol
[20:24:22] <Chipaca> k4nar: then there's the web and REST interfaces to the files, which are separate
[20:24:31] <Chipaca> k4nar: the mobile clients talk the REST API
[20:24:54] <Chipaca> k4nar: the desktop clients talk a mixture of dbus to the local client and REST to the servers
[20:25:04] <k4nar> okay
[20:25:23] <Chipaca> k4nar: a place to start would be looking at ubuntuone-storage-protocol and writing a server using that
[20:25:39] <k4nar> i saw that the web ui is server side, so we won't be compliant with it
[20:25:57] <k4nar> yes, we started looking at it
[20:27:05] <k4nar> Chipaca: what are the relation between ubuntuone-storage-protocol  and u1db ?
[20:27:09] <k4nar> i don't get it
[20:27:20] <Chipaca> k4nar: none
[20:28:17] <k4nar> so ubuntuone-storage-protocol is just about the exchange with protobuf, right ?
[20:31:23] <k4nar> Chipaca: do you know if the development of u1db is still active ?
[20:31:35] <k4nar> i don't see very much activity on the launchpad :/
[20:32:08] <Chipaca> k4nar: yes, u-s-p is the protobuf protocol
[20:32:37] <k4nar> great, i got this right at least ;)
[20:32:37] <Chipaca> k4nar: it's active in the sense that it is being used; it is also at a development plateau where no new features are planned
[20:32:47] <k4nar> ok, nice
[20:33:16] <Chipaca> k4nar: that might change, if it takes off on the phone as we expect it to
[20:33:56] <k4nar> Chipaca: what might change ?
[20:34:15] <Chipaca> k4nar: the no-features-planned thing
[20:34:28] <k4nar> oh, ok
[20:35:02] <k4nar> so now, it's a reliable solution ?
[20:40:29] <k4nar> Chipaca: i wonder if, in order to be compliant we the existing clients, we have to use U1DB, or if it would be as much simple to use another storage system
[20:40:50] <Chipaca> k4nar: again, it depends on what your aim is
[20:40:50] <k4nar> not that we don't want to use U1DB, but we are looking at every option
[20:41:13] <Chipaca> k4nar: u1db currently has no user-visible client with significant user base
[20:41:26] <Chipaca> k4nar: storage does
[20:41:36] <k4nar> our aim is to provide a way for any user to self-host is U1 files
[20:43:03] <k4nar> Chipaca: yes, it seems that u1db is still pretty much an internal project
[20:43:37] <k4nar> but, as we will work with Canonical's technologies, it might not be a problem ;)
[20:44:46] <k4nar> i'm quite surprised to see that explaining our goal to someone very familiar with the u1 environment is so difficult
[20:45:00] <k4nar> it's an intersting constatation
[20:45:24] <k4nar> but we are at the very begining of a two and a half year project
[20:45:37] <k4nar> so, well, we'll get into it ;)
[20:49:07] <Chipaca> k4nar: you probably want to talk with lucio at some point
[20:49:21] <Chipaca> k4nar: he's on UTC-3, and not a morning person
[20:49:27] <k4nar> ok ;)
[20:49:42] <Chipaca> k4nar: also possibly with aquarius
[20:50:10] <k4nar> i know that Khady have spoken with some canonical devs, but i exactly now with who and of what
[20:51:02] <k4nar> but he said that our project was interesting, as there is no free implementation of any server
[21:37:27] <dobey> u1db and file sync are separate systems/servers, and you really wouldn't want to mix the two into one, if you were to implement either (btw, u1db comes with an example server implementation which can be run yourself)
[21:40:45] <k4nar> dobey: the u1db system is like the metadatas of the files stored by ubuntuone, right ?
[21:41:31] <k4nar> and those metadatas get synced by u1db, while the files by themselves are synced by ubuntuone-storage-protocol
[21:42:41] <dobey> k4nar: no. u1db and file sync are completely separate
[21:43:12] <k4nar> dobey: ok, thanks you
[21:43:27] <dobey> k4nar: there is no 'metadata' of files stored in u1db. u1db is for syncing structured data that would be better represented in a database, than in flat files
[21:44:04] <k4nar> ok
[21:45:03] <k4nar> dobey: so the file sharing/syncing part of u1 is database-free ?
[21:45:48] <k4nar> i thought that a database, and a especially a document oriented one, was used to share the state of all files between nodes
[21:45:55] <dobey> as far as the client goes, yes. most data for file sync is transferred via the protobuf protocol (there are a couple things which are done via REST)
[21:48:29] <k4nar> ok, that's interesting
[21:49:32] <k4nar> dobey: but what part of u1 rely on U1DB if it's not file syncing ?
[21:51:08] <dobey> k4nar: musc streaming playlists are stored in u1db on the server. on the client there isn't really anything using it yet. it's still a bit new
[21:51:29] <k4nar> ok
[21:51:42] <dobey> k4nar: but, as an example. contacts, todo lists, playlists, and such types of data are what u1db is built to store and sync
Clone this wiki locally