@umacloud/knowledge 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/00-governance/governance-capabilities.md +557 -0
  2. package/00-governance/knowledge-map.md +39 -0
  3. package/00-governance/maintenance-policy.md +76 -0
  4. package/00-governance/review-checklist.md +81 -0
  5. package/README.md +13 -0
  6. package/ai/01-standards/agent-development-complete.md +691 -0
  7. package/ai/01-standards/llm-application-complete.md +488 -0
  8. package/ai/01-standards/mlops-complete.md +798 -0
  9. package/ai/01-standards/prompt-engineering-complete.md +646 -0
  10. package/ai/01-standards/rag-architecture-complete.md +649 -0
  11. package/ai/02-playbooks/llm-evaluation-playbook.md +847 -0
  12. package/ai/03-checklists/ai-project-checklist.md +215 -0
  13. package/ai/04-antipatterns/ai-antipatterns.md +661 -0
  14. package/ai/05-cases/case-rag-production.md +147 -0
  15. package/ai/06-glossary/ai-glossary.md +162 -0
  16. package/ai/agent-evaluation-benchmark.md +53 -0
  17. package/ai/ai-agent-memory-context-management.md +41 -0
  18. package/ai/ai-cost-capacity-optimization-playbook.md +42 -0
  19. package/ai/ai-data-security-and-compliance-playbook.md +37 -0
  20. package/ai/ai-domain-index-and-checklist.md +40 -0
  21. package/ai/ai-governance-maturity-model.md +50 -0
  22. package/ai/ai-model-selection-and-routing-strategy.md +47 -0
  23. package/ai/ai-observability-and-oncall-runbook.md +52 -0
  24. package/ai/ai-rag-engineering-playbook.md +42 -0
  25. package/ai/ai-red-team-and-safety-evaluation.md +42 -0
  26. package/ai/ai-release-readiness-and-rollback-gate.md +42 -0
  27. package/ai/llm-agent-engineering-deep-dive.md +57 -0
  28. package/ai/prompt-and-tool-guardrails.md +52 -0
  29. package/api/01-standards/enterprise-api-standards.md +198 -0
  30. package/api/01-standards/rest-api-design-guide.md +63 -0
  31. package/api/02-playbooks/api-pagination-playbook.md +93 -0
  32. package/api/02-playbooks/graphql-production-playbook.md +176 -0
  33. package/api/03-checklists/api-review-checklist.md +55 -0
  34. package/api/04-antipatterns/api-antipatterns.md +112 -0
  35. package/architecture/01-standards/api-gateway-patterns.md +496 -0
  36. package/architecture/01-standards/cloud-native-patterns.md +644 -0
  37. package/architecture/01-standards/distributed-systems-patterns.md +591 -0
  38. package/architecture/01-standards/event-driven-architecture.md +595 -0
  39. package/architecture/01-standards/microservices-patterns-complete.md +968 -0
  40. package/architecture/01-standards/microservices-patterns.md +495 -0
  41. package/architecture/01-standards/system-design-interview.md +664 -0
  42. package/architecture/02-playbooks/microservices-patterns-playbook.md +137 -0
  43. package/architecture/02-playbooks/migration-playbook.md +780 -0
  44. package/architecture/02-playbooks/system-design-playbook.md +779 -0
  45. package/architecture/03-checklists/architecture-decision-checklist.md +297 -0
  46. package/architecture/04-antipatterns/architecture-antipatterns.md +417 -0
  47. package/architecture/05-cases/case-netflix-microservices.md +413 -0
  48. package/architecture/06-glossary/architecture-glossary.md +164 -0
  49. package/architecture/adr-template-and-examples.md +38 -0
  50. package/architecture/api-gateway-deep-dive.md +1291 -0
  51. package/architecture/configuration-management.md +1162 -0
  52. package/architecture/distributed-transactions.md +1220 -0
  53. package/architecture/microservices-complete.md +735 -0
  54. package/architecture/resilience-and-disaster-patterns.md +37 -0
  55. package/architecture/service-governance.md +1198 -0
  56. package/architecture/system-architecture-deep-dive.md +37 -0
  57. package/backend/01-standards/analytics-and-growth.md +65 -0
  58. package/backend/01-standards/api-and-error-conventions.md +120 -0
  59. package/backend/01-standards/application-layering-and-packaging.md +160 -0
  60. package/backend/01-standards/auth-implementation.md +104 -0
  61. package/backend/01-standards/backend-framework-idioms.md +74 -0
  62. package/backend/01-standards/background-jobs-and-async.md +66 -0
  63. package/backend/01-standards/caching-strategies-complete.md +390 -0
  64. package/backend/01-standards/config-and-observability.md +77 -0
  65. package/backend/01-standards/data-modeling-and-persistence.md +94 -0
  66. package/backend/01-standards/django-complete.md +1765 -0
  67. package/backend/01-standards/email-and-notifications.md +64 -0
  68. package/backend/01-standards/fastapi-complete.md +925 -0
  69. package/backend/01-standards/file-upload-and-storage.md +66 -0
  70. package/backend/01-standards/graphql-api-complete.md +416 -0
  71. package/backend/01-standards/llm-application-standard.md +78 -0
  72. package/backend/01-standards/message-queue-patterns.md +379 -0
  73. package/backend/01-standards/microservices-and-distributed.md +78 -0
  74. package/backend/01-standards/nestjs-complete.md +2167 -0
  75. package/backend/01-standards/payment-integration.md +80 -0
  76. package/backend/01-standards/rate-limiting-complete.md +451 -0
  77. package/backend/01-standards/realtime-and-websocket.md +65 -0
  78. package/backend/01-standards/search-and-filtering.md +64 -0
  79. package/backend/01-standards/spring-boot-complete.md +445 -0
  80. package/backend/02-playbooks/api-design-playbook.md +718 -0
  81. package/backend/02-playbooks/email-send-playbook.md +130 -0
  82. package/backend/02-playbooks/file-upload-s3-playbook.md +153 -0
  83. package/backend/02-playbooks/typescript-enterprise-playbook.md +133 -0
  84. package/backend/02-playbooks/websocket-realtime-playbook.md +154 -0
  85. package/backend/03-checklists/api-launch-checklist.md +189 -0
  86. package/backend/04-antipatterns/backend-antipatterns.md +1051 -0
  87. package/blockchain/01-standards/blockchain-basics.md +557 -0
  88. package/blockchain/01-standards/smart-contract-development.md +1315 -0
  89. package/cicd/01-standards/deployment-and-delivery-standard.md +96 -0
  90. package/cicd/01-standards/github-actions-complete.md +473 -0
  91. package/cicd/01-standards/release-and-store-submission.md +75 -0
  92. package/cicd/02-playbooks/cicd-pipeline-playbook.md +144 -0
  93. package/cicd/02-playbooks/release-management-playbook.md +605 -0
  94. package/cicd/03-checklists/pipeline-security-checklist.md +168 -0
  95. package/cicd/04-antipatterns/cicd-antipatterns.md +589 -0
  96. package/cicd/05-cases/case-deployment-automation.md +221 -0
  97. package/cicd/05-cases/case-gitops-transformation.md +212 -0
  98. package/cicd/06-glossary/cicd-glossary.md +114 -0
  99. package/cicd/cicd-blueprint-deep-dive.md +38 -0
  100. package/cicd/release-readiness-gate.md +37 -0
  101. package/cloud-native/01-standards/container-security.md +741 -0
  102. package/cloud-native/01-standards/kubernetes-complete.md +812 -0
  103. package/cloud-native/02-playbooks/api-gateway-playbook.md +155 -0
  104. package/cloud-native/02-playbooks/gitops-with-argocd.md +760 -0
  105. package/cloud-native/02-playbooks/k8s-troubleshooting-playbook.md +1942 -0
  106. package/cloud-native/02-playbooks/message-queue-playbook.md +129 -0
  107. package/cloud-native/02-playbooks/multicloud-governance.md +726 -0
  108. package/cloud-native/02-playbooks/serverless-patterns.md +788 -0
  109. package/cloud-native/02-playbooks/service-mesh-playbook.md +612 -0
  110. package/cloud-native/02-playbooks/terraform-iac-playbook.md +143 -0
  111. package/cloud-native/03-checklists/container-security-checklist.md +431 -0
  112. package/cloud-native/03-checklists/k8s-production-readiness-checklist.md +460 -0
  113. package/cloud-native/04-antipatterns/container-antipatterns.md +660 -0
  114. package/cloud-native/04-antipatterns/k8s-antipatterns.md +743 -0
  115. package/cloud-native/05-cases/case-k8s-migration.md +478 -0
  116. package/cloud-native/05-cases/case-k8s-scaling.md +642 -0
  117. package/cloud-native/05-cases/case-k8s-security-incident.md +397 -0
  118. package/cloud-native/06-glossary/cloud-native-glossary.md +337 -0
  119. package/cross-platform/01-standards/cross-platform-frameworks.md +83 -0
  120. package/cross-platform/01-standards/platform-selection-and-architecture.md +77 -0
  121. package/data/01-standards/elasticsearch-complete.md +2098 -0
  122. package/data/01-standards/postgresql-complete.md +1613 -0
  123. package/data/01-standards/redis-complete.md +1527 -0
  124. package/data/02-playbooks/database-optimization-playbook.md +403 -0
  125. package/data/02-playbooks/elasticsearch-production-playbook.md +132 -0
  126. package/data/03-checklists/database-launch-checklist.md +187 -0
  127. package/data/04-antipatterns/database-antipatterns.md +873 -0
  128. package/data/05-cases/case-database-migration.md +310 -0
  129. package/data/06-glossary/database-glossary.md +440 -0
  130. package/data/data-governance-and-modeling-deep-dive.md +39 -0
  131. package/data-engineering/01-standards/airflow-complete.md +523 -0
  132. package/data-engineering/01-standards/kafka-complete.md +1521 -0
  133. package/data-engineering/02-playbooks/spark-etl-playbook.md +496 -0
  134. package/data-engineering/03-checklists/pipeline-launch-checklist.md +194 -0
  135. package/data-engineering/04-antipatterns/data-pipeline-antipatterns.md +684 -0
  136. package/data-engineering/05-cases/case-real-time-pipeline.md +355 -0
  137. package/data-engineering/06-glossary/data-engineering-glossary.md +429 -0
  138. package/database/01-standards/database-schema-standards.md +147 -0
  139. package/database/02-playbooks/postgresql-optimization-quick.md +52 -0
  140. package/database/02-playbooks/postgresql-performance-optimization.md +58 -0
  141. package/database/02-playbooks/postgresql-production-playbook.md +146 -0
  142. package/database/02-playbooks/redis-caching-playbook.md +117 -0
  143. package/database/03-checklists/database-review-checklist.md +50 -0
  144. package/database/04-antipatterns/database-antipatterns.md +112 -0
  145. package/design/01-standards/ui-design-system-complete.md +423 -0
  146. package/design/02-playbooks/design-handoff-playbook.md +254 -0
  147. package/design/02-playbooks/design-review-playbook.md +388 -0
  148. package/design/03-checklists/design-review-checklist.md +246 -0
  149. package/design/04-antipatterns/design-antipatterns.md +378 -0
  150. package/design/05-cases/case-design-system-adoption.md +328 -0
  151. package/design/06-glossary/design-glossary.md +329 -0
  152. package/design/ui-full-lifecycle-cross-platform-playbook.md +571 -0
  153. package/design/ux-system-deep-dive.md +38 -0
  154. package/design-systems/00-craft-rules.md +71 -0
  155. package/design-systems/aesthetic-families.md +43 -0
  156. package/design-systems/anti-ai-slop.md +162 -0
  157. package/design-systems/bold-geometric.md +120 -0
  158. package/design-systems/brutalist-bold.md +103 -0
  159. package/design-systems/editorial-clean.md +109 -0
  160. package/design-systems/glass-aurora.md +108 -0
  161. package/design-systems/modern-minimal.md +145 -0
  162. package/design-systems/premium-luxury.md +106 -0
  163. package/design-systems/product-type-design-map.md +48 -0
  164. package/design-systems/soft-warm.md +123 -0
  165. package/design-systems/tech-utility.md +113 -0
  166. package/desktop/01-standards/desktop-app-standard.md +72 -0
  167. package/desktop/01-standards/desktop-design.md +71 -0
  168. package/development/00-governance/document-template.md +41 -0
  169. package/development/01-standards/api-versioning-strategies.md +432 -0
  170. package/development/01-standards/authentication-patterns-complete.md +479 -0
  171. package/development/01-standards/css-architecture-complete.md +550 -0
  172. package/development/01-standards/database-migration-strategies.md +484 -0
  173. package/development/01-standards/elasticsearch-complete.md +347 -0
  174. package/development/01-standards/git-complete.md +371 -0
  175. package/development/01-standards/golang-complete.md +1565 -0
  176. package/development/01-standards/graphql-complete.md +298 -0
  177. package/development/01-standards/javascript-bundlers-complete.md +469 -0
  178. package/development/01-standards/javascript-typescript-complete.md +528 -0
  179. package/development/01-standards/jest-complete.md +275 -0
  180. package/development/01-standards/linux-complete.md +234 -0
  181. package/development/01-standards/logging-observability-complete.md +526 -0
  182. package/development/01-standards/microservices-communication.md +502 -0
  183. package/development/01-standards/mongodb-complete.md +406 -0
  184. package/development/01-standards/oauth2-complete.md +285 -0
  185. package/development/01-standards/performance-optimization-complete.md +289 -0
  186. package/development/01-standards/playwright-complete.md +247 -0
  187. package/development/01-standards/postgresql-complete.md +456 -0
  188. package/development/01-standards/pytest-complete.md +340 -0
  189. package/development/01-standards/python-async-programming.md +902 -0
  190. package/development/01-standards/python-complete.md +956 -0
  191. package/development/01-standards/python-decorators-complete.md +799 -0
  192. package/development/01-standards/python-design-patterns.md +2854 -0
  193. package/development/01-standards/python-packaging-distribution.md +420 -0
  194. package/development/01-standards/python-testing-strategies.md +607 -0
  195. package/development/01-standards/python-web-frameworks-comparison.md +471 -0
  196. package/development/01-standards/redis-complete.md +317 -0
  197. package/development/01-standards/rest-api-complete.md +316 -0
  198. package/development/01-standards/rust-complete.md +578 -0
  199. package/development/01-standards/typescript-advanced-types.md +1513 -0
  200. package/development/01-standards/web-security-complete.md +292 -0
  201. package/development/02-playbooks/api-design-playbook.md +810 -0
  202. package/development/02-playbooks/database-migration-playbook.md +580 -0
  203. package/development/02-playbooks/debugging-playbook.md +692 -0
  204. package/development/02-playbooks/feature-delivery-playbook.md +430 -0
  205. package/development/02-playbooks/incident-hotfix-playbook.md +387 -0
  206. package/development/02-playbooks/performance-optimization-playbook.md +531 -0
  207. package/development/02-playbooks/performance-tuning-playbook.md +652 -0
  208. package/development/02-playbooks/refactor-playbook.md +403 -0
  209. package/development/02-playbooks/release-playbook.md +469 -0
  210. package/development/03-checklists/architecture-review-checklist.md +168 -0
  211. package/development/03-checklists/data-migration-checklist.md +157 -0
  212. package/development/03-checklists/oncall-handover-checklist.md +173 -0
  213. package/development/03-checklists/pr-checklist.md +158 -0
  214. package/development/03-checklists/production-readiness-checklist.md +190 -0
  215. package/development/03-checklists/release-readiness-checklist.md +154 -0
  216. package/development/03-checklists/security-review-checklist.md +182 -0
  217. package/development/04-antipatterns/api-antipatterns.md +657 -0
  218. package/development/04-antipatterns/architecture-antipatterns.md +686 -0
  219. package/development/04-antipatterns/backend-antipatterns.md +648 -0
  220. package/development/04-antipatterns/cicd-antipatterns.md +540 -0
  221. package/development/04-antipatterns/code-smell-antipatterns.md +571 -0
  222. package/development/04-antipatterns/data-antipatterns.md +658 -0
  223. package/development/04-antipatterns/database-antipatterns.md +578 -0
  224. package/development/04-antipatterns/frontend-antipatterns.md +635 -0
  225. package/development/04-antipatterns/reliability-antipatterns.md +700 -0
  226. package/development/04-antipatterns/security-antipatterns.md +747 -0
  227. package/development/05-cases/case-api-version-migration.md +428 -0
  228. package/development/05-cases/case-authorization-hardening.md +383 -0
  229. package/development/05-cases/case-bluegreen-rollback.md +466 -0
  230. package/development/05-cases/case-cache-snowball-protection.md +485 -0
  231. package/development/05-cases/case-ci-cd-pipeline.md +544 -0
  232. package/development/05-cases/case-database-scaling.md +500 -0
  233. package/development/05-cases/case-db-hotspot-optimization.md +487 -0
  234. package/development/05-cases/case-incident-mttr-reduction.md +563 -0
  235. package/development/05-cases/case-microservice-migration.md +375 -0
  236. package/development/05-cases/case-performance-optimization.md +406 -0
  237. package/development/05-cases/case-security-incident-response.md +345 -0
  238. package/development/06-glossary/full-stack-glossary.md +166 -0
  239. package/development/09-maturity/quarterly-audit-template.md +35 -0
  240. package/development/11-ui-excellence/ui-aesthetic-system.md +41 -0
  241. package/development/11-ui-excellence/ui-engineering-excellence.md +435 -0
  242. package/development/12-scenarios/development-scenarios-guide.md +565 -0
  243. package/development/13-implementation-assets/implementation-toolkit.md +282 -0
  244. package/development/13-implementation-assets/knowledge-gates-execution.md +43 -0
  245. package/development/14-full-lifecycle/software-lifecycle-gates.md +511 -0
  246. package/development/15-lifecycle-templates/project-templates-collection.md +791 -0
  247. package/development/api-contract-and-versioning-guide.md +36 -0
  248. package/development/api-governance-complete.md +43 -0
  249. package/development/backend-engineering-complete.md +43 -0
  250. package/development/code-review-quality-complete.md +43 -0
  251. package/development/concurrency-reliability-complete.md +43 -0
  252. package/development/database-engineering-complete.md +43 -0
  253. package/development/engineering-effectiveness-complete.md +43 -0
  254. package/development/engineering-standards-deep-dive.md +38 -0
  255. package/development/frontend-engineering-complete.md +43 -0
  256. package/development/performance-capacity-complete.md +43 -0
  257. package/development/refactor-migration-complete.md +42 -0
  258. package/development/refactoring-and-techdebt-playbook.md +37 -0
  259. package/development/security-in-development-complete.md +43 -0
  260. package/devops/01-standards/cicd-pipeline-complete.md +262 -0
  261. package/devops/01-standards/docker-complete.md +1490 -0
  262. package/devops/01-standards/github-actions-complete.md +337 -0
  263. package/devops/01-standards/kubernetes-complete.md +638 -0
  264. package/devops/01-standards/terraform-complete.md +2117 -0
  265. package/devops/02-playbooks/docker-compose-playbook.md +233 -0
  266. package/devops/02-playbooks/docker-k8s-production-playbook.md +186 -0
  267. package/devops/02-playbooks/docker-production-playbook.md +952 -0
  268. package/edge-iot/01-standards/edge-iot-complete.md +473 -0
  269. package/experts/architect/api-design.md +178 -0
  270. package/experts/architect/methodology.md +124 -0
  271. package/experts/architect/security.md +75 -0
  272. package/experts/backend-lead/methodology.md +216 -0
  273. package/experts/devops/methodology.md +160 -0
  274. package/experts/frontend-lead/methodology.md +178 -0
  275. package/experts/product-manager/industry/ecommerce.md +43 -0
  276. package/experts/product-manager/industry/saas.md +40 -0
  277. package/experts/product-manager/methodology.md +97 -0
  278. package/experts/qa-lead/methodology.md +123 -0
  279. package/experts/qa-lead/test-strategy.md +128 -0
  280. package/experts/uiux-designer/methodology.md +125 -0
  281. package/frontend/01-standards/accessibility-complete.md +532 -0
  282. package/frontend/01-standards/accessibility-standard.md +74 -0
  283. package/frontend/01-standards/admin-dashboard-and-crud.md +72 -0
  284. package/frontend/01-standards/design-tokens-complete.md +444 -0
  285. package/frontend/01-standards/forms-and-validation.md +77 -0
  286. package/frontend/01-standards/frontend-architecture-and-layering.md +119 -0
  287. package/frontend/01-standards/i18n-and-localization.md +65 -0
  288. package/frontend/01-standards/nextjs-complete.md +451 -0
  289. package/frontend/01-standards/react-complete.md +713 -0
  290. package/frontend/01-standards/react-hooks-complete-guide.md +1100 -0
  291. package/frontend/01-standards/react-hooks-complete.md +1171 -0
  292. package/frontend/01-standards/seo-and-web-vitals.md +77 -0
  293. package/frontend/01-standards/state-management-complete.md +444 -0
  294. package/frontend/01-standards/vue-complete.md +499 -0
  295. package/frontend/01-standards/vue3-complete.md +2002 -0
  296. package/frontend/01-standards/web-framework-best-practices.md +64 -0
  297. package/frontend/01-standards/web-performance-complete.md +495 -0
  298. package/frontend/02-playbooks/accessibility-a11y-playbook.md +161 -0
  299. package/frontend/02-playbooks/frontend-performance-playbook.md +707 -0
  300. package/frontend/02-playbooks/i18n-internationalization-playbook.md +120 -0
  301. package/frontend/02-playbooks/performance-optimization-playbook.md +163 -0
  302. package/frontend/02-playbooks/react-nextjs-production-playbook.md +167 -0
  303. package/frontend/02-playbooks/react-state-management-playbook.md +173 -0
  304. package/frontend/03-checklists/component-quality-checklist.md +166 -0
  305. package/frontend/03-checklists/frontend-launch-checklist.md +299 -0
  306. package/frontend/04-antipatterns/frontend-antipatterns.md +886 -0
  307. package/frontend/05-cases/case-performance-optimization.md +274 -0
  308. package/harmony/01-standards/harmonyos-arkts-standard.md +75 -0
  309. package/harmony/01-standards/harmonyos-design.md +65 -0
  310. package/high-quality-engineering-playbook.md +54 -0
  311. package/incident/01-standards/incident-response-complete.md +303 -0
  312. package/incident/02-playbooks/chaos-engineering-playbook.md +883 -0
  313. package/incident/02-playbooks/postmortem-playbook.md +398 -0
  314. package/incident/03-checklists/incident-readiness-checklist.md +181 -0
  315. package/incident/04-antipatterns/incident-antipatterns.md +490 -0
  316. package/incident/05-cases/case-cascade-failure.md +176 -0
  317. package/incident/06-glossary/incident-glossary.md +114 -0
  318. package/incident/postmortem-and-response-deep-dive.md +39 -0
  319. package/industries/ecommerce/ecommerce-complete.md +631 -0
  320. package/industries/education/education-complete.md +555 -0
  321. package/industries/fintech/fintech-complete.md +501 -0
  322. package/industries/gaming/gaming-complete.md +587 -0
  323. package/industries/healthcare/healthcare-complete.md +452 -0
  324. package/low-code/01-standards/low-code-complete.md +944 -0
  325. package/miniprogram/01-standards/ai-common-mistakes.md +61 -0
  326. package/miniprogram/01-standards/miniprogram-custom-navbar-capsule.md +77 -0
  327. package/miniprogram/01-standards/miniprogram-design.md +61 -0
  328. package/miniprogram/01-standards/miniprogram-standard.md +81 -0
  329. package/mobile/01-standards/android-material-design.md +70 -0
  330. package/mobile/01-standards/flutter-complete.md +384 -0
  331. package/mobile/01-standards/ios-design-hig.md +78 -0
  332. package/mobile/01-standards/mobile-app-standard.md +85 -0
  333. package/mobile/01-standards/react-native-complete.md +352 -0
  334. package/mobile/02-playbooks/mobile-cross-platform-playbook.md +175 -0
  335. package/mobile/02-playbooks/mobile-performance.md +473 -0
  336. package/mobile/03-checklists/mobile-release-checklist.md +234 -0
  337. package/mobile/04-antipatterns/mobile-antipatterns.md +798 -0
  338. package/mobile/05-cases/case-app-performance.md +500 -0
  339. package/mobile/05-cases/case-app-startup-optimization.md +218 -0
  340. package/mobile/06-glossary/mobile-glossary.md +484 -0
  341. package/observability/01-standards/observability-standards.md +103 -0
  342. package/observability/02-playbooks/prometheus-grafana-playbook.md +135 -0
  343. package/observability/02-playbooks/structured-logging-playbook.md +73 -0
  344. package/observability/03-checklists/observability-checklist.md +54 -0
  345. package/observability/04-antipatterns/observability-antipatterns.md +106 -0
  346. package/operations/01-standards/prometheus-monitoring-complete.md +1578 -0
  347. package/operations/02-playbooks/capacity-planning-playbook.md +620 -0
  348. package/operations/03-checklists/production-launch-checklist.md +365 -0
  349. package/operations/04-antipatterns/operations-antipatterns.md +664 -0
  350. package/operations/05-cases/case-sre-practices.md +581 -0
  351. package/operations/06-glossary/operations-glossary.md +120 -0
  352. package/operations/aiops-anomaly-detection.md +758 -0
  353. package/operations/capacity-planning.md +1061 -0
  354. package/operations/chaos-engineering.md +659 -0
  355. package/operations/incident-command-system.md +38 -0
  356. package/operations/observability-complete.md +442 -0
  357. package/operations/slo-sli-playbook.md +517 -0
  358. package/operations/sre-operations-deep-dive.md +39 -0
  359. package/package.json +8 -0
  360. package/performance/01-standards/performance-and-scalability.md +80 -0
  361. package/performance/01-standards/performance-standards.md +156 -0
  362. package/performance/02-playbooks/query-optimization-playbook.md +103 -0
  363. package/performance/03-checklists/performance-checklist.md +56 -0
  364. package/performance/04-antipatterns/performance-antipatterns.md +146 -0
  365. package/product/01-standards/product-management-complete.md +285 -0
  366. package/product/02-playbooks/feature-launch-playbook.md +207 -0
  367. package/product/02-playbooks/user-research-playbook.md +532 -0
  368. package/product/03-checklists/feature-launch-checklist.md +275 -0
  369. package/product/04-antipatterns/product-antipatterns.md +355 -0
  370. package/product/05-cases/case-mvp-to-scale.md +384 -0
  371. package/product/06-glossary/product-glossary.md +462 -0
  372. package/product/feature-prioritization-framework.md +40 -0
  373. package/product/kpi-and-metric-tree.md +37 -0
  374. package/product/product-discovery-and-prd-deep-dive.md +41 -0
  375. package/quantum/01-standards/quantum-complete.md +1186 -0
  376. package/security/01-standards/api-security-complete.md +511 -0
  377. package/security/01-standards/container-runtime-security.md +574 -0
  378. package/security/01-standards/data-protection-gdpr.md +543 -0
  379. package/security/01-standards/owasp-top10-complete.md +1890 -0
  380. package/security/01-standards/secure-coding-baseline.md +90 -0
  381. package/security/01-standards/supply-chain-security.md +441 -0
  382. package/security/01-standards/web-security-checklist.md +108 -0
  383. package/security/01-standards/zero-trust-architecture.md +521 -0
  384. package/security/02-playbooks/auth-sso-playbook.md +166 -0
  385. package/security/02-playbooks/incident-response-security-playbook.md +588 -0
  386. package/security/02-playbooks/owasp-api-security-playbook.md +129 -0
  387. package/security/02-playbooks/payment-integration-playbook.md +119 -0
  388. package/security/02-playbooks/penetration-testing-playbook.md +517 -0
  389. package/security/03-checklists/security-audit-checklist.md +356 -0
  390. package/security/04-antipatterns/security-coding-antipatterns.md +580 -0
  391. package/security/05-cases/case-log4shell-incident.md +537 -0
  392. package/security/05-cases/case-major-breaches.md +468 -0
  393. package/security/06-glossary/security-glossary.md +212 -0
  394. package/security/compliance-automation.md +993 -0
  395. package/security/container-security.md +680 -0
  396. package/security/devsecops-complete.md +426 -0
  397. package/security/sast-dast-sca.md +775 -0
  398. package/security/secrets-management.md +594 -0
  399. package/security/security-architecture-deep-dive.md +37 -0
  400. package/security/threat-modeling-stride-playbook.md +40 -0
  401. package/seed-templates/auth-system.md +59 -0
  402. package/seed-templates/blog-content.md +94 -0
  403. package/seed-templates/dashboard.md +89 -0
  404. package/seed-templates/docs-site.md +73 -0
  405. package/seed-templates/e-commerce.md +50 -0
  406. package/seed-templates/saas-landing.md +92 -0
  407. package/seed-templates/settings-page.md +51 -0
  408. package/testing/01-standards/test-strategy-and-layering.md +83 -0
  409. package/testing/01-standards/testing-strategy-complete.md +422 -0
  410. package/testing/01-standards/unit-testing-best-practices.md +118 -0
  411. package/testing/02-playbooks/e2e-testing-playbook.md +988 -0
  412. package/testing/02-playbooks/testing-strategy-playbook.md +126 -0
  413. package/testing/03-checklists/test-strategy-checklist.md +208 -0
  414. package/testing/04-antipatterns/testing-antipatterns.md +718 -0
  415. package/testing/05-cases/case-testing-transformation.md +300 -0
  416. package/testing/06-glossary/testing-glossary.md +110 -0
  417. package/testing/risk-based-test-matrix.md +36 -0
  418. package/testing/testing-strategy-deep-dive.md +37 -0
