#数据库
使用Rust重写sqlite的公司turso,被superbase收购了:《Turso is joining Supabase to give every agent its own database》
我个人认为,sqlite足够好,但是现在agent时代好像还不够好。比如我在写semquery的时候,一直想找一款,同时能满足sql查询、向量查询、图数据库功能的嵌入式数据库,sqlite有点难,也许这个turso可以研究一下了。
使用Rust重写sqlite的公司turso,被superbase收购了:《Turso is joining Supabase to give every agent its own database》
我个人认为,sqlite足够好,但是现在agent时代好像还不够好。比如我在写semquery的时候,一直想找一款,同时能满足sql查询、向量查询、图数据库功能的嵌入式数据库,sqlite有点难,也许这个turso可以研究一下了。
GitHub
GitHub - tursodatabase/turso: A SQL database in Rust: SQLite-compatible, now also speaking Postgres (experimental). The LLVM of…
A SQL database in Rust: SQLite-compatible, now also speaking Postgres (experimental). The LLVM of databases. - tursodatabase/turso
❤4😁3👏2🔥1🤔1
#历史
蔡康永事件发生后,才了解到他的父亲是太平轮的船主之一。太平轮,号称“东方泰坦尼克号”,在1949年1月27日从上海出发开往基隆港的过程中,由于严重超载,撞上货轮后沉没,详见维基百科页面太平轮沉没事件。
在这次事件后,五位太平轮的股东中,只有周庆云一家留在了大陆,最后耗费30年时间还清了赔付死者和自身的债务。
很遗憾,如今的互联网上,已经搜不到这个周庆云的身份、背景了,能找到的一篇报道是《太平轮后事:沉船之后的人和事》。在动乱的年代,有这样的担当实属不易。
蔡康永事件发生后,才了解到他的父亲是太平轮的船主之一。太平轮,号称“东方泰坦尼克号”,在1949年1月27日从上海出发开往基隆港的过程中,由于严重超载,撞上货轮后沉没,详见维基百科页面太平轮沉没事件。
在这次事件后,五位太平轮的股东中,只有周庆云一家留在了大陆,最后耗费30年时间还清了赔付死者和自身的债务。
很遗憾,如今的互联网上,已经搜不到这个周庆云的身份、背景了,能找到的一篇报道是《太平轮后事:沉船之后的人和事》。在动乱的年代,有这样的担当实属不易。
Wikipedia
太平輪沉沒事件
民國時期重大海難
🔥15🙏7
#人工智能
#开源项目
我基于前几年写的一篇阅读代码方法论的文章《如何阅读一份源代码?》,整理成了一个how-to-read-code skill,在这里有一个阅读redis处理客户端请求流程生成报告的例子。
#开源项目
我基于前几年写的一篇阅读代码方法论的文章《如何阅读一份源代码?》,整理成了一个how-to-read-code skill,在这里有一个阅读redis处理客户端请求流程生成报告的例子。
👍16🎉3❤2🔥1
#数据库
#存储引擎
#开源项目
btreelite
早几年还在做数据库的时候,一直想知道理论的btree算法,最终如何落地为一个生产上的实现,例如要如何解决以下的问题(这些问题都在“sqlite3.36版本 btree实现(零)- 起步及概述”):
围绕这些问题,一直想找一个小而精的btree实现,后来完整阅读了sqlite3.36版本的btree实现,整理成了系列博客:sqlite3.36版本 btree实现。
在这以后,一度想把sqlite的这部分内容单独抽出来成为一个独立的btree实现的KV库,但是碍于精力和复杂度一直没有成行。
中秋国庆假期,突发奇想:既然现在有了AI工具,可以借助它们的辅助来实现这个项目,就是现在看到的btreelite项目。这里面最大的改动是:sqlite的btree其实有两个,字符串key首先映射到一个整数类型的rowid,然后再以row id映射到真正的数据,而btreelite只有一个btree,就是直接使用字符串key映射到真实的数据。
目前项目的代码量有五万多行,我后面再看看是否还能够继续裁剪掉不必要的功能精简代码量。
我不知道这样的项目今天是否还有意义,不管怎么说还是做了出来。
#存储引擎
#开源项目
btreelite
早几年还在做数据库的时候,一直想知道理论的btree算法,最终如何落地为一个生产上的实现,例如要如何解决以下的问题(这些问题都在“sqlite3.36版本 btree实现(零)- 起步及概述”):
如何处理不同大小的数据的存储?
删除一个数据之后,如何复用其留下的空间?
错误、崩溃恢复怎么做?
跟磁盘文件是如何交互的?
页面缓存模块如何实现?
围绕这些问题,一直想找一个小而精的btree实现,后来完整阅读了sqlite3.36版本的btree实现,整理成了系列博客:sqlite3.36版本 btree实现。
在这以后,一度想把sqlite的这部分内容单独抽出来成为一个独立的btree实现的KV库,但是碍于精力和复杂度一直没有成行。
中秋国庆假期,突发奇想:既然现在有了AI工具,可以借助它们的辅助来实现这个项目,就是现在看到的btreelite项目。这里面最大的改动是:sqlite的btree其实有两个,字符串key首先映射到一个整数类型的rowid,然后再以row id映射到真正的数据,而btreelite只有一个btree,就是直接使用字符串key映射到真实的数据。
目前项目的代码量有五万多行,我后面再看看是否还能够继续裁剪掉不必要的功能精简代码量。
我不知道这样的项目今天是否还有意义,不管怎么说还是做了出来。
👍11❤8
#分布式
最近有一则不大不小的新闻:沿用了半个世纪的闰秒被取消了,见《再见了,闰秒》。
《图解分布式系统原理》的第三章《分布式系统中的时间和顺序》中,详细解释了:
* 计算机的物理时间是怎么来的
* 什么是闰秒问题
* 物理时间漂移问题,以及给线上系统造成的故障等等。
只有理解了这些,才能理解为什么分布式系统不能用物理时间来衡量两个事件的先后顺序。
最近有一则不大不小的新闻:沿用了半个世纪的闰秒被取消了,见《再见了,闰秒》。
《图解分布式系统原理》的第三章《分布式系统中的时间和顺序》中,详细解释了:
* 计算机的物理时间是怎么来的
* 什么是闰秒问题
* 物理时间漂移问题,以及给线上系统造成的故障等等。
只有理解了这些,才能理解为什么分布式系统不能用物理时间来衡量两个事件的先后顺序。
www.news.cn
再见了,闰秒!
沿用半个多世纪、用来弥合原子钟计时与地球自转计时差异的“时间补丁”——闰秒,被取消了。根据国际计量大会15日表决通过的决议,自2027年5月20日起,不再人为增减闰秒,启用连续协调世界时。
🔥5
#人工智能
我一直没用O家和A家的大模型,因为知道他们封号,以及折腾起来很麻烦。
我也认为A家封号在已经说明禁止中国人使用的情况下是合乎规则的,但是没想到还可以封号但是不退钱的,以及竟然可以占收入这么大的比例。
我一直没用O家和A家的大模型,因为知道他们封号,以及折腾起来很麻烦。
我也认为A家封号在已经说明禁止中国人使用的情况下是合乎规则的,但是没想到还可以封号但是不退钱的,以及竟然可以占收入这么大的比例。
🤔6🤡3🌚1