sounds like a good idea! On Sun, Aug 12, 2018 at 5:34 PM Jeff Zhang <zjf...@gmail.com> wrote:
> Motivation > > The motivation of ZEPPELIN-2619 is to change the notes storage > structure. Previously we store it using {noteId}/note.json, we’d like to > change it into {note_name}_{note_id}.zpln. There are several reasons for > this change. > > > 1. > > {noteId}/note.json is not scalable. We put all notes in one root > folder in flat structure. And when zeppelin server starts, we need to read > all note.json to get the note file name and build the note folder structure > (Because we need to get the note name which is stored in note.json to build > the notebook menu). This would be a nightmare when you have large amounts > of notes. > 2. > > {noteId}/note.json is not maintainable. It is difficult for a > developer/administrator to find note file based on note name. > 3. > > {noteId}/note.json has no folder structure. Currently zeppelin have to > build the folder structure internally in memory according note name which > is a big overhead. > > > New Approach > > As I mentioned above, I propose to change the note storage structure to > {note_name}_{note_id}.zpln. note_name could contains folders, e.g. > folder_1/mynote_abcd.zpln > > This kind of note storage structure could bring several benefits. > > 1. > > We don’t need to load all notes when zeppelin starts. We just need to > list each folder to get the note name and note_id. > 2. > > It is much maintainable so that it is easy to find the note file based > on note name. > 3. > > It has the folder structure already. That can be mapped to the note > folder structure. > > > Side Effect > > This approach only works for file system storage, so that means we have to > drop support for MongoNotebookRepo. I think it is ok because I didn’t see > any users talk about this in community, so I assume no one is using it. > > > This is overall design, welcome any comments and feedback. Thanks. > > > Here's the google docs, you can also comment it here. > > > https://docs.google.com/document/d/126egAQmhQOL4ynxJ3AQJQRBBLdW8TATYcGkDL1DNZoE/edit?usp=sharing > > > >