sounds like a good idea!
On Sun, Aug 12, 2018 at 5:34 PM Jeff Zhang <[email protected]> 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
>
>
>
>