V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
soap0X
V2EX  ›  分享创造

今年闲暇时间搞的东西搞个总结吧

  •  
  •   soap0X · 4 小时 37 分钟前 · 137 次点击

    出去溜达想去附近跨年的,去了发现人们都是再逛商场就回来了

    写下今年写代码的一点点收获吧

    年初的时候仿 lucene 早期版本写了个倒排索引,里面有点数据存储的部分结合后面零零三三看了点资料说下简单的收获(大部分是网上已知的。

    1.数据存储写到文件形式

    • 1.length:key-length:value
    • 2.lengthkey+lengthvalue:key:value

    2.大文件提升文件读写效率

    • 1.采用的一个方式是存文件的时候采用定长的方式,也就是分块限制大小

    3.文件读取要尽量以文件页的大小来

    4.数据压缩有一些成型的

    • 1.例如字符串根据前缀的,这种排序后好处理点
    • 2.之前实现过 Golomb 编解码的但是有些 bug
    • 3.连续数字的话即使差值
    • 4.length 的话一般是高位是个标志位可以把 int/long 变长压缩解析( Golomb 好像也用到这个东西,时间久有点忘了)
    • 5.这里对那种 olap 库的列存储压缩很友好的
    • 6.这里还有个问题就是库里面索引为什么快,索引大部分时单列

    5.主键的顺序写很关键

    • 1.因为查找可以顺序读取

    今年还让 AI 给写了些 demo

    • 1.2pl 、mvcc 、raft 的 demo
    • 2.没搞懂还有个地方就是 mvcc B+tree 刷盘的地方

    明年打算搞的

    • 1.如果是简单的分片复制存储好处理,但是想实现分布式就是不是简单的复制那种还没搞定
    • 2.但是可能搞不定
    目前尚无回复
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   795 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 20:24 · PVG 04:24 · LAX 12:24 · JFK 15:24
    ♥ Do have faith in what you're doing.