看得透又看得远者prevail. ppt.cc/flUmLx ppt.cc/fqtgqx ppt.cc/fZsXUx ppt.cc/fhWnZx ppt.cc/fnrkVx ppt.cc/f2CBVx
ppt.cc/fKlBax ppt.cc/fwlgFx ppt.cc/fVjECx ppt.cc/fEnHsx ppt.cc/fRZTnx ppt.cc/fSZ3cx ppt.cc/fLOuCx ppt.cc/fE9Nux ppt.cc/fL5Kyx ppt.cc/f71Yqx tecmint.com linuxcool.com linux.die.net linux.it.net.cn ostechnix.com unix.com ubuntugeek.com runoob.com man.linuxde.net ppt.cc/fwpCex ppt.cc/fxcLIx ppt.cc/foX6Ux linuxprobe.com linuxtechi.com howtoforge.com linuxstory.org systutorials.com ghacks.net linuxopsys.com ppt.cc/ffAGfx ppt.cc/fJbezx ppt.cc/fNIQDx ppt.cc/fCSllx ppt.cc/fybDVx ppt.cc/fIMQxx
Total Pageviews
Thursday, 16 April 2026
秦观《南乡子·妙手写徽真》
妙手写徽真,水剪双眸点绛唇。疑是昔年窥宋玉,东邻,只露墙头一半身。
往事已酸辛,谁记当年翠黛颦?尽道有些堪恨处,无情,任是无情也动人。
赏析:
这是一首题崔徽画像的题画诗。崔徽何许人也。据元稹《崔徽歌并序》:“崔徽,河中府娼也。裴敬中以兴元幕使蒲州,与徽相从累月。敬中使还,崔不得从为恨,因而成疾。有丘夏善写人形,徽托写真寄敬中曰:‘崔徽一旦不及画中人,且为郎死。’发狂卒。”
词一开始“妙手”二句,就是说因为高明画师手画的崔徽像,所以她的眼睛才水晶晶的,嘴唇是绛红色的,恰到好处,有似真人。“水剪双眸点绛唇”,颇似合取李贺《唐儿歌》:“一双瞳人剪秋水,”江淹《咏美人春游》:“明珠点绛唇”句意点化而来。崔徽诚然很漂亮,秦观在《崔徽》诗里写道:“轻似南山翡翠儿,”“裴郎一见心如醉,”而最能显示其神韵风采的还是眼睛和嘴唇。“疑是”三句,是借宋玉《登徒子好色赋》中“天下之佳人,莫若楚国;楚国之丽者,莫若臣里;臣里之美者,莫若东家之子。增之一分则太长,减之一分则太短;著粉则太白,施朱则太赤。眉如翠羽,肌如白雪,嫣然一笑,惑阳城,迷下蔡。然此女登墙窥臣三年,至今未许也。”用这段文字来说崔徽的容色就像宋玉描述的东邻女一样美妙。这是由画像是半身而想及邻女偷窥宋玉,墙头半掩玉体的形象,来补充对崔徽刻画之不足。词的过片“往事”两句,写崔徽画像上的神态是眉黛含颦,因崔徽请丘夏写真时,她正怀着悲伤的心事。说今天看到崔徽的画像,这样美丽动人,谁还再想到她过去酸辛的往事呢?
词的歇拍“尽道”三句,写词人鉴赏画像后的观感。说凡是见到崔徽像的人,都齐声赞美不错,如果说还有一点遗憾,那就是没有画出她的“有情”处。但词人认为这算不了什么缺点,因为崔徽当年是流着泪让人画像的,怎么会有情呢?接着作者化罗隐《牡丹诗》“若教解语能倾国,任是无情也动人”句意,说她像上即是无情吧,但这无情的形象也是动人心弦的。
Tuesday, 14 April 2026
Lili Marleen
-二战时期的德语歌。
Steht 'ne Laterne und steht sie noch davor
Dort wollen wir uns wiederseh'n
Bei der Laterne woll'n wir steh'n
Wie einst, Lili Marleen
Wie einst, Lili Marleen
Dass wir lieb uns hatten, das sah man gleich daraus
Und alle Leute soll'n es seh'n
Wenn wir bei der Laterne steh'n
Wie einst, Lili Marleen
Wie einst, Lili Marleen
Alle Abend brennt sie, doch mich vergaß sie lang
Und sollte mir ein Leid gescheh'n
Wer wird bei der Laterne stehen
Mit dir, Lili Marleen?
Mit dir, Lili Marleen?
Hebt sich wie im Traume dein verliebter Mund
Wenn sich die späten Nebel dreh'n
Wer wird bei der Laterne steh'n
Mit dir, Lili Marleen?
Mit dir, Lili Marleen?
Wer wird bei der Laterne steh'n
Mit dir, Lili Marleen?
Mit dir, Lili Marleen?
兵营之外,大门之外
立着一盏灯——它是否依然伫立在那里?
那便是我们重逢之地;
在那灯下,我们将并肩而立——
一如往昔,莉莉·玛莲。
一如往昔,莉莉·玛莲。
我们的两道身影仿佛合二为一;
我们彼此相爱,那是众目昭彰的事实。
任凭世人尽情注视——
当我们并肩立于那灯下之时——
一如往昔,莉莉·玛莲。
一如往昔,莉莉·玛莲。
它认得你的脚步,认得你那优雅的步态;
它每夜都明亮地燃烧,尽管早已将我遗忘。
倘若我不幸遭遇不测,
那时,又有谁会立于那灯下
与你相伴,莉莉·玛莲?
与你相伴,莉莉·玛莲?
自那沉寂的深处,自那大地之下,
你那充满爱意的双唇浮现而出,宛若梦境。
当夜幕的薄雾开始缭绕,
那时,又有谁会立于那灯下
与你相伴,莉莉·玛莲?
与你相伴,莉莉·玛莲?
当夜幕的薄雾开始缭绕,
那时,又有谁会立于那灯下
与你相伴,莉莉·玛莲?
与你相伴,莉莉·玛莲?
Monday, 13 April 2026
Sunday, 12 April 2026
Appsmith.com ,专为内部工具构建,提供拖拽式低代码部署平台
https://www.appsmith.com/pricing,free plan
核心功能包括连接多种数据源和自定义 UI。场景如 dashboard 或 CRM 工具,减少编码时间。入门无门槛,社区支持丰富。定价按用户数,免费版功能齐全,适合团队协作。
提供build服务的云平台render.com
render.com ,我用我的google a/c: briteming@gmail.com登录了此平台。
https://icj.onrender.com/ ,导入的项目是https://github.com/briteming/icj
https://icj-2.onrender.com/ ,导入的项目是https://github.com/briteming/icj
https://mhs-w055.onrender.com/ ,导入的项目是https://github.com/briteming/mhs
(https://github.com/shelan/my-hugo-site/issues/1)
https://tbnl.onrender.com/post/ ,导入的项目是https://github.com/briteming/tbnl ,
(https://github.com/briteming/tbnl/tree/master/content/post)
https://tbnl-2.onrender.com/post/ ,导入的项目是https://github.com/briteming/tbnl
以上导入的都是hugo项目。
云平台render.com支持导入基于go的项目,比如hugo. 而vercel.com对于hugo支持得并不是很好。
https://wtc-3uqq.onrender.com/ ,支持分页。导入的项目是https://github.com/briteming/wtc/ ,这是一个jekyll项目。
(演示的源帖:https://github.com/briteming/wtc/blob/main/_posts/2026-04-12-fh.md?plain=1 . 在此处: https://github.com/briteming/wtc/new/main/_posts 新建源帖。)
https://scbj-ei5c.onrender.com/ ,导入的项目是https://github.com/briteming/scbj ,这是一个jekyll项目。需修改https://github.com/briteming/scbj/blob/master/_config.yml文件,删除第6行,修改第5行的baseurl的值为 "/"
https://scbj-ei5c.onrender.com/posts ,支持分页。
(演示的源帖:https://github.com/briteming/scbj/blob/master/_posts/2026-04-12-ce.md
在此处: https://github.com/briteming/scbj/new/master/_posts 新建源帖。)
采槟榔 - 周璇
《采槟榔》 周璇演唱 (1940年12月31日录音)
殷忆秋 词 金玉谷(黎锦光) 选曲
百代 模版编号: B606
(改编自湖南花鼓戏曲牌《双川调》)
歌词:
高高的树上结槟榔
谁先爬上,谁先尝
谁先爬上,我替谁先装
少年郎,采槟榔
姐姐提篮抬头望
低头又想,他又美,他又壮
谁人比他强
赶忙来叫声我的郎呀
青山好呀流水长
那太阳已残,那归鸟在唱
叫我俩赶快回家乡
Saturday, 11 April 2026
提供build服务的云平台:statichost.eu
https://www.statichost.eu/docs/
https://builder.statichost.eu/signup
my login id: luckypoem@gmail.com
https://www.statichost.eu/pricing/ ,Hobby plan is free. 1个账号下只能build 1 site,10 GB bandwidth,100 build minutes。
demo blog: https://mbgi.statichost.page/ ,基于jekyll. 我导入的项目是https://github.com/briteming/mbgi
(我另外注册了一个login id: ymbrite@gmail.com,
在此账号下,我部署了一个基于hugo的博客程序:https://icj.statichost.page/ . 我导入的项目是https://github.com/briteming/icj 。不过每新建一个源帖后,要在此平台上,手动部署一下,网站才会更新。新建一个源帖后,并不能触发平台自动部署。)
提供build服务的云平台:dappling.network
访问dappling.network/new (login id: 我用自己的github账号briteming登录)导入项目。(项目指仓库,比如https://github.com/briteming/mbgi/)
示例:
https://mbgi-i9nzg7.dappling.network/
https://jth-vcgsjn.dappling.network/ (导入的项目是https://github.com/briteming/jth/)
从 LLM 到 Agent Skill
https://www.youtube.com/watch?v=GE0pFiFJTKo
Friday, 10 April 2026
剑指 Meta:Mistral Large2开源,媲美 Llama3.1
Mistral AI 发布 Mistral Large 2,123B 大小,128k 上下文,与 Llama 3.1 不相上下。
支持包括法语、德语、西班牙语、意大利语、葡萄牙语、阿拉伯语、印地语、俄语、中文、日语和韩语在内的数十种语言- 支持 Function Calling 和 Retrieval
开源地址: https://huggingface.co/mistralai/Mistral-Large-Instruct-2407 可用于研究和非商业用途,商用需获取许可
在线使用:https://chat.mistral.ai/chat
开发者平台:https://console.mistral.ai/
云服务:可在 Google Cloud 、Azure AI Studio、Amazon Bedrock 和 IBM watsonx.ai 上调用
简单使用
可在这里使用:https://chat.mistral.ai/chat
版本特色
多语言设计:支持多种语言,包括英语、法语、德语、西班牙语、意大利语、中文、日语、韩语、葡萄牙语、荷兰语和波兰语。
精通代码:熟练掌握 80 多种编程语言,如 Python、Java、C、C++、JavaScript 和 Bash 等。还熟悉一些更具体的语言,如 Swift 和 Fortran。
Agent 支持:原生支持 Function Calling 和 JSON 输出。
好的推理:数学和推理能力远超前代,与 GPT-4o、Claude 3 Opus 和 Llama 3.1 405B 不相上下
128k 上下文:,加之在 la Plateforme 实施的输出限制模式,大大促进了应用开发和技术栈的现代化。
开源许可:允许用于研究和非商业用途的使用和修改。
苹果手机如何通过系统"文件APP"保存视频?
直接保存视频到苹果手机里, 免费, 不花钱。下面以我保存视频号视频为例来说一下流程:
1、 首先要获取到视频的真实地址。 至于怎么获取, 可能是从某地方复制过来的。然后在苹果手机的浏览器里,粘贴上面的链接, 确定后打开视频, 然后把视频全屏关掉。
2、 看上图标注的地方, 点击后分享, 然后选择 “存储到文件”, 就保存到苹果自带的 “文件”APP里了, 要记住保存的路径, 在微信里可以直接找到此文件。
3、 在苹果手机的微信里发给朋友,见下图
4、 根据刚才保存的路径, 选择文件后, 就可以发给朋友了。
美国的反华风潮正悄悄被另一股风潮取代,犹太集团的噩梦来了
-彻底揭露了犹太人集团操纵美国的黑幕。据说当年的肯尼迪总统有可能是被以色列特工干掉的,因为当年的肯尼迪总统并不赞成无条件地支持以色列。
https://drive.google.com/file/d/1urN-E1dJ5-l8PmyL9VA8zgO5RCn5YmlS/view
Thursday, 9 April 2026
一个php框架silex
This is an introduction to my choice of framework in building this website.
Several options I considered for my website:
- Django
- Django's opinionated Model model with its strong database ties seemed a bit much for a relatively static site
- It's huge and unnecessarily complicated for a simple website
- It would be a great learning experience in Python
- Vanilla PHP
- I have a lot of experience in vanilla PHP at my internship at Northern Michigan University working in the Information Services department where I develop web applications for internal use.
- I often find myself frustrated with PHP's quirkiness and wouldn't learn new material if I used this for my personal website.
- Silex
- This is a micro-framework built using components of the much larger Symfony framework.
- I discovered Silex in Heroku's PHP deployment guide where I noticed that it was small enough to not draw unneeded overhead and extensible enough for my website to grow as it needed.
I opted to go with Silex. The source code is available here for your perusal.
I have gone through many iterations of this site. The first version was simply a clone of the homepage that I have on my university's computer science department server. This wasn't a very useful homepage as many of the projects that I wanted to show in a portfolio were tied to a database on that server.
I eventually moved towards a one-page style layout (in this commit) where the links in the navbar would scroll the page to pre-defined regions. I then ditched the old multipage layout and at this point I discovered Grav. After difficulties integrating Grav within my app (read more here), I decided to roll my own blogging solution modeled after Grav's markdown content system.
I included a YAML Front Matter + Markdown Parser and used that to define the metadata for a blogpost.
There is still much to do (post sort order, paging, tagging, etc), but I appreciate the experience that I have gained in building this blogging system.
网站的源代码: https://github.com/benharri/benhh.com
from https://benhh.bhh.sh/blog/silex/
cms汇总
https://en.wikipedia.org/wiki/List_of_content_management_systems
其中无需数据库的cms有:
https://en.wikipedia.org/wiki/Blosxom
https://en.wikipedia.org/wiki/CMSimple
https://en.wikipedia.org/wiki/DokuWiki
https://en.wikipedia.org/wiki/Foswiki
https://en.wikipedia.org/wiki/GetSimple_CMS
https://en.wikipedia.org/wiki/Grav_(CMS)
https://en.wikipedia.org/wiki/Ikiwiki
https://en.wikipedia.org/wiki/MoinMoin (基于python)
https://en.wikipedia.org/wiki/PhpWiki
https://en.wikipedia.org/wiki/PmWiki
https://en.wikipedia.org/wiki/Sellerdeck
https://en.wikipedia.org/wiki/TiddlyWiki (基于nodejs)
https://en.wikipedia.org/wiki/TWiki
Wednesday, 8 April 2026
huggingface.co/spaces
AI App Directory。
https://huggingface.co/spaces
基于Makefile的静态网站生成器:site-by-benibela
Just my webpage
awesome-small-web-publishing
A curated list of awesome small web publishing tools and frameworks.
Awesome Small Web Publishing 
A curated list of awesome small web publishing tools and frameworks.
Website Generation
| · | description | ssg | MW | tags |
|---|---|---|---|---|
| archive.txt | - | php, markdown | ||
| bashblog | single Bash script to create blogs | x | shell | |
| BeniBela site | static webpage generation with Xidel | x | xidel, make | |
| Chyrp Lite | - | php, markdown | ||
| blosxom | single perl file blogging system | x | perl, html | |
| Decker | builds on the legacy of HyperCard and the visual aesthetic of classic MacOS | - | x | hypercard, gui |
| Ed | Jekyll theme for textual editors based on minimal computing principles | x | jekyll, markdown | |
| file.garden | websites sown from files, directories, and .DS_Store | x | js, DS_Store | |
| Fish SSG | ssg for Obsidian written in fish shell | x | shell, pandoc, obsidian | |
| gemkill | ultralight ultrasimple static site builder | x | gemtext, ruby | |
| HOTGLUE | visual tool for making web-pages | - | x | php, gui |
| ikiwiki | particularly flexible ssg with some dynamic features | x | linux, gui | |
| John Doe’s page | - | x | html | |
| kiki | tiny homepage construction kit with a small footprint | - | php, markdown | |
| Lichen | the simplest possible CMS | x | cgi, gemtext | |
| Lichen-markdown | simple and friendly CMS for making static websites | x | markdown | |
| lol | ssg in chicken scheme | x | chicken-scheme, markdown | |
| m4-blog | boilerplate for an m4 blog | x | m4, pandoc | |
| makesite | static siteblog generator for python | x | python, markdown | |
| MiniMagAsm | - | cgi, web-assembly | ||
| MkDocs | Project documentation with Markdown | x | shell, markdown | |
| mkws | simple ssg | x | shell, upphtml | |
| monotone | personal knowledge base system. markdown markup, runs in the browser | - | markdown, js | |
| mynah | little wiki bird | x | shell, pandoc, markdown | |
| nini | nini is the new ni | x | go , htm | |
| Oscean | wiki engine | x | uxntal, assembly | |
| Oddµ | static wiki generator | x | markdown, wiki | |
| panblog | simple, minimal bash and pandoc-based ssg | x | shell, pandoc, markdown | |
| Pancake | awful ssg with an awful logo and an awful acronym | x | pandoc, racket | |
| pancake.sh | pandoc to markdown based note-archive | x | shell, pandoc, markdown | |
| Phraxos | POSIX compliant ssg | x | html | |
| Portable thoughts | single HTML document from a collection of Markdow | x | php, markdown | |
| Publii | static site CMS application with an interface | x | gui, html | |
| Sergey | the little ssg | x | nodejs, markdown, html | |
| sitegen | tool for generating static html and gemtext pages | x | zig, markdown, gemini, html | |
| siteHX | barebones ssg in haxe | x | haxe, markdown, html | |
| shite | the little hot-reloadin' static site maker from shell | x | shell, org-mode | |
| soupault - | static site management tool | x | html, html, html | |
| snowman | ssg for SPARQL backends | x | SPARQL, gotemplate | |
| Untitled Static | Site Generator – a multi-site ssg | x | shell, pandoc | |
| vienna | Platonic Ideal of a simple and extensible ssg | x | shell, htm | |
| Void | website creation tool | - | php, markdown | |
| web-bud | small static website maker built with Node | x | nodejs, markdown | |
| Web Origami | complementing HTML and CSS with concisely defined structure and content | x | nodejs, markdown, csv | |
| werc | sane web anti-framework | - | cgi | |
| wg | ssg written in Fennel | x | fennel | |
| Zine | simple and opinionated tool to build your own magazine | x | shell, markdown, toml |
SSG (Static Site Generation), MW (Manual Work, as in writing html by hand)
Specialized Tools and Frameworks
| · | description | tags |
|---|---|---|
| Faircamp | ssg for audio producers | dio, rust |
| Hyper 8 Video System | ssg for video content | video, rust |
| Kitten | small Web development kit | webapps, js, htmx |
| lowdown | simple markdown translator | markdown |
| pandoc | universal document converter | pandoc |
Articles, Inspiration, and more Resources
- All you may need is HTML – fabiensanglard.net
- Awesome Gemini
- Awesome Static Web Site Generators
- Gemini Protocol – building a lightweight online space
- HTML Energy
- my website is one binary – j3s.sh
from https://codeberg.org/thgie/awesome-small-web-publishing
( https://codeberg.org/luckypoem/awesome-small-web-publishing)
------
https://codeberg.org/thgie/archive.txt
( https://codeberg.org/luckypoem/archive.txt)
Tuesday, 7 April 2026
Chawan
TUI web browser https://chawan.net
Chawan is a TUI web (and (S)FTP, Gopher, Gemini, ...) browser with CSS, inline image and JavaScript support.
It uses its own small browser engine developed from scratch, which can nevertheless display many websites in a manner similar to major graphical browsers.
It can also be used as a terminal pager.
Compiling
A Unix-like operating system (Linux, *BSD, Haiku, macOS, ...) is assumed. On Windows you have to use WSL.
- Clone the Chawan repository:
git clone https://git.sr.ht/~bptato/chawan && cd chawan - Install the Nim compiler: https://nim-lang.org/install.html
- Please use 2.0.0 or newer, ideally 2.2.6. (
nim -vdisplays your Nim compiler's version.) The 1.6 branch from 1.6.14 upwards may still work, but it isn't recommended unless you have no other choice. - If you are using a 32-bit system, you probably need 2.2 or newer.
2.0 may still work if you
export CFLAGS=-fpermissive.
- Please use 2.0.0 or newer, ideally 2.2.6. (
- Install the following dependencies:
- Run
make(without arguments). - Install using
make install(e.g.sudo make install).
Then, try:
$ cha -V # open in visual mode for a list of default keybindings
$ cha example.org # open your favorite website directly from the shell
$ mancha cha # read the cha(1) man page using `mancha'
Packages
You can also install Chawan from packages maintained by volunteers. Known stable packages are:
- Alpine Linux: https://pkgs.alpinelinux.org/packages?name=chawan
- Arch Linux: https://archlinux.org/packages/extra/x86_64/chawan/
- FreeBSD: https://www.freshports.org/www/chawan/
- Homebrew: https://formulae.brew.sh/formula/chawan
- NixOS: https://search.nixos.org/packages?show=chawan
- Slackware (SBo): https://slackbuilds.org/repository/15.0/network/chawan/
- Void Linux: https://voidlinux.org/packages/?arch=x86_64&q=chawan
Unstable packages (tip of the master branch):
- AUR: https://aur.archlinux.org/packages/chawan-git
- AppImage: https://git.lerch.org/lobo/chawan-appimage/
- Homebrew (using
--HEAD): https://formulae.brew.sh/formula/chawan
Each release also comes with static binaries. However, their dependencies can quickly get out of date, so installing a package or compiling Chawan yourself is preferable.
Features
Currently implemented features are:
- multi-processing, incremental loading of documents
- HTML5 support with various encodings (UTF-8, Shift_JIS, GBK, ...), forms, cookies
- CSS-based layout engine: supports flow layout, table layout, flexbox layout, double-width characters (CJK)
- user-programmable keybindings (defaults are vi(m)-like), mouse support
- JavaScript support in documents (disabled by default)
- inline image support with Sixel or Kitty protocol (disabled by default; see doc/image.md on how to enable)
- supports several network protocols: HTTP(S), (S)FTP, Gopher, Gemini, Finger, Spartan
- markdown viewer (
cha README.md), man page viewer (mancha) - user-defined protocols and file formats
- syscall filter based sandboxing on FreeBSD, OpenBSD and Linux (through capsicum, pledge and seccomp-bpf)
- bookmarks, history
...with a lot more planned.
Bugs, technical issues, etc.
First, read the troubleshooting document. If it doesn't help, open a ticket.
When using the ticket tracker, please make sure your tickets are valid markdown, or they become unreadable on the web interface.
If you want to send plain text e-mails not formatted as markdown, use the mailing list instead. This is also where you can send patches.
If you're having troubles accessing SourceHut, you can also use the Codeberg mirror.
Documentation index
Chawan's documentation is available as man pages (man cha) and as
Markdown files.
- build/compilation options: doc/build.md
chaman page: doc/cha.mdmanchaman page: doc/mancha.md- configuration options: doc/config.md
- API description (for keybindings): doc/api.md
- mailcap: doc/mailcap.md
- mime.types: doc/mime.types.md
- urimethodmap: doc/urimethodmap.md
- local CGI: doc/cgi.md
- protocols: doc/protocols.md
- inline images: doc/image.md
- CSS: doc/css.md
- terminal compatibility: doc/terminal.md
- troubleshooting: doc/troubleshooting.md
If you're interested in modifying the code:
- architecture: doc/architecture.md
- style guide, debugging tips, etc.: doc/hacking.md
Relatives
w3m has been the main inspiration for Chawan; although the two do not share code, the UI and feature set is similar.
Ferus is a separate graphical browser engine written in Nim, which uses Chawan's HTML parser.
from https://codeberg.org/bptato/chawan
Hexpm
API server and website for Hex。
API server and website for https://hex.pm.
Contributing
To contribute to Hexpm you need to properly set up your development environment.
Also see the client repository: hex. The client uses hexpm for integration tests, so hexpm needs to support all versions the client supports. CI ensures that tests are run on all supported versions.
- Run
mix setupto install dependencies, create and seed database etc - Run
mix test - Run
iex -S mix phx.serverand visit http://localhost:4000/
After this succeeds you should be good to go!
See setup alias in mix.exs and sections below for more information or when you run into issues.
from https://github.com/hexpm/hexpm
披着军队外衣的超级财阀——伊朗革命卫队的生意经
旧军队忠诚度存疑,左翼革命者虎视眈眈,库尔德人正在西部拿着枪要求自治。这个新生的伊斯兰共和国,四面都是敌人。
霍梅尼做了一件事,这件事在此后四十年深刻改变了整个中东的权力格局:
他在正规军队之外,再建了一支只效忠于他的军队。
这就是伊斯兰革命卫队(IRGC),波斯语叫"Sepah Pasdaran",护卫者之军。
它当时的任务是:防止政变,镇压异见,捍卫革命。
没有人知道,这支最初只有6000人的护卫队,会在四十年后成为一个控制伊朗约三分之一经济的庞大商业帝国——而且,越是制裁,它越壮大。
诞生于恐惧
理解革命卫队,必须先理解它被创造时的历史语境。
1979年的伊朗,不是一个统一的革命。
街头有共产主义者,有世俗民族主义者,有伊斯兰左派,有库尔德分裂武装——这些力量曾经共同推翻了沙阿,但他们并不全都想要一个神权国家。霍梅尼需要一支只对他效忠的武装力量,来完成他在这场革命内部的"二次革命"。
革命卫队就是这把刀。
创立革命卫队的穆赫辛·拉菲多斯特透露,革命派在讨论是否要成立革命卫队时,大部分人都同意革命需要一支能保护自身的力量,因此革命卫队是作为"霍梅尼神权统治的意识形态捍卫者及牵制军方的可靠力量",其主要目的是反革命。
换句话说,它从第一天起就是一支政治军队,而非传统意义上的国防力量。
然后,战争来了。
1980年9月,伊拉克军队越过边境,萨达姆·侯赛因以为可以在几周内拿下一个刚刚经历革命动荡的伊朗。
这场赌博他输掉了。战争打了八年。
但对革命卫队来说,这场战争是一个意想不到的礼物。
西方国家对新生的伊斯兰政权实施武器禁运。伊朗买不到零件,买不到弹药,买不到先进武器系统。被逼无奈,伊朗决定自己造。这项任务,落到了革命卫队身上。
于是,一支原本只负责政治镇压的力量,开始学习工程、物流、供应链管理、武器制造。它建立了自己的工程部队,负责在前线挖战壕、修碉堡、架桥梁、修补被炸毁的基础设施。
八年战争结束时,伊朗经济几近崩溃,两伊战争给伊朗造成的直接经济损失高达9600亿美元,间接损失难以估量。
但革命卫队拥有了西方禁运逼出来的完整工程能力。
这是它日后经济帝国的第一块基石。
从战壕到工地——戈尔博集团的诞生
1988年,战火停息。一个棘手的问题摆在面前:数十万退伍的革命卫队士兵,怎么安置?
伊朗政府的解决方案,在历史上看来近乎天才——允许革命卫队成立民用公司,用战争中积累的工程能力投入战后重建。
1990年,最高领袖哈梅内伊正式授权成立"戈尔博建设总部"(Khatam al-Anbiya Construction Headquarters,简称KAA),由革命卫队工程部队改制而来。
这家公司的前身,就是那些在两伊战争前线挖战壕的士兵。
战后,伊朗基础设施一片废墟,西方企业不敢进入,政府转而依靠内部力量。1990年,最高领袖哈梅内伊授权建立了戈尔博建设总部——一个庞大的工程建设集团。
战后重建的需求是真实的。修桥、修路、修水坝、修电网,这些都是迫切的社会需求。而革命卫队不仅有工程能力,还有军队那种不计成本、不论回报的执行力,以及最关键的——政治庇护。
合同开始涌来,大批量的,不需要竞标,直接从政府划拨。
这个模式奠定了未来三十年革命卫队扩张的基本范式:政治权力换取经济特权,再用经济资源强化政治地位。
制裁是最好的护城河
2005年,内贾德当选总统,革命卫队的经济扩张进入加速器。
内贾德本人曾是革命卫队成员。他上任后的一系列操作,在外人看来像是莽撞,但逻辑其实非常清晰。
伊朗推进核计划,美国和联合国加码制裁。跨国公司开始撤离。道达尔撤了,西门子撤了,马士基撤了,大量欧洲企业在制裁压力下退出伊朗市场。
外人的位置,让给谁?
让给革命卫队。
随着国际制裁加剧,外国跨国公司被迫撤离伊朗,戈尔博建设总部得以在石油、天然气和石化项目方面获取了大量新合同,借此发展成一个控制伊朗几乎所有主要金融、经济和工业领域的庞大巨人。
从逻辑上看,制裁制造了一种完美的垄断条件:
外资退出,留下真空;革命卫队填补真空;由于政治管控,新的国内私营竞争者无法进入;革命卫队在无竞争对手的环境中获取利润,再用利润反哺政治系统;政治系统的生存因此依赖于革命卫队的财政支持,双方形成深度共生。
制裁原本想要窒息这个政权,但实际上它消灭了唯一能挑战革命卫队垄断地位的竞争力量——外资和具有全球视野的本国私营企业。
史上最大的交易——"私有化"的奥秘
2009年9月,伊朗电信公司(TCI)——这家全国最大的国有企业之一,在德黑兰证券交易所挂牌出售51%股份。
在这场竞标中,一个名为"莫宾信托财团"的集团在30分钟内,以78亿美元价格完成了德黑兰证券交易所有史以来最大的单笔交易。这个财团与革命卫队关系密切。
这是伊朗历史上最大的一笔"私有化"交易。
竞争中的其他公司都以安全顾虑或缺乏足够资金为由取消了资格,有观察家称这次收购"在宪法第44条的棺材上钉了钉子"。
这就是伊朗式"私有化"的本质:国有资产不是从国家转移到市场,而是从国家转移到了革命卫队。
2006年到2010年期间,国有企业转移了价值700亿美元的资产,但其中仅有13.5%的股份流向了真正的私有领域,其余皆流入了半官方领域和机构。
银行、电信、石化、汽车制造、港口、医药——一个接一个,在"私有化改革"的外衣下,从国家手里转移到革命卫队手里。
经济帝国究竟有多大
很难精确计算,因为革命卫队的财务从不透明。但现有数据已经让人瞠目。
革命卫队控制着伊朗南部60个边界通道,控制着伊朗除石油以外57%的进口和30%的出口,在境外还有接近600家下属贸易公司。从制药、电信到石油行业,深深卷入伊朗的经济生活,是一个庞大的商业垄断组织。
根据估算,公共部门对伊朗GDP的贡献率达35%,私营部门约占25%,半国有部门约占40%。伊斯兰革命卫队的网络是军事实体最大的组成部分,其网络产值的GDP占比约为15%,呈现上升趋势。
激光矫视手术诊所、连锁药店、农业合作社、住宅开发、大学、出租车公司……甚至还有伊朗著名的"圣城球队",德黑兰最成功的足球俱乐部之一,也在革命卫队的商业版图之中。
议会里有超过80名成员出身于革命卫队。前德黑兰市长卡利巴夫,革命卫队出身,后成为议会议长。伊朗各省份的省长、市长中,革命卫队背景的数量在过去二十年显著增加。
军事、政治、经济,三者已深度缠绕,难以分割。
制裁的悖论
西方对伊朗的制裁,已经持续了超过四十年。从1979年的资产冻结,到2006年的联合国决议,到2018年特朗普的极限施压,再到今天的全面封锁。
制裁的逻辑是:切断收入来源,让政权无法维持运转,迫使其妥协。
但这个逻辑漏掉了一个关键变量:制裁的成本和收益,在伊朗国内的分配是极度不均等的。
普通伊朗人承受了制裁的大部分成本——货币贬值(2023年黑市美元兑里亚尔汇率曾高达85万:1)、进口商品短缺、通货膨胀、就业机会减少。
而革命卫队不仅没有承受这些成本,反而通过以下机制从制裁中获益:
走私垄断:制裁造成商品短缺,短缺造成黑市溢价,黑市被革命卫队控制的60个边境口岸垄断。制裁越严,溢价越高,走私利润越大。据估计,革命卫队与其他军事半军事集团控制的黑市交易额占伊朗GDP的6%~36%,包括走私、毒品交易等非法经济活动。
进口替代:外国商品进不来,国内只有革命卫队的企业能接单生产替代品,因为只有它们有资金、有政治庇护、有供应链网络。
汇率套利:伊朗长期实行多层次汇率制度,官方汇率和市场汇率之间存在巨大差价。革命卫队系的银行和财团可以用官方汇率买进美元,在黑市价格抛出,差价就是纯利润。
项目垄断:外国公司走了,大型基础设施和能源项目的承包方只剩革命卫队的戈尔博建设总部。合同不需要竞标,预算不受监督,这是最稳定的利润来源之一。
换句话说,制裁关上了正规经济的大门,但革命卫队走的从来就不是正规渠道。
阿喀琉斯之踵
但这个帝国,也有自己的脆弱之处。
革命卫队旗下的企业并非由技术专家管理,而是由退役将领、情报官员和政治关系深厚的亲信运营,这些人缺乏真正的技术专长。这套体系设计上的目标是向军事精英输送资源,同时剥夺私营部门的投资、机会和自主权。
南帕尔斯天然气田是一个典型案例。伊朗和卡塔尔共享这个全球最大的天然气田。伊朗拥有更大的份额,却在产量上远远落后。2022年,卡塔尔的产量几乎是伊朗的两倍,尽管卡塔尔开发更晚。分析人士将这一差距主要归因于不合格承包商的技术管理失当,以及意识形态导向的人事任命取代了专业技术人才。
大量政府项目被革命卫队旗下企业拿走后,以意识形态忠诚替代专业能力的管理方式,导致延期、超支、质量低劣。
如果用一句话总结革命卫队腐败对当前战争局势的影响:通过建立一个充斥着寻租、走私、空壳公司和隐性金融网络的安全-经济帝国,革命卫队成功维系了伊斯兰共和国多年的运转;但这个腐败架构本身,如今已成为政权在全面战争状态下的核心脆弱点。
一个帝国的内在矛盾
伊斯兰革命卫队用四十年时间,把自己从一支政治护卫队变成了一个国中之国。
它能做到这一点,不是因为它有多优秀,而是因为外部压力恰好创造了它茁壮生长的土壤:制裁关闭了外资、削弱了国内私营竞争者、强化了对黑市管道的需求;战争给了它技术能力;私有化给了它合法的扩张入口;与最高领袖的特殊关系给了它政治豁免权。
这种结构,也是伊朗这个有着数千年文明的古老国家,在过去四十年里始终无法实现正常经济发展的核心原因之一。
一个国家的工程建设、电信、石化、进出口、银行系统,由一支军队垄断运营——这种模式可以在制裁压力下维持存活,但它无法竞争,无法创新,无法创造真正的经济繁荣。
伊朗2025年的人均GDP约为3897美元,在全球排第133位,是台湾的九分之一,中国的三分之一不到。
石油储量全球前五,天然气储量全球前二,人口9000万,有过辉煌的文明——坐在金山上,却是这个结果。
马克思曾经写过,历史上一切政治斗争归根结底都是经济斗争。
在伊朗,这个命题被反过来验证了:一切经济扩张,归根结底都是政治安排的结果。
革命卫队最明白这一点。它用四十年时间证明,在特定的制度逻辑下,制裁不是它的敌人——制裁是它最好的生意伙伴。
美国退出北约,欧洲人到底怕不怕
欧洲的问题:钱从哪来
以德国为例,把这笔账算得最清楚。
德国计划将军费开支从2025年的950亿欧元增至2029年的1620亿欧元,增幅达70%,占GDP比例从2.4%升至3.5%。为实现这一目标,德国放宽债务上限,允许十年内为国防和基础设施借款1万亿欧元,预计赤字将从2024年的330亿欧元升至2029年的1260亿欧元。
这在德国是什么量级的事?德国的"债务刹车"机制是写进宪法里的,改它需要联邦议院三分之二多数票。德意志银行经济学家将默茨推动的这项改革描述为"德国战后历史上最具历史性的范式转变之一",并表示"它发生的速度和预期财政扩张的规模让人想起德国的统一"。
这句话有多重要?德国统一是1990年,是整个联邦德国历史上最大的财政冲击。现在的扩军,规模可以与之相提并论。
但军费跟基础设施投资有本质差别——炸弹打出去就消耗了,不像桥梁和学校会持续产出价值。德国曼海姆大学经济学教授汤姆·克雷布斯指出,军费支出的"财政乘数"最高仅0.5左右,即每投入1欧元军费,经济活动仅增加约50欧分的价值;而基础设施、教育和托幼投资的"财政乘数"往往是军费的两到三倍。
翻译成大白话:花同样一欧元,建幼儿园的回报是造坦克的6倍。
但没有办法,安全是刚需。德国普通家庭的生活也将受到影响——为筹措资金,政府或将提高税收,尤其针对高收入群体和企业。而债务和利息压力可能促使政府在未来预算中更趋紧缩,进而影响社会福利支出,如养老金和公共医疗等领域。
这才是这场地缘变局真正影响到普通欧洲家庭的方式:养老金的实际购买力可能下降,公立医院的等待时间可能拉长,子女的教育补贴可能收紧——这些看不见的削减,都会在未来五年内以隐蔽的方式出现。
在德国,这件事已经不只是新闻,而是茶几上的日常话题了。
对美国军工来说,这是一场灾难还是好消息?
答案很反直觉:两者都是,取决于你看的时间维度。
短期内,欧洲扩军对美国军工业是巨大利好。特朗普视阈下,"财政回报"是:不是从欧洲直接收钱,而是通过逼迫他们承担更大的安全支出,而大量新增的欧洲军费,很大一部分将用于购买美国制造的武器——如F-35、爱国者导弹、波音运输机等,这实际上是美国国防工业的隐性"财政收益"。
根据咨询公司"纵向"研究合伙公司的分析,预计2026年美国五大国防承包商的现金流将达到260亿美元,是2021年的两倍。洛克希德·马丁、雷神、通用动力——这些公司的订单本来就多,现在欧洲的8000亿欧元又撑开了一片新的需求。
但中长期,麻烦来了。
欧洲人被逼急了,已经开始系统性地走向军工自主。欧盟的目标是到2030年实现50%的防务订单本土化采购,而2022年至2023年度欧盟防务订单本土化率仅为22%——这意味着欧洲要在六年内把本土军工采购比例翻1倍以上。
更直白的数据:莱茵金属将其155毫米炮弹的年产量从2022年的7万发增加到2024年的75万发,目标是到2027年达到150万发;弹药现在占集团销售额的27%和利润的52%。这家公司自2022年以来股价涨了超过2000%,市值超过了德国大众汽车。
英国BAE Systems在2025年销售额增长10%,得益于欧洲各国政府的"台风"战斗机、护卫舰和战车大量订单,截至2025年12月底储备订单达到创纪录的836亿英镑。
欧洲军工的崛起,长远看会蚕食美国军火商的欧洲市场份额。特朗普现在的策略是:先用北约撤出威胁逼欧洲加码军费,短期内美国军火商吃得满嘴流油;但欧洲建立起自主军工体系之后,美国武器的市场就会系统性萎缩。
Wednesday, 1 April 2026
Awesome-Database-Learning
A list of learning materials to understand databases internals.
A list of learning materials to understand databases internals, including but not limited to:
- papers
- blogs
- courses
- talks
Please submit a pull request if there is any material that you think should be included in this collection.
- Recommended Courses, Books and Talks
- SQL & Relation Algebra
- Query Optimizer
- Query Execution
- DDL
- Relational Model
- Transaction
- Network
- Storage
- Serializing & RPC
- Data Partitioning
- Replication & Consistency
- Consensus
- Scheduling
- Benchmark & Testing
- HTAP
- TLA+
- CMU Database Systems (15-445/645), thanks to Andy Pavlo
- CMU Advanced Database Systems (15-721), thanks to Andy Pavlo
- UC Berkeley Introduction to Database Systems
- Stanford Database System Implementation
- Cornell Introduction to Database Systems by Prof. Trummer
- Let's Build a Simple Database, thanks to cstack
- Stanford Database Systems: The Complete Book
- Designing Data-Intensive Applications, 中文翻译
- Database Internals
- Foundations of Databases
- Readings in Database Systems, 5th Edition
- Database Design and Implementation: Second Edition (Data-Centric Systems and Applications)
- Principles of Distributed Database Systems, 4th ed
- Inside SQLite
- Architecture of a Database System
- Relational Database Index Design and the Optimizers
- Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control
- Data Structures and Algorithms for Big Databases
- A Journey From A Quick HackTo A High-Reliability Database Engine
- How does a relational database work
- The Internals of PostgreSQL
- Books propose
- what is database and its types
Courses:
-
CMU Database Systems (15-445/645), thanks to Andy Pavlo
-
UC Berkeley Introduction to Database Systems
- Introduction + SQL I
- SQL II
- Relational Algebra
Courses:
- CMU Database Systems (15-445/645), thanks to Andy Pavlo
Blogs:
- 数据库内核杂谈, thanks to 顾仲贤
- SQL优化器原理 - 查询优化器综述, thanks to 勿烦
Blogs:
- 数据库内核杂谈, thanks to 顾仲贤
- SQL 查询优化原理与 Volcano Optimizer 介绍, thanks to 张茄子
- Cascades Optimizer, thanks to hellocode
Papers:
- 1979, Access Path Selection in a Relational Database Management System, SIGMOD
- 1979, Query Processing in Main Memory Database Management Systems, VLDB
- 1987, Query Optimization by Simulated Annealing, SIGMOD
- 1988, Grammar-like Functional Rules for Representing Query Optimization Alternatives, SIGMOD
- 1993, The Volcano Optimizer Generator- Extensibility and Efficient Search, ICDE
- 1995, The Cascades Framework for Query Optimization, IEEE Data engineering Bulltin
- 1998, An Overview of Query Optimization in Relational Systems, PODS
- 2001, LEO – DB2’s LEarning Optimizer, VLDB
- 2004, Robust Query Processing through Progressive Optimization, SIGMOD
- 2014, Orca: A Modular Query Optimizer Architecture for Big Data, SIGMOD
- 2016, Parallelizing Query Optimization on Shared-Nothing Architectures, VLDB
- 2016, The MemSQL Query Optimizer: A modern optimizer for real-time analytics in a distributed database, VLDB
Blogs:
- SQL 子查询的优化, thanks to Eric Fu
- Calcite 子查询处理 - I (RemoveSubQuery), thanks to 一只无情的小猫咪
- Calcite 子查询处理 - II (Decorrelate), thanks to 一只无情的小猫咪
Papers:
- 2001, Orthogonal Optimization of Subqueries and Aggregation, SIGMOD
- 2009, Enhanced subquery optimizations in Oracle, VLDB
- 2015, Unnesting Arbitrary Queries, BTW
Papers:
- 2006, Analysis of Two Existing and One New Dynamic Programming Algorithm for the Generation of Optimal Bushy Join Trees without Cross Products, VLDB
- 2015, How Good Are Query Optimizers, Really?, VLDB
- 2018, Adaptive Optimization of Very Large Join Queries, SIGMOD
Thesis:
Papers:
- 1996, Fundamental Techniques for Order Optimization, SIGMOD
- 2004, An Efficient Framework for Order Optimization, ICDE
- 2010, Incorporating Partitioning and Parallel Plans into the SCOPE Optimizer, ICDE
Papers:
- 1996, Modelling Costs for a MM-DBMS, in Real-Time Databases
- 2014, Approximation Schemes for Many-Objective Query Optimization, SIGMOD
- 2015, Multi-Objective Parametric Query Optimization, VLDB
Papers:
- 1984, Accurate Estimation of the Number of Tuples Satisfying a Condition, SIGMOD
- 1993, Optimal Histograms for Limiting Worst-Case Error Propagation in the Size of Join Results, ACM Trans. on Database Systems
- 1993, Universality of Serial Histograms, VLDB
- 1995, Balancing Histogram Optimality and Practicality for Query Result Size Estimation, SIGMOD
- 1996, Improved Histograms for Selectivity Estimation of Range Predicates, SIGMOD
- 1997, SEEKing the truth about ad hoc join costs, VLDB
- 2000, Towards Estimation Error Guarantees for Distinct Values, SIGMOD/PODS
- 2001, Distinct Sampling for Highly-Accurate Answers to Distinct Values Queries and Event Reports, VLDB
- 2003, The History of Histograms, VLDB
- 2005, An Improved Data Stream Summary: The Count-Min Sketch and its Applications, Journal of Algorithms
- 2007, New Estimation Algorithms for Streaming Data: Count-min Can Do More
- 2009, Preventing Bad Plans by Bounding the Impact of Cardinality Estimation Errors, VLDB
- 2010, Histograms Reloaded: The Merits of Bucket Diversity, SIGMOD
- 2014, Exploiting Ordered Dictionaries to Efficiently Construct Histograms with Q-Error Guarantees in SAP HANA, SIGMOD
- 2017, Adaptive Statistics in Oracle 12c, VLDB
- 2019, Pessimistic Cardinality Estimation: Tighter Upper Bounds for Intermediate Join Cardinalities, SIGMOD
- 2019, Deep Unsupervised Cardinality Estimation, VLDB
- 2020, NeuroCard: One Cardinality Estimator for All Tables, VLDB
Books:
Courses:
Papers:
- 1994, Volcano-An Extensible and Parallel Query Evaluation System, IEEE Transactions on Knowledge and Data EngineeringFebruary
- 2014, Morsel-Driven Parallelism: A NUMA-Aware Query Evaluation Framework for the Many-Core Age, SIGMOD
Blogs:
- Overhead of a Generalized Query Execution Engine, from The Pivotal Engineering Journal, thanks to the Pivotal Engineering team
Papers:
- 2005, MonetDB/X100: Hyper-Pipelining Query Execution, CIDR
- 2011, Efficiently Compiling Efficient Query Plans for Modern Hardware, VLDB
- 2017, Relaxed Operator Fusion for In-Memory Databases: Making Compilation, Vectorization, and Prefetching Work Together At Last, VLDB
- 2018, Everything You Always Wanted to Know About Compiled and Vectorized Queries But Were Afraid to Ask, VLDB
- 2018, Adaptive Execution of Compiled Queries, ICDE
Papers:
- 2013, Multi-Core, Main-Memory Joins: Sort vs. Hash Revisited, VLDB
- 2017, Looking Ahead Makes Query Plans Robust, VLDB
Courses:
- CMU Database Systems (15-445/645), thanks to Andy Pavlo
Blogs:
- Fibonacci Hashing: The Optimization that the World Forgot (or: a Better Alternative to Integer Modulo), thanks to Malte Skarupke
- All hash table sizes you will ever need, thanks to Database Architects - Thomas Neumann
Papers:
- 2013, Online, Asynchronous Schema Change in F1, VLDB
Blogs:
- What is a Relational Database?, thanks to Caleb Curry
- What is a Relational Database?,thank to JAMES GALLAGHER
Blogs:
Blogs:
- Relational model, thanks to Wikipedia
Blogs:
Blogs:
- ER Model to Relational Model, thanks to tutorialspoint
Blogs:
- An Overview of SQL Text Functions, thanks to Zahin Rahman
Blogs:
- 一致性模型, thanks to siddontang
Papers:
- 1995, A Critique of ANSI SQL Isolation Levels, SIGMOD
- 2000, Generalized Isolation Level Definitions, Proceedings of 16th International Conference on Data Engineering
Courses:
-
CMU Database Systems (15-445/645), thanks to Andy Pavlo
-
CMU Advanced Database Systems (15-721), thanks to Andy Pavlo
Papers:
- 1976, The Notions of Consistency and Predicate Locks in a Database System, Communications of the ACM
- 1981, Concurrency Control in Distributed Database Systems, ACM Computing Surveys
- 1981, On Optimistic Methods for Concurrency Control, ACM Transactions on Database Systems
- 1983, Multiversion Concurrency Control - Theory and Algorithms, ACM Transactions on Database Systems
- 2012, Serializable Snapshot Isolation in PostgreSQL, VLDB
- 2012, Calvin: Fast Distributed Transactions for Partitioned Database Systems, SIGMOD
- 2014, MaaT: effective and scalable coordination of distributed transactions in the cloud, VLDB
- 2014, Staring into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores, VLDB
- 2014, An Evaluation of the Advantages and Disadvantages of Deterministic Database Systems, VLDB
- 2015, Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems, SIGMOD
- 2017, An Empirical Evaluation of In-Memory Multi-Version Concurrency Control, VLDB
- 2017, An Evaluation of Distributed Concurrency Control, VLDB
- 2019, Scalable Garbage Collection for In-Memory MVCC Systems, VLDB
Courses:
- CMU Advanced Database Systems (15-721), thanks to Andy Pavlo
Papers:
- 2016, The End of Slow Networks: It's Time for a Redesign, VLDB
- 2016, Accelerating Relational Databases by Leveraging Remote Memory and RDMA, SIGMOD
- 2017, Don't Hold My Data Hostage: A Case for Client Protocol Redesign, VLDB
Papers:
- 2006, Bigtable: A Distributed Storage System for Structured Data, OSDI
- 2007, Dynamo: Amazon’s Highly Available Key-value Store, SOSP
- 2008, PNUTS: Yahoo!’s Hosted Data Serving Platform, VLDB
- 2010, Cassandra - A Decentralized Structured Storage System, SOSP
- 2019, PNUTS to Sherpa: Lessons from Yahoo!’s Cloud Database , VLDB
Courses:
- CMU Database Systems (15-445/645), thanks to Andy Pavlo
Papers:
- 1987, The 5 Minute Rule for Trading Memory for Disc Accesses and the 5 Byte Rule for Trading Memory for CPU Time, SIGMOD
- 2008, The Five Minute Rule 20 Years Later and How Flash Memory Changes the Rules, ACM Queue
- 2018, Managing Non-Volatile Memory in Database Systems, SIGMOD
- 2018, LeanStore: In-Memory Data Management Beyond Main Memory, ICDE
- 2020, Umbra: A Disk-Based System with In-Memory Performance, CIDR
Blogs:
- On Disk IO, Part 1: Flavors of IO, thanks to Alex
- On Disk IO, Part 2: More Flavours of IO, thanks to Alex
- On Disk IO, Part 3: LSM Trees, thanks to Alex
- On Disk IO, Part 4: B-Trees and RUM Conjecture, thanks to Alex
- On Disk IO, Part 5: Access Patterns in LSM Trees, thanks to Alex
- Ensuring data reaches disk(LWN)
- Read, write & space amplification - pick 2, thanks to Mark Callaghan
Papers:
- 2016, Design Tradeoffs of Data Access Methods, SIGMOD
- 2016, Designing Access Methods: The RUM Conjecture, EDBT
Blogs:
- B树、B+树索引算法原理(上) thanks to codedump
- B树、B+树索引算法原理(下)
Courses:
-
CMU Database Systems (15-445/645), thanks to Andy Pavlo
-
CMU Advanced Database Systems (15-721), thanks to Andy Pavlo
Papers:
- 1979, The Ubiquitous B-Tree
Papers:
- 1996, The Log-Structured Merge-Tree (LSM-Tree),
- 2014, A Comparison of Fractal Trees to Log-Structured Merge (LSM) Trees
- 2017, WiscKey: Separating Keys from Values in SSD-conscious Storage, TOS
- 2019, LSM-based Storage Techniques: A Survey
Papers:
- 2018, The Case for Learned Index Structures
- 2019, Learning Multi-dimensional Indexes
- 2020, XIndex: A Scalable Learned Index for Multicore Data Storage
- 2020, RadixSpline: A Single-Pass Learned Index, Source Code, aiDM@SIGMOD
- 2020, The PGM-index: a fully-dynamic compressed learned index with provable worst-case bounds, Source Code, VLDB
- 2020, From WiscKey to Bourbon: A Learned Index for Log-Structured Merge Trees
Blogs:
Papers:
Blogs:
Papers:
- 2012, Consistency Tradeoffs in Modern Distributed Database System Design
- 2020, Strong and Efficient Consistency with Consistency-Aware Durability , FAST 2020
Technical report:
- University of Cambridge Distributed consensus revised, a great paper about Consenssus especially Paxos and Paxos-Related algorithms, by Heidi Howard
Papers:
- 2014, Ark: A Real-World Consensus Implementation, CoRR
Blogs:
Papers:
- 2016, Automated Demand-driven Resource Scaling in Relational Database-as-a-Service, SIGMOD
- 2019, Autoscaling Tiered Cloud Storage in Anna, VLDB
- 2020, Adaptive HTAP through Elastic Resource Scheduling, SIGMOD
- 2020, MorphoSys: Automatic Physical Design Metamorphosis for Distributed Database Systems, VLDB
Blogs:
- Use go-ycsb to benchmark different databases (1), thanks to siddontang
- Chaos Tools and Techniques for Testing the TiDB Distributed NewSQL Database, thanks to Liu Tang
- Creating Custom Sysbench Scripts, thanks to Matthew Boehm
Papers:
- 2010, Benchmarking Cloud Serving Systems with YCSB, SOCC
Papers:
- 2020, TiDB: A Raft-based HTAP Database, VLDB
- 2020, F1 Lightning: HTAP as a Service, VLDB
Talks:
from https://github.com/pingcap/awesome-database-learning