@@ -0,0 +1,440 @@
1
+ ---
2
+ id: database-glossary
3
+ title: 数据库术语表 (Database Glossary)
4
+ domain: data
5
+ category: 06-glossary
6
+ difficulty: intermediate
7
+ tags: [agent, checklist, data, database, glossary, 事务与一致性模型, 分布式架构, 数据类型与特性]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # 数据库术语表 (Database Glossary)
12
+
13
+ > 收录 50+ 核心数据库术语,覆盖事务模型、存储引擎、索引结构、分布式架构、查询优化、运维管理等领域。
14
+ > 适用于架构评审、数据库选型、团队培训、Code Review 等场景。
15
+
16
+ ---
17
+
18
+ ## 事务与一致性模型
19
+
20
+ ### ACID (Atomicity, Consistency, Isolation, Durability)
21
+
22
+ 关系型数据库事务的四大特性:
23
+
24
+ - **原子性 (Atomicity)**:事务中的操作全部成功或全部回滚,不存在部分完成
25
+ - **一致性 (Consistency)**:事务前后数据满足所有约束(外键、唯一性、CHECK 约束等)
26
+ - **隔离性 (Isolation)**:并发事务互不干扰,效果等同于串行执行
27
+ - **持久性 (Durability)**:已提交事务的结果永久保存,即使系统崩溃也不丢失
28
+
29
+ PostgreSQL 和 MySQL InnoDB 完整支持 ACID。NoSQL 数据库通常只提供部分 ACID 保证。
30
+
31
+ ### BASE (Basically Available, Soft state, Eventually consistent)
32
+
33
+ 分布式系统中 ACID 的替代模型,是 CAP 定理下的务实选择:
34
+
35
+ - **基本可用 (Basically Available)**:系统保证可用性,但可能返回降级的响应
36
+ - **软状态 (Soft state)**:允许系统中间状态暂时不一致
37
+ - **最终一致 (Eventually consistent)**:经过一段时间后,所有副本达到一致
38
+
39
+ 常见于 NoSQL 数据库(Cassandra、DynamoDB)和微服务架构。适合对一致性要求不高但对可用性要求极高的场景。
40
+
41
+ ### CAP 定理 (Consistency, Availability, Partition tolerance)
42
+
43
+ 分布式系统中三者最多只能同时满足两个:
44
+
45
+ - **一致性 (C)**:所有节点在同一时刻看到相同的数据
46
+ - **可用性 (A)**:每个请求都能收到非错误的响应
47
+ - **分区容错 (P)**:网络分区发生时系统仍能正常运行
48
+
49
+ 由于网络分区不可避免(P 必须满足),实际选择在 CP 和 AP 之间:
50
+ - **CP 系统**:ZooKeeper、etcd、HBase -- 网络分区时拒绝服务以保证一致性
51
+ - **AP 系统**:Cassandra、DynamoDB、CouchDB -- 网络分区时继续服务但可能返回过时数据
52
+
53
+ ### MVCC (Multi-Version Concurrency Control)
54
+
55
+ 多版本并发控制。通过为每行数据维护多个版本(带时间戳或事务 ID),使读操作不阻塞写操作、写操作不阻塞读操作。是数据库实现高并发的核心机制。
56
+
57
+ - **PostgreSQL**:使用 xmin/xmax 标记行的创建和删除事务 ID,旧版本保留在原表中,由 VACUUM 清理
58
+ - **MySQL InnoDB**:使用 undo log 维护旧版本,通过 ReadView 决定事务可见的数据版本
59
+
60
+ ### WAL (Write-Ahead Logging)
61
+
62
+ 预写日志。核心思想:在修改数据页之前,先将变更记录写入顺序日志文件。
63
+
64
+ - **崩溃恢复**:通过重放 WAL 日志将数据库恢复到一致状态
65
+ - **流复制**:PostgreSQL 的 WAL 发送到副本节点实现数据同步
66
+ - **PITR**:通过 WAL 归档实现时间点恢复
67
+
68
+ MySQL 的等价物是 redo log(InnoDB)和 binlog(Server 层)。
69
+
70
+ ### 事务隔离级别 (Transaction Isolation Level)
71
+
72
+ 控制并发事务之间可见性的四个级别,从低到高:
73
+
74
+ 1. **Read Uncommitted(读未提交)**:可以读到其他事务未提交的数据(脏读),几乎不使用
75
+ 2. **Read Committed(读已提交)**:只能读到已提交的数据,PostgreSQL 默认级别
76
+ 3. **Repeatable Read(可重复读)**:同一事务内多次读取结果一致,MySQL InnoDB 默认级别
77
+ 4. **Serializable(串行化)**:完全串行执行,一致性最好但并发性能最差
78
+
79
+ 级别越高一致性越好,但并发性能越差。需要根据业务场景选择合适的级别。
80
+
81
+ ### 两阶段提交 (Two-Phase Commit / 2PC)
82
+
83
+ 分布式事务协议:
84
+
85
+ - **阶段一 (Prepare)**:协调者询问所有参与者是否可以提交
86
+ - **阶段二 (Commit/Abort)**:所有参与者都同意则提交,否则全部回滚
87
+
88
+ 存在阻塞和单点故障问题,实践中常被 Saga 模式替代。
89
+
90
+ ### Saga 模式 (Saga Pattern)
91
+
92
+ 将分布式事务拆分为一系列本地事务,每个本地事务有对应的补偿事务。前序事务成功则继续执行下一个,失败则逆序执行已完成事务的补偿。
93
+
94
+ 实现方式:
95
+ - **编排式 (Choreography)**:事件驱动,各服务监听事件自主决策
96
+ - **协调式 (Orchestration)**:中央协调者控制整个流程
97
+
98
+ ---
99
+
100
+ ## 索引与存储结构
101
+
102
+ ### B-tree (Balanced Tree)
103
+
104
+ 平衡多路搜索树,是关系型数据库最常用的索引结构。每个节点包含多个键值和子节点指针,所有叶子节点在同一层。支持等值查询、范围查询和排序。PostgreSQL 和 MySQL 的默认索引类型。时间复杂度 O(log N)。
105
+
106
+ ### B+ tree (B Plus Tree)
107
+
108
+ B-tree 的变体,核心差异:
109
+ - 所有数据只存储在叶子节点,内部节点只存储键值(导航用)
110
+ - 叶子节点通过双向链表相连,支持高效的范围扫描
111
+ - 内部节点可以容纳更多键值,树的高度更低
112
+
113
+ MySQL InnoDB 的聚簇索引和二级索引均使用 B+ tree。
114
+
115
+ ### LSM-tree (Log-Structured Merge-tree)
116
+
117
+ 日志结构合并树,针对写密集型场景优化的存储结构:
118
+
119
+ 1. 写入先进入内存的 MemTable(有序结构,如红黑树 / 跳表)
120
+ 2. MemTable 满后刷写为磁盘上有序的 SSTable(Sorted String Table)文件
121
+ 3. 后台合并(Compaction)多个 SSTable,减少文件数量和重复数据
122
+
123
+ 使用者:RocksDB、LevelDB、Cassandra、HBase、TiKV。写性能极高(顺序写),读性能通过 Bloom Filter 和多级缓存优化。
124
+
125
+ ### Bloom Filter (布隆过滤器)
126
+
127
+ 概率型数据结构,用于快速判断元素是否在集合中:
128
+
129
+ - **可能误判 (False Positive)**:判断"存在"时可能实际不存在
130
+ - **不会漏判 (No False Negative)**:判断"不存在"时一定不存在
131
+
132
+ 空间效率极高(每个元素仅需几个 bit)。数据库中的应用:
133
+ - LSM-tree 跳过不含目标键的 SSTable
134
+ - JOIN 优化(Bloom Join)
135
+ - 缓存穿透防护
136
+ - Redis 内置 Bloom Filter 模块
137
+
138
+ ### 哈希索引 (Hash Index)
139
+
140
+ 基于哈希表的索引结构。只支持等值查询(=),不支持范围查询和排序。查找时间 O(1)。PostgreSQL 支持哈希索引,MySQL Memory 引擎使用哈希索引。适用于精确匹配的高频查询场景(如按 session_id 查找)。
141
+
142
+ ### GiST (Generalized Search Tree)
143
+
144
+ 通用搜索树,PostgreSQL 的可扩展索引框架。支持多种数据类型的索引:
145
+ - 地理空间数据(PostGIS 的几何/地理类型)
146
+ - 全文搜索(tsvector)
147
+ - 范围类型(int4range、daterange)
148
+ - IP 地址(inet、cidr)
149
+ - 最近邻搜索(KNN)
150
+
151
+ ### GIN (Generalized Inverted Index)
152
+
153
+ 通用倒排索引,适合索引包含多个元素的值:
154
+ - 数组(`INTEGER[]`、`TEXT[]`)
155
+ - JSONB 文档
156
+ - 全文搜索的 tsvector
157
+
158
+ 一个索引条目指向包含该元素的所有行。GIN 索引构建较慢但查询快,适合读多写少的场景。
159
+
160
+ ### 聚簇索引 (Clustered Index)
161
+
162
+ 表数据按索引键的顺序物理存储。每张表只能有一个聚簇索引。MySQL InnoDB 的主键即为聚簇索引(如无显式主键则使用第一个 UNIQUE NOT NULL 索引,再无则自动生成 6 字节 row_id)。聚簇索引的范围扫描性能最优,因为相邻数据在物理上也相邻。
163
+
164
+ ### 覆盖索引 (Covering Index)
165
+
166
+ 索引包含查询所需的所有列,查询可以仅通过索引完成(Index Only Scan),无需回表读取数据页。大幅减少 I/O。
167
+
168
+ PostgreSQL 使用 `INCLUDE` 子句:`CREATE INDEX idx ON t (a) INCLUDE (b, c)`。MySQL 中将查询涉及的所有列都放入联合索引中也可达到覆盖索引效果。
169
+
170
+ ---
171
+
172
+ ## 分布式架构
173
+
174
+ ### Sharding (分片)
175
+
176
+ 将数据水平拆分到多个数据库实例中,每个实例持有数据的一个子集。分片键(Shard Key)决定数据如何分布。
177
+
178
+ 常见策略:
179
+ - **范围分片**:按 ID 范围或日期范围分片,易于范围查询但可能热点不均
180
+ - **哈希分片**:按哈希值取模分片,数据分布均匀但范围查询需扫描所有分片
181
+ - **目录分片**:通过查表路由,灵活但引入单点
182
+
183
+ 挑战:跨片查询、分片再均衡、分布式事务、全局唯一 ID 生成。
184
+
185
+ ### Replication (复制)
186
+
187
+ 将数据从主节点(Primary)同步到一个或多个副本节点(Replica):
188
+
189
+ - **同步复制**:主节点等待副本确认后才提交,数据零丢失但延迟高
190
+ - **异步复制**:主节点不等待副本确认,延迟低但主节点故障时可能丢最近数据
191
+ - **半同步复制**:至少一个副本确认后提交,平衡一致性和性能
192
+
193
+ ### Partitioning (分区)
194
+
195
+ 将单张大表按规则拆分为多个物理分区,逻辑上仍是一张表:
196
+
197
+ - **范围分区**:按日期、ID 范围分区,最常用于时序数据
198
+ - **列表分区**:按枚举值分区(如按地区、状态)
199
+ - **哈希分区**:按哈希值分区,数据均匀分布
200
+
201
+ PostgreSQL 原生支持声明式分区。好处:查询自动裁剪无关分区(Partition Pruning)、分区独立维护(VACUUM、备份、归档)。
202
+
203
+ ### 读写分离 (Read-Write Splitting)
204
+
205
+ 写操作发往主库,读操作发往只读副本。适用于读多写少(读写比 > 5:1)的场景。
206
+
207
+ 实现方式:应用层路由(代码控制)、中间件(ProxySQL、PgBouncer)、云服务内置(AWS RDS Read Replica)。需注意副本延迟导致的读不一致问题(写入后立刻读取可能读到旧数据)。
208
+
209
+ ### 一致性哈希 (Consistent Hashing)
210
+
211
+ 将数据和节点都映射到同一个哈希环上,数据被分配到顺时针方向最近的节点。节点增减时只影响相邻数据段,最小化数据迁移量。引入虚拟节点(Virtual Node)解决数据倾斜问题。
212
+
213
+ 使用者:DynamoDB、Cassandra、Redis Cluster(使用哈希槽变体)。
214
+
215
+ ### Raft (Raft Consensus Algorithm)
216
+
217
+ 分布式一致性算法,通过 Leader 选举和日志复制确保多个节点的数据一致。比 Paxos 更易理解和实现。
218
+
219
+ 核心流程:
220
+ 1. **Leader 选举**:节点超时未收到心跳则发起选举
221
+ 2. **日志追加**:Leader 接收写请求,复制日志到 Follower
222
+ 3. **提交确认**:多数节点确认后 Leader 提交并响应客户端
223
+
224
+ 使用者:etcd、CockroachDB、TiKV、Consul。
225
+
226
+ ---
227
+
228
+ ## 查询优化
229
+
230
+ ### Materialized View (物化视图)
231
+
232
+ 将查询结果预计算并存储为物理表。与普通视图不同,物化视图不在查询时实时计算,需要手动或定时刷新。适合复杂聚合查询、报表场景。
233
+
234
+ PostgreSQL 支持:
235
+ - `CREATE MATERIALIZED VIEW mv AS SELECT ...`
236
+ - `REFRESH MATERIALIZED VIEW CONCURRENTLY mv`(无锁刷新,需要唯一索引)
237
+
238
+ ### CTE (Common Table Expression)
239
+
240
+ 公用表表达式,使用 `WITH` 子句定义的命名临时结果集。提升复杂查询的可读性和可维护性。
241
+
242
+ - **普通 CTE**:PostgreSQL 12+ 中默认内联优化(与子查询等效)
243
+ - **递归 CTE**:`WITH RECURSIVE` 可用于树形结构查询(组织架构、分类树、BOM 展开)
244
+
245
+ ### Window Function (窗口函数)
246
+
247
+ 在不改变结果行数的前提下,对每行计算基于一组相关行(窗口)的聚合值:
248
+
249
+ - `ROW_NUMBER()`:行号(无并列)
250
+ - `RANK()` / `DENSE_RANK()`:排名(有/无间隔)
251
+ - `LAG()` / `LEAD()`:前后行的值
252
+ - `SUM() OVER()` / `AVG() OVER()`:累计/移动聚合
253
+ - `FIRST_VALUE()` / `LAST_VALUE()`:窗口内首尾值
254
+ - `NTILE(n)`:将行等分为 n 组
255
+
256
+ SQL 分析利器,避免自连接和相关子查询。
257
+
258
+ ### EXPLAIN (查询执行计划)
259
+
260
+ 数据库展示 SQL 查询的执行策略:选择哪些索引、JOIN 顺序和算法、过滤条件应用位置、预估和实际行数。
261
+
262
+ - `EXPLAIN`:显示预估执行计划
263
+ - `EXPLAIN ANALYZE`(PostgreSQL):实际执行并显示真实耗时和行数
264
+ - `EXPLAIN (ANALYZE, BUFFERS, FORMAT JSON)`:最详细的分析输出
265
+
266
+ 是 SQL 性能调优的核心工具,每条慢查询都应该先 EXPLAIN。
267
+
268
+ ### 查询计划缓存 (Query Plan Cache)
269
+
270
+ 数据库缓存已编译的查询计划,避免重复解析和优化。PostgreSQL 使用 Prepared Statement 触发计划缓存(前 5 次使用自定义计划,之后可能切换为通用计划)。MySQL 的 Query Cache 已在 8.0 中移除(因失效粒度太粗)。
271
+
272
+ ### 统计信息 (Statistics)
273
+
274
+ 数据库收集的表和列的数据分布信息:行数、不同值数量(n_distinct)、最常见值(most_common_vals)、直方图(histogram_bounds)等。供查询优化器选择最优执行计划。
275
+
276
+ - PostgreSQL 通过 `ANALYZE` 命令或 autovacuum 自动更新
277
+ - 统计信息过时可能导致优化器选择次优计划(如预估行数偏差大)
278
+ - `ALTER TABLE ... ALTER COLUMN ... SET STATISTICS 1000` 可提高统计精度
279
+
280
+ ---
281
+
282
+ ## 数据类型与特性
283
+
284
+ ### JSONB (JSON Binary)
285
+
286
+ PostgreSQL 的二进制 JSON 存储类型。与 JSON 类型不同,JSONB 解析后以二进制格式存储:
287
+
288
+ - 支持 GIN 索引,查询性能高
289
+ - 支持运算符:`->>` 取值、`@>` 包含、`?` 存在键、`#>` 路径取值
290
+ - 适合半结构化数据,替代 EAV 模式
291
+ - 不保留格式(空格、键顺序),去重重复键
292
+
293
+ ### Full-Text Search (全文搜索)
294
+
295
+ 对文本内容进行分词、索引和排名的搜索能力:
296
+
297
+ - **PostgreSQL 内置**:`tsvector`(文档向量)+ `tsquery`(查询向量)+ GIN 索引
298
+ - 支持中文需安装 zhparser 或 pg_jieba 分词扩展
299
+ - 支持权重(A/B/C/D)和排名(ts_rank)
300
+ - **Elasticsearch**:专用全文搜索引擎,功能更强但运维更复杂
301
+
302
+ ### UUID (Universally Unique Identifier)
303
+
304
+ 128 位全局唯一标识符。格式:`550e8400-e29b-41d4-a716-446655440000`。
305
+
306
+ - PostgreSQL 原生支持 UUID 类型和 `gen_random_uuid()` 函数
307
+ - 适合分布式系统中的主键(无需中央分配)
308
+ - 随机 UUID (v4) 会导致 B-tree 索引碎片和页分裂
309
+ - UUIDv7(时间排序)解决索引碎片问题,推荐用于主键
310
+
311
+ ### ENUM (枚举类型)
312
+
313
+ 数据库中预定义的一组命名常量:
314
+
315
+ ```sql
316
+ CREATE TYPE order_status AS ENUM ('draft', 'pending', 'paid', 'shipped', 'completed');
317
+ ```
318
+
319
+ 优点:存储空间小(4 字节)、自带约束、可读性好。
320
+ 缺点:修改值列表需要 ALTER TYPE,不适合频繁变化的枚举。在应用层维护枚举映射通常更灵活。
321
+
322
+ ### 数组类型 (Array Type)
323
+
324
+ PostgreSQL 支持列存储数组值:`INTEGER[]`、`TEXT[]`。
325
+
326
+ - 支持运算符:`@>` 包含、`&&` 交集、`||` 连接
327
+ - 支持 GIN 索引
328
+ - 适合标签、权限列表等简单场景
329
+ - 避免滥用:需要 JOIN 或频繁更新单个元素的场景应使用关联表
330
+
331
+ ---
332
+
333
+ ## 运维与管理
334
+
335
+ ### Connection Pool (连接池)
336
+
337
+ 预先创建并维护一组数据库连接,应用需要时从池中获取、用完后归还。避免频繁创建/销毁连接的开销(TCP + TLS + 认证约 50-100ms)。
338
+
339
+ 常用连接池:PgBouncer(PostgreSQL 外部代理)、ProxySQL(MySQL)、HikariCP(Java)、SQLAlchemy Pool(Python)。
340
+
341
+ ### ORM (Object-Relational Mapping)
342
+
343
+ 对象关系映射,将数据库表映射为编程语言的类/对象,SQL 操作映射为方法调用。
344
+
345
+ 代表框架:SQLAlchemy(Python)、Django ORM(Python)、Prisma(TypeScript)、GORM(Go)、Hibernate(Java)。
346
+
347
+ 好处:开发效率高、防 SQL 注入、数据库可移植。
348
+ 风险:N+1 查询、生成低效 SQL、隐藏性能问题。需要理解 ORM 生成的 SQL 并定期审查。
349
+
350
+ ### Migration (数据库迁移)
351
+
352
+ 以版本化脚本管理数据库 Schema 变更(建表、加列、改索引等)。每个迁移文件包含 up(应用变更)和 down(回滚变更)。
353
+
354
+ 工具:Alembic(SQLAlchemy)、Django Migrations、Prisma Migrate、Flyway(Java)、golang-migrate。
355
+
356
+ 最佳实践:
357
+ - 每个迁移只做一件事
358
+ - 大表 DDL 使用在线迁移工具(gh-ost、pg_repack)
359
+ - 在 CI 中验证迁移脚本可正向和反向执行
360
+
361
+ ### PITR (Point-in-Time Recovery)
362
+
363
+ 时间点恢复,利用全量备份 + WAL 日志将数据库恢复到过去任意时间点的状态。
364
+
365
+ 典型场景:误删数据后恢复到删除前 1 秒。PostgreSQL 通过 `restore_command` + `recovery_target_time` 实现。RPO 取决于 WAL 归档频率(通常 < 5 分钟)。
366
+
367
+ ### VACUUM (清理回收)
368
+
369
+ PostgreSQL 特有的维护操作:
370
+
371
+ - **VACUUM**:标记已删除行占用的空间可重用(不缩小文件)
372
+ - **VACUUM FULL**:物理收缩表文件(需要排它锁,会阻塞读写)
373
+ - **autovacuum**:自动触发 VACUUM 和 ANALYZE,生产环境必须开启
374
+ - 还负责防止事务 ID 回卷(Transaction ID Wraparound)
375
+
376
+ ### 慢查询日志 (Slow Query Log)
377
+
378
+ 记录执行时间超过阈值的 SQL 语句:
379
+
380
+ - **PostgreSQL**:`log_min_duration_statement = 200`(记录 > 200ms 的查询)
381
+ - **MySQL**:`slow_query_log = 1` + `long_query_time = 0.2`
382
+
383
+ 是性能调优的第一手数据源,应在生产环境持续开启。配合 pgBadger(PostgreSQL)或 pt-query-digest(MySQL)分析。
384
+
385
+ ### pg_stat_statements
386
+
387
+ PostgreSQL 的查询统计扩展,记录所有 SQL 的:执行次数、总耗时、平均耗时、最大/最小耗时、I/O 统计(shared blocks hit/read)等。
388
+
389
+ 用于识别高频查询和慢查询。`CREATE EXTENSION pg_stat_statements;` 安装后通过同名视图查询。是 PostgreSQL 性能分析的必备扩展。
390
+
391
+ ### 死锁 (Deadlock)
392
+
393
+ 两个或多个事务相互等待对方持有的锁,导致所有相关事务永远无法继续。数据库通过死锁检测器定期检查等待图(Wait-for Graph),发现死锁后回滚代价最小的事务。
394
+
395
+ 预防措施:
396
+ - 按固定顺序获取锁
397
+ - 缩短事务持续时间
398
+ - 使用乐观锁替代悲观锁
399
+ - 设置合理的 lock_timeout
400
+
401
+ ### 乐观锁 (Optimistic Locking)
402
+
403
+ 假设并发冲突很少发生,读取时不加锁,提交时检查数据是否被修改:
404
+
405
+ ```sql
406
+ UPDATE products SET stock = stock - 1, version = version + 1
407
+ WHERE id = 100 AND version = 3;
408
+ -- affected_rows = 0 则说明被其他事务修改,需重试
409
+ ```
410
+
411
+ 适合读多写少、冲突率低的场景。
412
+
413
+ ### 悲观锁 (Pessimistic Locking)
414
+
415
+ 假设并发冲突频繁,读取时即加锁阻止其他事务修改:
416
+
417
+ ```sql
418
+ SELECT * FROM products WHERE id = 100 FOR UPDATE; -- 行级排它锁
419
+ SELECT * FROM products WHERE id = 100 FOR SHARE; -- 行级共享锁
420
+ ```
421
+
422
+ 锁持续到事务结束。适合写多、冲突率高的场景(如库存扣减、转账)。
423
+
424
+ ---
425
+
426
+ ## Agent Checklist
427
+
428
+ - [ ] 团队成员理解 ACID 与 BASE 的适用场景差异
429
+ - [ ] 索引类型选择正确(B-tree / GIN / GiST / Hash)
430
+ - [ ] 分布式架构中 CAP 权衡已明确记录
431
+ - [ ] 分片键选择已评估数据均匀性和查询模式
432
+ - [ ] MVCC 和事务隔离级别已根据业务场景配置
433
+ - [ ] 复杂查询使用 EXPLAIN ANALYZE 验证执行计划
434
+ - [ ] CTE 和 Window Function 替代了自连接和子查询
435
+ - [ ] JSONB 字段已创建 GIN 索引
436
+ - [ ] 连接池参数已根据并发量调优
437
+ - [ ] Migration 脚本包含 up 和 down 两个方向
438
+ - [ ] PITR 配置已验证可恢复到指定时间点
439
+ - [ ] 慢查询日志和 pg_stat_statements 已开启
440
+ - [ ] 死锁预防策略已在文档中记录
@@ -0,0 +1,39 @@
1
+ ---
2
+ id: data-governance-and-modeling-deep-dive
3
+ title: data-governance-and-modeling-deep-dive
4
+ domain: data
5
+ category: data-governance-and-modeling-deep-dive.md
6
+ difficulty: intermediate
7
+ tags: [and, data, deep, dive, governance, modeling, 数据环节深度知识库]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # 开发:Excellent(11964948@qq.com)
12
+
13
+ ## 数据环节深度知识库
14
+
15
+ ### 目标
16
+ - 构建从数据采集、建模、质量、消费到治理的闭环体系。
17
+
18
+ ### 数据建模基线
19
+ - 主实体和关系先行定义,避免后期结构性返工。
20
+ - 每个实体必须有唯一键、审计字段、状态定义。
21
+ - 高频查询必须有索引策略与容量评估。
22
+
23
+ ### 指标治理
24
+ - 指标必须有统一口径与计算方式。
25
+ - 指标分层:业务指标、运营指标、质量指标、成本指标。
26
+ - 指标变更必须记录影响范围与迁移计划。
27
+
28
+ ### 数据质量
29
+ - 完整性、准确性、一致性、时效性、唯一性检查。
30
+ - 异常数据必须有修复流程和责任人。
31
+ - 高风险报表必须配置对账机制。
32
+
33
+ ### 合规要求
34
+ - 敏感字段分级管理与访问审计。
35
+ - 数据留存和删除策略符合合规要求。
36
+
37
+ ### 常见失败模式
38
+ - 只有报表没有指标字典,导致多版本口径冲突。
39
+ - 采集链路无监控,数据延迟无法及时发现。