diff options
| author | muqiuhan <[email protected]> | 2023-09-28 13:09:15 +0000 |
|---|---|---|
| committer | muqiuhan <[email protected]> | 2023-09-28 13:09:15 +0000 |
| commit | 74bb89ab6df75581588ee2659bd37a052f1e5f97 (patch) | |
| tree | 559dc606598f8ce06bdf3fa913ac31f7b3ded168 | |
| parent | 58a03d985e3935855ae3910bf9638a88df4e0b15 (diff) | |
| download | blog-74bb89ab6df75581588ee2659bd37a052f1e5f97.tar.gz | |
deploy: e430032be54fffeb3a125d997431e34be9e10480
| -rw-r--r-- | 2023/06/29/二〇二三年六月二十九日/index.html | 2 | ||||
| -rw-r--r-- | 2023/07/21/WiscKey-Separating-Keys-from-Values-in-SSD-conscious-Storage/index.html | 267 | ||||
| -rw-r--r-- | 2023/07/26/二〇二三年七月二十六日/index.html | 2 | ||||
| -rw-r--r-- | archives/2023/07/index.html | 18 | ||||
| -rw-r--r-- | archives/2023/page/2/index.html | 36 | ||||
| -rw-r--r-- | archives/2023/page/3/index.html | 36 | ||||
| -rw-r--r-- | archives/2023/page/4/index.html | 18 | ||||
| -rw-r--r-- | archives/page/2/index.html | 36 | ||||
| -rw-r--r-- | archives/page/3/index.html | 36 | ||||
| -rw-r--r-- | archives/page/4/index.html | 38 | ||||
| -rw-r--r-- | archives/page/5/index.html | 18 | ||||
| -rw-r--r-- | papers/WiscKey: Separating Keys from Values in SSD-conscious Storage.pdf | bin | 0 -> 2346604 bytes | |||
| -rw-r--r-- | tag/index.html | 6 | ||||
| -rw-r--r-- | tags/Database/index.html | 195 | ||||
| -rw-r--r-- | tags/Technique/index.html | 18 |
15 files changed, 632 insertions, 94 deletions
diff --git a/2023/06/29/二〇二三年六月二十九日/index.html b/2023/06/29/二〇二三年六月二十九日/index.html index f26a2851..5673c32d 100644 --- a/2023/06/29/二〇二三年六月二十九日/index.html +++ b/2023/06/29/二〇二三年六月二十九日/index.html @@ -173,7 +173,7 @@ <div class="icon arrow-left"></div> <div class="post-link"> - <a href="/2023/07/26/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%B8%83%E6%9C%88%E4%BA%8C%E5%8D%81%E5%85%AD%E6%97%A5/">Prev</a> + <a href="/2023/07/21/WiscKey-Separating-Keys-from-Values-in-SSD-conscious-Storage/">Prev</a> </div> </div> diff --git a/2023/07/21/WiscKey-Separating-Keys-from-Values-in-SSD-conscious-Storage/index.html b/2023/07/21/WiscKey-Separating-Keys-from-Values-in-SSD-conscious-Storage/index.html new file mode 100644 index 00000000..bd48c4eb --- /dev/null +++ b/2023/07/21/WiscKey-Separating-Keys-from-Values-in-SSD-conscious-Storage/index.html @@ -0,0 +1,267 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="UTF-8"> +<meta name="viewport" + content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> +<meta http-equiv="X-UA-Compatible" content="ie=edge"> + + <meta name="author" content="韩暮秋"> + + + <meta name="subtitle" content="暮秋小屋"> + + + <meta name="description" content="这里是暮秋小屋,思念和灵感的寄存处"> + + + <meta name="keywords" content="韩暮秋,MuqiuHan"> + + + + +<title>WiscKey: Separating Keys from Values in SSD-conscious Storage | 暮秋小屋</title> + + + + + +<style> + @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&family=Roboto+Mono&display=swap'); +</style> + + + + <!-- stylesheets list from _config.yml --> + + <link rel="stylesheet" href="/css/style.css"> + + + + + + <!-- scripts list from _config.yml --> + + <script src="/js/frame.js"></script> + + + + + + <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> + <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> + + + + + + + + <!-- hexo injector head_end start --> +<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css"> + +<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/style.css"> +<!-- hexo injector head_end end --><meta name="generator" content="Hexo 6.3.0"></head> + <body> + <div class="mask-border"> + </div> + + <div class="wrapper"> + + <div class="header"> + <div class="flex-container"> + <div class="header-inner"> + <div class="site-brand-container"> + <a href="/"> + + 暮秋小屋 + + </a> + </div> + <div id="menu-btn" class="menu-btn" onclick="toggleMenu()"> + Menu + </div> + <nav class="site-nav"> + <ul class="menu-list"> + + + <li class="menu-item"> + <a href="/">主页</a> + </li> + + + + <li class="menu-item"> + <a href="/categories/gallery/">日记本</a> + </li> + + + + <li class="menu-item"> + <a href="/tags/Technique/">计算机科学</a> + </li> + + + + <li class="menu-item"> + <a href="/tags/Medicine/">医学</a> + </li> + + + + <li class="menu-item"> + <a href="/tags/Life/">生活</a> + </li> + + + + <li class="menu-item"> + <a href="/about">关于</a> + </li> + + + + </ul> + </nav> + </div> + </div> +</div> + + + <div class="main"> + <div class="flex-container"> + <article id="post"> + + + <div class="post-head"> + <div class="post-info"> + <div class="tag-list"> + + + <span class="post-tag"> + <a href="/tags/Technique/"> + Technique + </a> + </span> + + <span class="post-tag"> + <a href="/tags/Database/"> + Database + </a> + </span> + + + </div> + <div class="post-title"> + + + WiscKey: Separating Keys from Values in SSD-conscious Storage + + + </div> + <span class="post-date"> + Jul 21, 2023 + </span> + </div> + <div class="post-img"> + + <div class="h-line-primary"></div> + + </div> +</div> + <div class="post-content"> + <p>We present WiscKey, a persistent LSM-tree-based key-value store with a performance-oriented data layoutthat separates keys from values to minimize I/O amplifi-cation. The design of WiscKey is highly SSD optimized, leveraging both the sequential and random performance characteristics of the device.</p> +<ul> +<li><a href="/papers/WiscKey:%20Separating%20Keys%20from%20Values%20in%20SSD-conscious%20Storage.pdf">原始论文</a></li> +</ul> +<p>WiscKey是一种基于LSM-Tree的kv存储,它的实现很简单: 将键和值分开存储, 这么做可以显著的减少I/O放大。</p> +<p>WiscKey的设计是针对SSD优化的,充分利用了SSD的性能并提出了一种轻量的GC方案, 除此之外还分析了现代存储硬件的特性和LSM树的读写放大的问题。</p> +<p>总的来说,WiscKey是基于SSD硬件特性而重新设计的存储结构。虽然LevelDB也是一种键值存储引擎,但它并没有像WiscKey那样专门为SSD硬件而设计。因此,如果将LevelDB的存储结构按照SSD硬件的特性进行优化,可能会提高一些性能,但是不一定能够达到WiscKey的性能水平。</p> +<h2 id="笔记"><a href="#笔记" class="headerlink" title="笔记"></a>笔记</h2><ul> +<li><p>The main data structures in LevelDB are an on-disk log file, two in-memory sorted skiplists (memtableand immutable memtable), and seven levels (L0 to L6) of on-disk Sorted String Table (SSTable) files</p> +<blockquote> +<p>LSM-trees的内部的各种组件可以使用任意索引结构来实现。通常内存组件会使用skiplist或B+树等并发数据结构,而磁盘组件会使用B+树或SSTables(SSTable包含一个数据块列表和一个索引块:数据块存储按键排序的键值对,索引块存储所有数据块的键范围)</p> +</blockquote> +</li> +<li><p>how LSM-trees maintainsequential I/O access by increasing I/O amplification.</p> +<blockquote> +<p>具体来说,LSM-trees的写放大是指每次写入操作都需要将数据追加到写前日志中,并加入到内存组件C0中。当C0的大小达到一定阈值时,C0会与磁盘上的C1进行归并排序操作,生成新的组件new-C1,并将其顺序写入磁盘,取代旧版本的C1。类似地,当C1的大小达到一定阈值时,C1会与下一层组件Ci+1合并。这种归并排序的过程可以保证数据在磁盘上的存储是有序的,从而保持顺序I/O访问</p> +</blockquote> +</li> +<li><p>First, WiscKey separates keys from values, keeping only keys in theLSM-tree and the values in a separate log file. Second,to deal with unsorted values (which necessitate random access during range queries), WiscKey uses the parallel random-read characteristic of SSD devices. Third, WiscKey utilizes unique crash-consistency and garbage-collection techniques to efficiently manage the value log.Finally, WiscKey optimizes performance by removingthe LSM-tree log without sacrificing consistency, thusreducing system-call overhead from small writes.</p> +<blockquote> +<p>这是WiscKey的主要优化方式</p> +</blockquote> +</li> +<li><p>For range queries, LevelDB provides the user with an iterator-based interface with Seek(key), Next(), Prev(),Key() and Value() operations. To scan a range of key-value pairs, users can first Seek() to the starting key, then call Next() or Prev() to search keys one by one. To retrieve the key or the value of the current iterator position, users call Key() or Value(), respectively.</p> +<blockquote> +<p>如果要查询某个key范围的数据,LevelDB会先找到该范围的起始key在哪个SSTable中,然后按照顺序读取该SSTable中的数据,直到读取到范围之外的key为止。</p> +<p>而读取SSTable中的数据是通过Binary Search来实现的。为了加速Search,LevelDB为每个SSTable建立了一个稀疏索引,用来记录每个数据块的最大key和最小key。</p> +</blockquote> +</li> +</ul> + +</div> + +<script> + window.onload = detectors(); +</script> + <div class="post-footer"> + <div class="h-line-primary"></div> + <nav class="post-nav"> + <div class="prev-item"> + + <div class="icon arrow-left"></div> + <div class="post-link"> + <a href="/2023/07/26/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%B8%83%E6%9C%88%E4%BA%8C%E5%8D%81%E5%85%AD%E6%97%A5/">Prev</a> + </div> + + </div> + <div class="next-item"> + + <div class="icon arrow-right"></div> + <div class="post-link"> + <a href="/2023/06/29/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AD%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B9%9D%E6%97%A5/">Next</a> + </div> + + </div> + </nav> +</div> + + + <div class="post-comment"> + + + + + + + +</div> + + +</article> + </div> + </div> + + <div class="footer"> + <div class="flex-container"> + <div class="footer-text"> + + + | + + + 希望路过的人可以添点柴火让这里暖和点 + + </div> + </div> +</div> + + </div> + + + + + </body> +</html> diff --git a/2023/07/26/二〇二三年七月二十六日/index.html b/2023/07/26/二〇二三年七月二十六日/index.html index c81bafc3..f5d6f34e 100644 --- a/2023/07/26/二〇二三年七月二十六日/index.html +++ b/2023/07/26/二〇二三年七月二十六日/index.html @@ -179,7 +179,7 @@ <div class="icon arrow-right"></div> <div class="post-link"> - <a href="/2023/06/29/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AD%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B9%9D%E6%97%A5/">Next</a> + <a href="/2023/07/21/WiscKey-Separating-Keys-from-Values-in-SSD-conscious-Storage/">Next</a> </div> </div> diff --git a/archives/2023/07/index.html b/archives/2023/07/index.html index 18d67ed0..010fc3ea 100644 --- a/archives/2023/07/index.html +++ b/archives/2023/07/index.html @@ -171,6 +171,24 @@ </div> + + + + + + <div class="post-list-item"> + <div class="post-title"> + <a href="/2023/07/21/WiscKey-Separating-Keys-from-Values-in-SSD-conscious-Storage/"> + + WiscKey: Separating Keys from Values in SSD-conscious Storage + + </a> + </div> + + <span class="post-date">Jul 21, 2023</span> + </div> + + <div id="paginator"> </div> diff --git a/archives/2023/page/2/index.html b/archives/2023/page/2/index.html index 715f6609..d46b0858 100644 --- a/archives/2023/page/2/index.html +++ b/archives/2023/page/2/index.html @@ -142,6 +142,24 @@ <div class="post-list-item"> <div class="post-title"> + <a href="/2023/07/21/WiscKey-Separating-Keys-from-Values-in-SSD-conscious-Storage/"> + + WiscKey: Separating Keys from Values in SSD-conscious Storage + + </a> + </div> + + <span class="post-date">Jul 21, 2023</span> + </div> + + + + + + + + <div class="post-list-item"> + <div class="post-title"> <a href="/2023/06/29/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AD%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B9%9D%E6%97%A5/"> 二〇二三年六月二十九日 @@ -297,24 +315,6 @@ </div> - - - - - - <div class="post-list-item"> - <div class="post-title"> - <a href="/2023/03/14/%E5%91%8B%E5%A1%9E%E7%B1%B3/"> - - 呋塞米 - - </a> - </div> - - <span class="post-date">Mar 14, 2023</span> - </div> - - <div id="paginator"> <div class=paginator> diff --git a/archives/2023/page/3/index.html b/archives/2023/page/3/index.html index 3df664c4..d691896a 100644 --- a/archives/2023/page/3/index.html +++ b/archives/2023/page/3/index.html @@ -142,6 +142,24 @@ <div class="post-list-item"> <div class="post-title"> + <a href="/2023/03/14/%E5%91%8B%E5%A1%9E%E7%B1%B3/"> + + 呋塞米 + + </a> + </div> + + <span class="post-date">Mar 14, 2023</span> + </div> + + + + + + + + <div class="post-list-item"> + <div class="post-title"> <a href="/2023/03/13/%E6%9B%BF%E7%B1%B3%E6%B2%99%E5%9D%A6/"> 替米沙坦 @@ -297,24 +315,6 @@ </div> - - - - - - <div class="post-list-item"> - <div class="post-title"> - <a href="/2023/02/02/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E6%97%A5/"> - - 二零二三年二月二日 - - </a> - </div> - - <span class="post-date">Feb 2, 2023</span> - </div> - - <div id="paginator"> <div class=paginator> diff --git a/archives/2023/page/4/index.html b/archives/2023/page/4/index.html index dc045e89..38b06051 100644 --- a/archives/2023/page/4/index.html +++ b/archives/2023/page/4/index.html @@ -142,6 +142,24 @@ <div class="post-list-item"> <div class="post-title"> + <a href="/2023/02/02/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E6%97%A5/"> + + 二零二三年二月二日 + + </a> + </div> + + <span class="post-date">Feb 2, 2023</span> + </div> + + + + + + + + <div class="post-list-item"> + <div class="post-title"> <a href="/2023/02/01/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%B8%80%E6%97%A5/"> 二零二三年二月一日 diff --git a/archives/page/2/index.html b/archives/page/2/index.html index 26fe6345..1fe17479 100644 --- a/archives/page/2/index.html +++ b/archives/page/2/index.html @@ -142,6 +142,24 @@ <div class="post-list-item"> <div class="post-title"> + <a href="/2023/07/21/WiscKey-Separating-Keys-from-Values-in-SSD-conscious-Storage/"> + + WiscKey: Separating Keys from Values in SSD-conscious Storage + + </a> + </div> + + <span class="post-date">Jul 21, 2023</span> + </div> + + + + + + + + <div class="post-list-item"> + <div class="post-title"> <a href="/2023/06/29/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AD%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B9%9D%E6%97%A5/"> 二〇二三年六月二十九日 @@ -297,24 +315,6 @@ </div> - - - - - - <div class="post-list-item"> - <div class="post-title"> - <a href="/2023/03/14/%E5%91%8B%E5%A1%9E%E7%B1%B3/"> - - 呋塞米 - - </a> - </div> - - <span class="post-date">Mar 14, 2023</span> - </div> - - <div id="paginator"> <div class=paginator> diff --git a/archives/page/3/index.html b/archives/page/3/index.html index ec0dc6da..e0b2d553 100644 --- a/archives/page/3/index.html +++ b/archives/page/3/index.html @@ -142,6 +142,24 @@ <div class="post-list-item"> <div class="post-title"> + <a href="/2023/03/14/%E5%91%8B%E5%A1%9E%E7%B1%B3/"> + + 呋塞米 + + </a> + </div> + + <span class="post-date">Mar 14, 2023</span> + </div> + + + + + + + + <div class="post-list-item"> + <div class="post-title"> <a href="/2023/03/13/%E6%9B%BF%E7%B1%B3%E6%B2%99%E5%9D%A6/"> 替米沙坦 @@ -297,24 +315,6 @@ </div> - - - - - - <div class="post-list-item"> - <div class="post-title"> - <a href="/2023/02/02/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E6%97%A5/"> - - 二零二三年二月二日 - - </a> - </div> - - <span class="post-date">Feb 2, 2023</span> - </div> - - <div id="paginator"> <div class=paginator> diff --git a/archives/page/4/index.html b/archives/page/4/index.html index 8a8eddca..a5edfae2 100644 --- a/archives/page/4/index.html +++ b/archives/page/4/index.html @@ -142,6 +142,24 @@ <div class="post-list-item"> <div class="post-title"> + <a href="/2023/02/02/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E6%97%A5/"> + + 二零二三年二月二日 + + </a> + </div> + + <span class="post-date">Feb 2, 2023</span> + </div> + + + + + + + + <div class="post-list-item"> + <div class="post-title"> <a href="/2023/02/01/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%B8%80%E6%97%A5/"> 二零二三年二月一日 @@ -299,26 +317,6 @@ </div> - - - - - <div class="year-title">2021</div> - - - <div class="post-list-item"> - <div class="post-title"> - <a href="/2021/03/27/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%B8%89%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B8%83%E6%97%A5/"> - - 二零二一年三月二十七日 - - </a> - </div> - - <span class="post-date">Mar 27, 2021</span> - </div> - - <div id="paginator"> <div class=paginator> diff --git a/archives/page/5/index.html b/archives/page/5/index.html index 231667a3..62a0d1f8 100644 --- a/archives/page/5/index.html +++ b/archives/page/5/index.html @@ -142,6 +142,24 @@ <div class="post-list-item"> <div class="post-title"> + <a href="/2021/03/27/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%B8%89%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B8%83%E6%97%A5/"> + + 二零二一年三月二十七日 + + </a> + </div> + + <span class="post-date">Mar 27, 2021</span> + </div> + + + + + + + + <div class="post-list-item"> + <div class="post-title"> <a href="/2021/03/15/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%B8%89%E6%9C%88%E5%8D%81%E4%BA%94%E6%97%A5/"> 二零二一年三月十五日 diff --git a/papers/WiscKey: Separating Keys from Values in SSD-conscious Storage.pdf b/papers/WiscKey: Separating Keys from Values in SSD-conscious Storage.pdf Binary files differnew file mode 100644 index 00000000..172c7eb4 --- /dev/null +++ b/papers/WiscKey: Separating Keys from Values in SSD-conscious Storage.pdf diff --git a/tag/index.html b/tag/index.html index b16402cf..fee082f0 100644 --- a/tag/index.html +++ b/tag/index.html @@ -156,6 +156,12 @@ </span> <span class="post-tag"> + <a href="/tags/Database/"> + Database + </a> + </span> + + <span class="post-tag"> <a href="/tags/Medicine/"> Medicine </a> diff --git a/tags/Database/index.html b/tags/Database/index.html new file mode 100644 index 00000000..759aeb73 --- /dev/null +++ b/tags/Database/index.html @@ -0,0 +1,195 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="UTF-8"> +<meta name="viewport" + content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> +<meta http-equiv="X-UA-Compatible" content="ie=edge"> + + <meta name="author" content="韩暮秋"> + + + <meta name="subtitle" content="暮秋小屋"> + + + <meta name="description" content="这里是暮秋小屋,思念和灵感的寄存处"> + + + <meta name="keywords" content="韩暮秋,MuqiuHan"> + + + + +<title>Tag: Database | 暮秋小屋</title> + + + + + +<style> + @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&family=Roboto+Mono&display=swap'); +</style> + + + + <!-- stylesheets list from _config.yml --> + + <link rel="stylesheet" href="/css/style.css"> + + + + + + <!-- scripts list from _config.yml --> + + <script src="/js/frame.js"></script> + + + + + + <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> + <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> + + + + + + + + <!-- hexo injector head_end start --> +<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css"> + +<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/style.css"> +<!-- hexo injector head_end end --><meta name="generator" content="Hexo 6.3.0"></head> + <body> + <div class="mask-border"> + </div> + + <div class="wrapper"> + + <div class="header"> + <div class="flex-container"> + <div class="header-inner"> + <div class="site-brand-container"> + <a href="/"> + + 暮秋小屋 + + </a> + </div> + <div id="menu-btn" class="menu-btn" onclick="toggleMenu()"> + Menu + </div> + <nav class="site-nav"> + <ul class="menu-list"> + + + <li class="menu-item"> + <a href="/">主页</a> + </li> + + + + <li class="menu-item"> + <a href="/categories/gallery/">日记本</a> + </li> + + + + <li class="menu-item"> + <a href="/tags/Technique/">计算机科学</a> + </li> + + + + <li class="menu-item"> + <a href="/tags/Medicine/">医学</a> + </li> + + + + <li class="menu-item"> + <a href="/tags/Life/">生活</a> + </li> + + + + <li class="menu-item"> + <a href="/about">关于</a> + </li> + + + + </ul> + </nav> + </div> + </div> +</div> + + + <div class="main"> + <div class="flex-container"> + <div id="tag"> + + + <p class="tag-title"> + / <a href="/tag/">tags</a> + / <a href="">Database</a> / + </p> + <div class="post-list"> + + + + + + + <div class="year-title">2023</div> + + + <div class="post-list-item"> + <div class="post-title"> + <a href="/2023/07/21/WiscKey-Separating-Keys-from-Values-in-SSD-conscious-Storage/"> + + WiscKey: Separating Keys from Values in SSD-conscious Storage + + </a> + </div> + + <span class="post-date">Jul 21, 2023</span> + </div> + + + <div id="paginator"> + + </div> +</div> + + + + +</div> + </div> + </div> + + <div class="footer"> + <div class="flex-container"> + <div class="footer-text"> + + + | + + + 希望路过的人可以添点柴火让这里暖和点 + + </div> + </div> +</div> + + </div> + + + + + </body> +</html> diff --git a/tags/Technique/index.html b/tags/Technique/index.html index 9bf97a98..3cfb0366 100644 --- a/tags/Technique/index.html +++ b/tags/Technique/index.html @@ -221,6 +221,24 @@ <div class="post-list-item"> <div class="post-title"> + <a href="/2023/07/21/WiscKey-Separating-Keys-from-Values-in-SSD-conscious-Storage/"> + + WiscKey: Separating Keys from Values in SSD-conscious Storage + + </a> + </div> + + <span class="post-date">Jul 21, 2023</span> + </div> + + + + + + + + <div class="post-list-item"> + <div class="post-title"> <a href="/2023/06/28/%E9%9A%90%E8%97%8F%E4%B8%80%E4%BA%9BOCaml-Effect%E7%9A%84%E6%9C%BA%E5%88%B6%EF%BC%8C%E8%AE%A9%E5%85%B6%E8%AF%AD%E6%B3%95%E5%9C%A8%E7%B2%BE%E7%A5%9E%E4%B8%8A%E6%9B%B4%E6%8E%A5%E8%BF%91delimcc/"> 隐藏一些OCaml Effect的机制,让其语法在精神上更接近delimcc |
