7 Commits
hugo-v1 ... v1

Author SHA1 Message Date
Feng Ruohang
54bbbfc52e hide footer from hugo pages 2025-08-06 12:30:19 +08:00
Feng Ruohang
bc87dde54d adjust beian number 2025-08-05 17:36:23 +08:00
Feng Ruohang
65c0866727 add o'reilly 1st/2nd book links 2025-08-03 20:39:38 +08:00
Feng Ruohang
af13d29a14 add google analytics 2025-08-03 18:56:57 +08:00
Feng Ruohang
c9e829646a chore: clean up docsify resources 2025-07-31 11:04:05 +08:00
Feng Ruohang
1d039fab3d add beian number 2025-07-31 09:02:35 +08:00
Feng Ruohang
63f0340f14 update online version links 2025-07-31 08:29:24 +08:00
24 changed files with 56 additions and 350 deletions

4
.gitignore vendored
View File

@@ -5,4 +5,6 @@ __pycache__/
tmp/
output/
public/
.hugo_build.lock
.hugo_build.lock
.claude
CLAUDE.md

View File

@@ -1,23 +1,25 @@
# 设计数据密集型应用 - 中文翻译版
[![Webite: ddia](https://img.shields.io/badge/v1-ddia.pigsty.io-slategray?style=flat)](https://ddia.vonng.com)
[![Webite: ddia](https://img.shields.io/badge/在线阅读-ddia.vonng.com-slategray?style=flat)](https://ddia.vonng.com)
[![GitHub Stars](https://img.shields.io/github/stars/Vonng/ddia?style=flat&logo=github&logoColor=black&color=slategray)](https://star-history.com/#Vonng/ddia&Date)
**作者** [Martin Kleppmann](https://martin.kleppmann.com)[《Designing Data-Intensive Applications 2nd Edition》](https://learning.oreilly.com/library/view/designing-data-intensive-applications/9781098119058/ch01.html) 英国剑桥大学分布式系统研究员,演讲者,博主和开源贡献者,软件工程师和企业家,曾在 LinkedIn 和 Rapportive 负责数据基础架构。
**作者** [Martin Kleppmann](https://martin.kleppmann.com)[《Designing Data-Intensive Applications 2nd Edition》](https://learning.oreilly.com/library/view/designing-data-intensive-applications/9781098119058/ch01.html) 英国剑桥大学分布式系统研究员,演讲者,博主和开源贡献者,软件工程师和企业家,曾在 LinkedIn 和 Rapportive 负责数据基础架构。
**译者**[冯若航](https://vonng.com) / [Vonng](https://github.com/Vonng) (rh@vonng.com) 创业者,[开源贡献者](https://gitstar-ranking.com/Vonng)PostgreSQL Hacker。开源 RDS PG [Pigsty](https://pigsty.cc/zh/) 与公众号《[非法加冯](https://mp.weixin.qq.com/s/p4Ys10ZdEDAuqNAiRmcnIQ)》作者,[数据库老司机](https://pigsty.cc/zh/blog/db)[云计算泥石流](https://pigsty.cc/zh/blog/cloud)曾于阿里苹果探探担任架构师与DBA。
**译者**[冯若航](https://vonng.com) / [Vonng](https://github.com/Vonng) (rh@vonng.com) [Pigsty](https://pgsty.com) 创始人,[活跃](https://committers.top/china)[开源贡献者](https://gitstar-ranking.com/Vonng)PostgreSQL Hacker。开源 RDS PG 发行版 [Pigsty](https://pigsty.cc/zh/) 与公众号《[老冯云数](https://mp.weixin.qq.com/s/p4Ys10ZdEDAuqNAiRmcnIQ)》作者,[数据库老司机](https://pigsty.cc/zh/blog/db)[云计算泥石流](https://pigsty.cc/zh/blog/cloud)曾于阿里苹果探探担任架构师与DBA。
**校订** [@yingang](https://github.com/yingang) [繁體中文](zh-tw/README.md) **版本维护** by [@afunTW](https://github.com/afunTW)
**通知**DDIA [**第二版**](https://ddia.vonng.com/v2) 正在翻译中 ([`content/v2`](https://github.com/Vonng/ddia/tree/hugo/content/v2) 目录),欢迎加入并提出您的宝贵意见!
**校订** [@yingang](https://github.com/yingang) [**繁體中文**](content/tw/_index.md) by [@afunTW](https://github.com/afunTW) [完整贡献者列表](#贡献)
**阅读**:访问 [https://ddia.vonng.com](https://ddia.vonng.com) 阅读本书在线版本,或使用 [hugo](https://gohugo.io/documentation/) / [hextra](https://imfing.github.io/hextra/zh-cn/) 主题自行构建。
**通知**DDIA [**第二版**](https://ddia.vonng.com/v2) 正在翻译中 ([`content/v2`](https://github.com/Vonng/ddia/tree/main/content/v2) 目录),欢迎加入并提出您的宝贵意见!
---------
## 译序
> 不懂数据库的全栈工程师不是好架构师 —— 冯若航 / [@Vonng](https://github.com/Vonng)
> 不懂数据库的全栈工程师不是好架构师
>
> —— 冯若航 / Vonng
现今尤其是在互联网领域大多数应用都属于数据密集型应用。本书从底层数据结构到顶层架构设计将数据系统设计中的精髓娓娓道来。其中的宝贵经验无论是对架构师、DBA、还是后端工程师、甚至产品经理都会有帮助。
@@ -359,6 +361,11 @@
---------
## 协议
## 许可证
[![License: CC-BY 4.0](https://img.shields.io/github/license/Vonng/ddia?logo=opensourceinitiative&logoColor=green&color=slategray)](https://github.com/Vonng/ddia/blob/master/LICENSE)
[![License: CC-BY 4.0](https://img.shields.io/github/license/Vonng/ddia?logo=opensourceinitiative&logoColor=green&color=slategray)](https://github.com/Vonng/ddia/blob/master/LICENSE)
本项目采用 [CC-BY 4.0](https://github.com/Vonng/ddia/blob/master/LICENSE) 许可证,您可以在这里找到完整说明:
- [署名 4.0 协议国际版 CC BY 4.0 Deed](https://creativecommons.org/licenses/by/4.0/deed.zh-hans)
- [Attribution 4.0 International CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.en)

View File

@@ -19,7 +19,9 @@ PostgreSQL 專家,資料庫老司機,雲計算泥石流。
**校訂** [@yingang](https://github.com/yingang) [繁體中文](/tw) **版本維護** by [@afunTW](https://github.com/afunTW) [完整貢獻者列表](/contrib)
> [!NOTE]
> DDIA [**第二版**](https://github.com/Vonng/ddia/tree/v2) 正在翻譯中 ([`v2`](https://github.com/Vonng/ddia/tree/v2)分支),歡迎加入並提出您的寶貴意見!
> DDIA [**第二版**](/v2) 正在翻譯中 ([`content/v2`](https://github.com/Vonng/ddia/tree/main) 目錄),歡迎加入並提出您的寶貴意見!
## 譯序

View File

@@ -89,3 +89,4 @@ breadcrumbs: false
### [後記](/tw/colophon)
![](/img/featured.jpg)

View File

@@ -21,6 +21,8 @@ PostgreSQL 专家,数据库老司机,云计算泥石流。
> [!NOTE]
> DDIA [**第二版**](/v2) 正在翻译中 ([`content/v2`](https://github.com/Vonng/ddia/tree/main) 目录),欢迎加入并提出您的宝贵意见!
## 译序
> 不懂数据库的全栈工程师不是好架构师 —— 冯若航 / Vonng

View File

@@ -89,4 +89,4 @@ breadcrumbs: false
### [后记](/colophon)
![](/img/featured.jpg)

2
go.mod
View File

@@ -1,4 +1,4 @@
module github.com/Vonng/pg-internal
module github.com/Vonng/ddia
go 1.24.5

View File

@@ -8,6 +8,9 @@ enableGitInfo: true
# enableEmoji: false
hasCJKLanguage: true
services:
googleAnalytics:
ID: G-SGY2FPH1EG
outputs:
home: [HTML]
@@ -100,25 +103,38 @@ menu:
params:
type: separator
weight: 6
- identifier: vonng
name: "博客:老冯云数 ↗"
url: "https://vonng.com"
weight: 7
- identifier: pgint
name: "PostgreSQL 内幕探索 ↗"
url: "https://pgint.vonng.com/"
weight: 7
- identifier: pgint14
name: "PostgreSQL 内参 ↗"
url: "https://postgres-internals.cn/"
weight: 8
- identifier: pgint14
name: "PostgreSQL 14 内参 ↗"
url: "https://postgres-internals.cn/"
weight: 9
- identifier: pigsty
name: "Pigsty 文档 ↗"
url: "https://pgsty.com/zh"
weight: 9
url: "https://doc.pgsty.com/zh"
weight: 10
- identifier: pgext
name: "PG 扩展目录 ↗"
url: "https://ext.pgsty.com/zh"
weight: 10
weight: 11
- identifier: ddia1
name: "DDIA O'reilly ↗"
url: "https://www.oreilly.com/library/view/designing-data-intensive-applications/9781491903063/"
weight: 12
- identifier: ddia2
name: "DDIA 2nd O'reilly ↗"
url: "https://www.oreilly.com/library/view/designing-data-intensive-applications/9781098119058/"
weight: 13
params:
description: DDIA 中文版翻译,设计数据密集型应用是一本关于数据系统设计的书籍,它深入探讨了数据密集型应用的架构和设计原则,涵盖了分布式系统、数据存储、消息传递等主题。
description: DDIA 中文版翻译,设计数据密集型应用是一本关于数据系统设计的书籍,它深入探讨了数据密集型应用的架构和设计原则,涵盖了模型,存储,分区,事务,分布式系统、数据存储、流处理,批处理等各种主题。
navbar:
displayTitle: true
@@ -126,9 +142,6 @@ params:
logo:
path: /logo.png
dark: /logo.png
# width: 40
# height: 20
# link: /
width: wide
page:
@@ -141,7 +154,7 @@ params:
displayToggle: true
footer:
enable: true
enable: false
displayCopyright: true
displayPoweredBy: false
width: normal
@@ -179,8 +192,6 @@ params:
comments:
enable: true
type: giscus
# https://giscus.app/
giscus:
repo: "Vonng/ddia"
repoId: "MDEwOlJlcG9zaXRvcnkxMjA3MTA2NDQ"
@@ -193,15 +204,3 @@ params:
inputPosition: bottom
lang: zh-CN
theme: preferred_color_scheme
# repo: imfing/hextra
# repoId: R_kgDOJ9fJag
# category: General
# categoryId: DIC_kwDOJ9fJas4CY7gW
# mapping: pathname
# strict: 0
# reactionsEnabled: 1
# emitMetadata: 0
# inputPosition: top
# lang: en
# theme: noborder_dark

1
i18n/en.yaml Normal file
View File

@@ -0,0 +1 @@
copyright: '<a class="hx:flex hx:text-sm hx:items-center hx:gap-1 hx:text-current" target="_blank" rel="noopener noreferrer" title="Vonng" href="https://blog.vonng.com/en"><span>© 2025 Ruohang Feng</span></a>'

View File

@@ -1,7 +1,7 @@
backToTop: "返回頂部"
changeLanguage: "切換語言"
changeTheme: "切換主題"
copyright: "© 2025 Hextra Project."
copyright: '<a class="hx:flex hx:text-sm hx:items-center hx:gap-1 hx:text-current" target="_blank" rel="noopener noreferrer" title="Vonng" href="https://blog.vonng.com/"><span>© 2025 馮若航</span></a>'
dark: "深色"
editThisPage: "在 GitHub 上編輯此頁 →"
lastUpdated: "最後更新於"
@@ -9,6 +9,5 @@ light: "淺色"
noResultsFound: "無結果"
onThisPage: "此頁上"
tags: "標籤"
poweredBy: "由 Hextra 驅動"
readMore: "更多 →"
searchPlaceholder: "搜尋文檔..."

View File

@@ -1,7 +1,7 @@
backToTop: "返回顶部"
changeLanguage: "切换语言"
changeTheme: "切换主题"
copyright: "© 2025 Hextra Project."
copyright: '<a class="hx:flex hx:text-sm hx:items-center hx:gap-1 hx:text-current" target="_blank" rel="noopener noreferrer" title="Vonng" href="https://blog.vonng.com/"><span>© 2025 冯若航</span></a>'
dark: "深色"
editThisPage: "在 GitHub 上编辑此页 →"
lastUpdated: "最后更新于"
@@ -9,7 +9,6 @@ light: "浅色"
noResultsFound: "无结果"
onThisPage: "此页上"
tags: "标签"
poweredBy: "由 Hextra 驱动"
readMore: "更多 →"
searchPlaceholder: "搜索文档..."
previous: "上一页"

View File

@@ -1,7 +1,7 @@
backToTop: "返回顶部"
changeLanguage: "切换语言"
changeTheme: "切换主题"
copyright: "© 2025 Hextra Project."
copyright: '<a class="hx:flex hx:text-sm hx:items-center hx:gap-1 hx:text-current" target="_blank" rel="noopener noreferrer" title="Vonng" href="https://blog.vonng.com/"><span>© 2025 冯若航</span></a>'
dark: "深色"
editThisPage: "在 GitHub 上编辑此页 →"
lastUpdated: "最后更新于"
@@ -9,7 +9,6 @@ light: "浅色"
noResultsFound: "无结果"
onThisPage: "此页上"
tags: "标签"
poweredBy: "由 Hextra 驱动"
readMore: "更多 →"
searchPlaceholder: "搜索文档..."
previous: "上一页"

View File

@@ -1,63 +0,0 @@
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8" />
<title>设计数据密集型应用</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="keywords" content="设计数据密集型应用"/>
<meta name="description" content="A magical documentation generator." />
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"/>
<link rel="stylesheet" href="js/katex.min.css"/>
<link rel="stylesheet" href="js/vue.css" title="vue"/>
<link rel="stylesheet" href="js/dark.css" title="dark" disabled/>
<link rel="stylesheet" href="js/buble.css" title="buble" disabled/>
<link rel="stylesheet" href="js/pure.css" title="pure" disabled/>
</head>
<body>
<div id="app">Loading ...</div>
<script>
// Set html "lang" attribute based on URL
var lang = location.hash.match(/#\/(zh-tw)\//);
if (lang) {
document.documentElement.setAttribute('lang', lang[1]);
}
// configuration
window.$docsify = {
name: 'DDIA',
repo: 'Vonng/ddia',
auto2top: true,
coverpage: false,
executeScript: true,
loadSidebar: true,
loadNavbar: true,
mergeNavbar: true,
relativePath: true,
maxLevel: 4,
subMaxLevel: 3,
alias: {
'/.*/_cover.md': '/_navbar.md',
},
search: {
maxAge: 10000,
paths: 'auto',
noData: {
'/': '没有结果!',
'/zh-tw/': '沒有結果!',
'/en-us/': 'No Results',
},
placeholder: {
'/': '搜索',
'/zh-tw/': '搜索',
'/en-us/': 'Search',
},
pathNamespaces: ['/zh-tw', '/en-us']
}
};
</script>
<script src="js/docsify-katex.js"></script>
<script src="js/docsify.min.js"></script>
<script src="js/search.min.js"></script>
</body>
</html>

File diff suppressed because one or more lines are too long

1
js/docsify.min.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -1,221 +0,0 @@
/* This defines styles and classes used in the book */
@page {
margin: 10px;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img,
ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption, footer, header,
hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, ol,
ul, li, dl, dt, dd {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
vertical-align: baseline;
}
html {
line-height: 1.2;
font-family: Georgia, serif;
color: #1a1a1a;
}
p {
text-indent: 0;
margin: 1em 0;
widows: 2;
orphans: 2;
}
a, a:visited {
color: #1a1a1a;
}
img {
max-width: 100%;
}
sup {
vertical-align: super;
font-size: smaller;
}
sub {
vertical-align: sub;
font-size: smaller;
}
h1 {
margin: 3em 0 0 0;
font-size: 2em;
page-break-before: always;
line-height: 150%;
}
h2 {
margin: 1.5em 0 0 0;
font-size: 1.5em;
line-height: 135%;
}
h3 {
margin: 1.3em 0 0 0;
font-size: 1.3em;
}
h4 {
margin: 1.2em 0 0 0;
font-size: 1.2em;
}
h5 {
margin: 1.1em 0 0 0;
font-size: 1.1em;
}
h6 {
font-size: 1em;
}
h1, h2, h3, h4, h5, h6 {
text-indent: 0;
text-align: left;
font-weight: bold;
page-break-after: avoid;
page-break-inside: avoid;
}
ol, ul {
margin: 1em 0 0 1.7em;
}
li > ol, li > ul {
margin-top: 0;
}
blockquote {
margin: 1em 0 1em 1.7em;
}
code {
font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
font-size: 85%;
margin: 0;
hyphens: manual;
}
/*pre {*/
/* margin: 1em 0;*/
/* overflow: auto;*/
/*}*/
pre code {
white-space: pre-wrap;
word-wrap: break-word;
background-color: #f5f5f5;
padding: 1em;
}
.sourceCode {
background-color: transparent;
overflow: visible;
}
hr {
background-color: #1a1a1a;
border: none;
height: 1px;
margin: 1em 0;
}
table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
}
table caption {
margin-bottom: 0.75em;
}
tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}
th, td {
padding: 0.25em 0.5em 0.25em 0.5em;
}
th {
border-top: 1px solid #1a1a1a;
}
header {
margin-bottom: 4em;
text-align: center;
}
#TOC li {
list-style: none;
}
#TOC ul {
padding-left: 1.3em;
}
#TOC > ul {
padding-left: 0;
}
#TOC a:not(:hover) {
text-decoration: none;
}
code {
white-space: pre-wrap;
}
span.smallcaps {
font-variant: small-caps;
}
/* This is the most compatible CSS, but it only allows two columns: */
div.column {
display: inline-block;
vertical-align: top;
width: 50%;
}
/* If you can rely on CSS3 support, use this instead: */
/* div.columns {
display: flex;
gap: min(4vw, 1.5em);
}
div.column {
flex: auto;
overflow-x: auto;
} */
div.hanging-indent {
margin-left: 1.5em;
text-indent: -1.5em;
}
ul.task-list {
list-style: none;
}
ul.task-list li input[type="checkbox"] {
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math {
display: block;
text-align: center;
margin: 0.5rem auto;
}
/* For title, author, and date on the cover page */
h1.title { }
p.author { }
p.date { }
nav#toc ol, nav#landmarks ol {
padding: 0;
margin-left: 1em;
}
nav#toc ol li, nav#landmarks ol li {
list-style-type: none;
margin: 0;
padding: 0;
}
a.footnote-ref {
vertical-align: super;
}
em, em em em, em em em em em {
font-style: italic;
}
em em, em em em em {
font-style: normal;
}
q {
quotes: "“" "”" "" "";
}
@media screen { /* Workaround for iBooks issue; see #6242 */
.sourceCode {
overflow: visible !important;
white-space: pre-wrap !important;
}
}

1
js/katex.min.css vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
js/prism-sql.min.js vendored
View File

@@ -1 +0,0 @@
Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/};

View File

@@ -1 +0,0 @@
!function(e){var n=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,t="(?:"+r.source+"(?:[ \t]+"+n.source+")?|"+n.source+"(?:[ \t]+"+r.source+")?)",a="(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*".replace(/<PLAIN>/g,(function(){return"[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]"})),d="\"(?:[^\"\\\\\r\n]|\\\\.)*\"|'(?:[^'\\\\\r\n]|\\\\.)*'";function o(e,n){n=(n||"").replace(/m/g,"")+"m";var r="([:\\-,[{]\\s*(?:\\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\\]|\\}|(?:[\r\n]\\s*)?#))".replace(/<<prop>>/g,(function(){return t})).replace(/<<value>>/g,(function(){return e}));return RegExp(r,n)}e.languages.yaml={scalar:{pattern:RegExp("([\\-:]\\s*(?:\\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\\S[^\r\n]*(?:\\2[^\r\n]+)*)".replace(/<<prop>>/g,(function(){return t}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp("((?:^|[:\\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\\s*:\\s)".replace(/<<prop>>/g,(function(){return t})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+d+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o("\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?"),lookbehind:!0,alias:"number"},boolean:{pattern:o("false|true","i"),lookbehind:!0,alias:"important"},null:{pattern:o("null|~","i"),lookbehind:!0,alias:"important"},string:{pattern:o(d),lookbehind:!0,greedy:!0},number:{pattern:o("[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)","i"),lookbehind:!0},tag:r,important:n,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism);

1
js/search.min.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,13 +0,0 @@
title:
- type: main
text: 设计数据密集型应用
- type: subtitle
text: 可靠、可扩展、可维护的系统
creator:
- role: author
name: Martin Kleppmann
rights: Creative Commons Non-Commercial Share Alike 3.0
language: 中文
cover-image: ./img/title.png

BIN
static/img/featured.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB