Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hard link #77

Closed
yvxiang opened this issue Aug 24, 2015 · 4 comments
Closed

hard link #77

yvxiang opened this issue Aug 24, 2015 · 4 comments

Comments

@yvxiang
Copy link
Collaborator

yvxiang commented Aug 24, 2015

我看到levelDB-split中分裂tablet时,对原sst文件做了硬链接操作,然后去构造manifest。dfs有没有必要支持硬链接?

@bluebore
Copy link
Collaborator

这个和 @xupeilin 讨论过,硬链接没有高效的实现,比如我要对一个db做硬链接,只能遍历所有文件,逐个处理。

@yvxiang
Copy link
Collaborator Author

yvxiang commented Aug 25, 2015

刚扫了一下目前tera中的实现,如果我没理解错的话,应该是找出splitkey,然后修改元数据表,但实际上leveldb并没有作改动?
而另一种方案是既修改tera中的元数据表,又修改leveldb中的manifest。
相对于第一种方案来讲,第二种方案的优势在于什么?因为也是相当于只修改的元数据,但是sst文件中的元数据并没有变化,查找某个kv对时,仍然先需要在整个sst文件的block元信息中进行查找(不知道这里我对leveldb的理解对不对……目前正在读其源码)

@bluebore
Copy link
Collaborator

没发现第二种有什么优势,既然修改元数据就可以了,就没必要修改manifest了
毕竟修改manifest这个操作,很难做到原子的

@yvxiang
Copy link
Collaborator Author

yvxiang commented Aug 25, 2015

了解~

@yvxiang yvxiang closed this as completed Aug 25, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants